-
맥북 M1 Chip GPU에서 pytorch 실행
맥북 M1 Chip는 Nvidia 그래픽카드를 사용하지 않는다. Apple 자체 개발한 M1 Chip을 사용하며, 이 아키텍처는 CPU와 GPU가 메모리를 공유하는 구조로 되어 있다. 따라서, NVIDA 그래픽카드 메모리에서 구동하도록 만들어진 CUDA 를 사용하지 못한다. pytorch + GPU를 사용하는 대부분 실험과 Application이 CUDA를 사용하는 것을 고려할 때, 이것은 매우 심각한 문제라고 할 수 있다. 그러나, 애플에서 이부분을 고려하지 않을리 없다. 애플 또한 CUDA에 해당하는, M1 Chip의 GPU가속을 사용하도록 지원하는 프레임워크 "MPS"를 지원하고, pytorch 또한 이 MPS를 지원한다. MPS가 세팅되었는지 확인하기 위해서 다음과 `torch.backends.m..
2023.11.13 17:33 -
JupyterLab javascript error - Interactive Widget 실행 에러
1. JupyterLab Interative Widget 실행 에러 경우 JupyterLab에서 ML 모듈을 실행 시킬 때, Interactive Widget을 사용하는 경우가 있다. 본인이 사용하는 경우도 있고, Hugging Face 등에서 제공하는 라이브러리를 사용하면 내부적으로 사용하는 경우도 있다. Google Colab, 혹은 다른 Jupyter Lab 을 SaaS로 제공하는 경우는 버전 매핑을 잘 해두었겠지만, Local에서 설정하는 경우 간혹 버전이 맞지 않는 경우가 존재한다. 다음 사례는 Interactive Widget을 사용하는 경우 javascript가 구동되지 않는 사례이다. 위와 같인, JupyterLab에서 Web Page 처럼 Interactive한 Component 사용하는..
2023.11.13 11:34 -
2023년 1분기 근로자 산업안전보건교육 TEST
다시 돌아온 산업안전보건교육 법정 의무 교육이라서 정해진 시간만큼 교육이수를 필수로 해야하고요. 당연히 시험도 있습니다. 이게 현장에서 뛰시는 분이 아니라면, 체감도 되지 않고 무의미한 시간으로 여겨지기도 하는데요. 몇몇 사항은 도움이 되기도 하지만 대다수는 의미 없어 보이는 내용들입니다. Q.01 다음 중 사무실에서 근무하는 근로자의 건강장해를 예방하기 위한 효과적인 방법이 아닌 것은? 1) 사무실 실내오염물질을 파악해야 한다 2) 사무실 공기질을 적정수준으로 관리해야 한다 3) 실내명암차이가 심하고 직사광선이 잘 들어오는 구조를 유지한다 4) 컴퓨터를 이용하여 장기간 앉아서 근무하는 근로자의 건강을 관리해야 한다 정답) 3 설명) 사무실에서 근무하는 근로자의 건강장해를 예방하기 위해서는 첫째, 사무실..
2023.04.03 13:40 -
[Mac OS] zsh 테마 프롬프트 (cmd prompt) 변경
필자는 Mac/Linux 환경에서 `iTerm2 + ZSH + Oh-my-zsh` 조합으로 Terminal을 커스터마이징 하여 사용중이다. 이제는 맥북에서 기본 shell을 ZSH을 사용하기 때문에, 아마도 많은 유저가 필자와 유사한 환경으로 사용중일것 으로 추정하고 있다. 일단, 기본 터미널 세팅을 사용하면, 터미널이 너무 밋밋할 뿐만 아니라 이로 인하여 가독성이 떨어진다. 개발 IDE와 터미널 사용 시간이 거의 비슷한 필자 입장에서, 터미널의 가독성은 생산성과도 직결된다 할 수 있다. 따라서, 터미널의 환경 설정 또한 상당히 예민한 편이다. 필자가 사용하는 터미널 (Terminal) 환경과 테마 적용에 대한 내용은 아래 포스팅을 참조하면 된다. [관련글] 2020.06.01 - [IT 이야기/IT 상..
2023.02.15 17:08 -
[Mac OS] Python GUI 프레임워크/라이브러리 - PyQt5 설치 시 정지 (Hang) 현상 해결
Mac OS 환경 Python GUI 일반적으로 Python 환경에서 Gui 환경을 구축하는 것은 별다른 작업을 요구하지 않는다. 대표적인 Python GUI 라이브러인 TKinter는 Python 내장 라이브러리 이므로, pip install을 통해서 한번에 환경을 구축할 수 있다. [ Python 주요 GUI 라이브러리 ] TKinter - 참조 : https://076923.github.io/posts/Python-tkinter-1/ (장점) 무지 쉽다. 빠르게 UI를 구성할 수 있다. 따로 설치할것이 별로 없다. (단점) 단순하다. UI가 복잡해지면 Layout이 어렵다. PyQt4, PyQt5, 최근 PyQt6 - 참조 : https://wikidocs.net/35478 (TKinter는 복잡한..
2023.02.15 15:19 -
[SSH] SSH 연결 자동화 설정 개념/config/문제해결
매번 SSH 연결.... 귀찮아~ Linux/Mac 및 Cloud 환경에서 개발을 하게 되면, 필연적으로 SSH 연결을 사용하게끔 된다. Windows 환경에서는 Putty, WinSCP 등을 사용하여 GUI 환경에서 연결하고, 자동화하는 수단이 다수 제공하고 있다. 그러나, Linux or Mac 등에서는 이러한 자동화 혹은 GUI 툴이 부족한 편이다. 그도 그럴것이, Terminal에서 기본적으로 OpneSSH Remote Login Client를 지원하기 때문에, 굳이 별도의 Application의 사용 필요성을 느끼지 못하는 부분도 있다. 그러나, 개발과 원격접속이 반복됨에 따라서 이러한 부분도 점점 귀찮아지는 상황이 발생하곤 한다. OpenSSH의 모든 기능을 이야기 하려면 끝도 없기 때문에, ..
2023.01.27 17:56 -
[MacOS/Linux] 자꾸 패킷을 날리는 것은 누구인가? (ft. netstat, lsof, Streamlit)
Python FastAPI로 간단한 RestAPI 서버를 테스트 중입니다. (클라우드 서버에서) 그런데, 해당하는 개발 서버에 지속적으로 패킷을 발송(Send)하는 대상이 있습니다. 지속적으로, "GET /healthz"를 보내고 있습니다. 처음에는 그냥 그런가보다 했는데, 자꾸 발송하니 테스트에 방해가 되었습니다. 1) Log를 확인해 봅니다. 2) 대상 출발지를 확인해 봅니다. 3) 대상 IP를 확인하니, 어처구니 없게도 본인의 공인 아이피 입니다. 헐~ 테스트중인 POSTMan, Proxy 등은 /healthz 라는 URI를 호출하지 않습니다. 그렇다면, 내 개발장비의 어느 프로세스 인가가 계속 루프를 돌면서 호출하고 있는게 분명합니다. 누구냐..? 넌..? 나를 귀찮게 하는 것은 누구인가? 4) ..
2023.01.26 22:03 -
[Python] 패키지 배포 리스트 관리 (ft. Requirements.txt 포맷팅 오류)
이번 포스팅이서 다루고자 하는 내용은 Python 소스를 배포하고 구동하는 발생하는 어려움 중 하나의 대해서 이야기 하고자 한다. 결론부터 이야기하면, Python 소스를 배포할 때 사용하는 패키지 리스트 (requirements.txt)가 간혹 호환성 (Compatible)이 없을 때가 있다. 필자의 경우는, 이런경우를 수정하고 배포하거나 검증/수정을 하는데, 다른 개발자가 개발한 배포 버전에서 이런 부분이 다수 발견되었다. 다른 분들도 이런 경우가 발생하지 싶어서 포스팅을 남겨 본다. [순서] 1) Python 패키지 배포 (기본사항 리마인드) 2) Python 패키지 리스트 중 발생 가능한 이슈 3) 문제 발생 원인 4) 문제 해결 방안 [결론] 일관된 requirements.txt 포맷을 출력하기..
2023.01.18 16:09 -
[줌/구글미트] 온라인 회의 가상 배경 사진 모음-1
온라인 회의를 진행하다 보면, 배경 (가상 배경) 화면을 새롭게 설정하거나, 변경하고 싶은 경우가 있다. 또한, 회의 성격에 따라서 그에 걸맞게 변경하면, 센스가 남달라 보이기도 한다. 줌 또는 구글미트에서는 기본 배경을 제공하지만, 너무 식상하기도 하다. 이러한 이유로 온라인 가상 배경을 모아 두고자 하는 Needs 생겼다. 모아 두었던 배경 이미지를 공유해 본다. 출처 : unsplash
2023.01.18 13:31 -
[Azure] Azure 웹앱(App Service)으로 API 서버 만들기 - 1
[요약] Python/Flask 소스 준비 Azure Portal에서 App Service 생성 -> 일단 source 는 설정하지 않음 App Service > 배포센터 > 코드 : Local Git으로 설정 App Service > 구성 > LocalGit/FTP 인증정보 (Credential) 확인 Local PC/개발PC의 Terminal에서 Git Push (인증정보와 함께) Python/Flask는 Azure App Service Container에서 Default Setting 되어 있어서 별다른 할것이 없음 (단순함) FastAPI 등 기본지원 하지 않는 WSGI는 추가 설정을 해야함 JAVA/Node 등과 같이 Build Process가 포함된 부분은 Build에 관련한 설정이 필요 0...
2023.01.07 13:55 -
[Conda-Jupyter] Conda 가상환경과 Jupyter Kernel 연동/생성/삭제
2022.06.17 - [분류 전체보기] - Python 가상 환경 관리 4종 - venv / virtualenv / ipykernel 2022.12.06 - [개발 이야기/Python] - [Jupyter Kernel 추가] conda 가상환경을 jupyter Kernel로 추가하기 2022.09.19 - [개발 이야기/Python] - [주피터노트북 커널] jupyter lab/notebook kernel 2022.06.17 - [분류 전체보기] - Python 가상 환경 관리 4종 - venv / virtualenv / ipykernel 2020.06.04 - [개발 이야기/Python] - [파이썬] Anaconda x Jupyter notebook 설치 및 설정 방법 - 가상환경으로 파이썬 개발..
2022.12.06 20:17 -
[Mac OS] 배터리 충전 관리 (Charge limiter) - ft. AlDente
필자는 MacBook을 DeskTop 처럼 사용한다. 이동용이라기 보다는 모니터 2대 + MacBook Screen (총 3대) 또는 크림쉘 모드로 사용한다. 사실, Desktop이 있어도 잘 사용을 안해서 처분 했다. 게임도 잘 안하는 지라... 게임할 때는 전용 게임기로.. 이렇듯 나에게 있어서 MacBook은 이동용이 아니기 때문에 대부분의 시간에 전원 케이블 (Mac Safe)이 연결되어 있다. 따라서 당연하게도 Mac OS에서 충전 배터리 관리를 잘 해줄 것으로 믿고 항시 전원 케이블 연결로 사용해 왔었다. 리튬 배터리를 사용할 텐데, 배터리 충전 관리는 알아서 해 주겠지...? 당연하지... 스마트하게 배터리 충전 관리 해 주지.. 정말 ?? Mac OS의 배터리 관리 기능 - 배터리 최적화 ..
2022.11.07 12:28 -
[맥북 Ventura] 배터리 잔량 퍼센트 보기 - ft. 제어 센터
Mac OS Ventura - 다양한 UI 변화 최근 Mac OS Ventura로 OS 업그레이드를 진행했습니다. 그런데, 이전 업데이트 들과는 달리 Ventura에서는 UI가 상당수 많이 변경이 되었습니다. 특히, "설정" UI는 아예 다른 스타일로 변경이 되었습니다. 기존에는 바둑판식 UI 였습니다만, 이번 Ventura에서는 좌우 창을 나누고 왼쪽에 리스트 형태로 나열 되어 있는 형태로 바뀌었습니다. 마치 설정창 또한 Finder 같은 UI로 동일화 한것 같습니다. 개인적으로는, 기존의 설정 UI가 익숙하고 좋았는데, Ventura도 나름 정리는 잘 되어 있는 것 같습니다. PS. Ventura 업데이트에서 "스마트 메니저", "iOS 스크린 연동" 등 큼직한 업데이트가 있어서 이번 Ventura ..
2022.11.07 10:14 -
[MacOS] 백틱(`) 입력 - 원화(₩)입력 변경 to BQuote(`)
신규 맥북을 구매하거나 다시 설치하고 나면 여러가지 설정이 초기화 된다. 가령, 백틱 (`) 입력이 제대로 되지 않는 등의 일 말이다. 맥북에서 백틱(`)으로 입력을 어떻게 해야 하나? Mac OS를 새롭게 설치 혹은 맥북을 이제 막 구매하면, MacOS는 한글에 최적화 되어 잇는 것은 아니라는 것을 알 수 있다. 따라서, 기존에 사용하던 습관 그대로 사용하려면 몇가지 설정을 수정해 주어야 한다. 대표적인 예로, 한글 입력 모드에서 백쿼테이션(백틱`) 입력이 되지 않는 것을 예로 들 수 있다. 특히, 마크다운(Markdown)을 자주 사용하거나, Slack/Attlasian 등 마크다운 스타일 입력을 지원하는 업무용 툴을 사용함에 있어서 백틱의 입력 부재는 매우 불편함을 유발한다. 맥북 원화표기(₩)를 ..
2022.10.31 16:03 -
[MacOS - ZSH] 유용한 플러그인 2종 - 자동완성/하이라이트
맥북 M1 Pro로 PC를 변경했습니다. 세팅할게 많네요 ^^ 2020.06.01 - [IT 이야기/IT 상식] - [맥북] 맥북 터미널을 이쁘게 - ZSH 초간단 설치와 커스터마이징 (zhs + iTerm2) ZSH 의 유용한 플러그인 2종 - AutoSuggestion, Highlighting ZSH을 취향에 맞는 테마로 구성했다면, 몇가지 유용한 Plugin을 설치할 수 있다. 대표적으로, 자동 완성과 하이라이팅 플러그인 이다. 거의 필수적으로 사용되는 플러그인이다. Oh-My-ZSH을 사용하는 경우, 매우 쉽게 Plugins 기능을 설치/적용할 수 있다. 1) 자동완성 플러그인 : AutoSuggestions 2) 하이라이팅 플러그인 : Syntax Highlighting 설치하고자 하는 각 플러..
2022.10.20 22:28 -
[주피터 노트북 커널] jupyter lab/notebook kernel
지난번 포스팅에서는 conda를 이용하여 가상환경을 생성/확인/삭제 등에 대하여 알아 보았다. conda 가상환경에 대한 글은 아래 글을 참조 바란다. 2022.09.19 - [IT 이야기/IT 상식] - [Python 가상환경] conda 설치 및 가상환경 (feat. 내부 로직 & cheat sheet) 그런데, conda에서 가상환경을 생성하였다고 하더라도, Jupyter Lab 또는 Jupyter Notebook에서는 신규 생성한 가상환경으로 시작할 수가 없다. 물론, 가상환경으로 변경(conda activate) 후에 jupyter Lab 서비스 구동 자체 다시 시작하면 해당 가상환경으로 Jupyter를 사용할 수 있기는 하다. 그러나, 매번 Jupyter 서비스를 다시 재구동 할수는 없지 않겠..
2022.09.19 23:06 -
[Python 가상환경] conda 설치 및 가상환경 (feat. 내부 로직 & cheat sheet)
Python을 사용하는 User들에게 ananconda (conda)는 매우 익숙한 패키지 관리자이다. 그러나, 익힐것이 많은 우리는 매번 conda 명령어가 가물가물하다. 또한, pip 명령어와, 명령어간 순서가 종종 혼동되기도 한다. env 인가? envs 인가? 오늘날, 이런 명령어 하나 하나를 모두 기억하고 살기에는 우리가 기억하고 있어야 할것이 너무 많다. 또한, 종종 내부 로직을 이해하면 외우지 않아도 자연스럽게 암기가 되기도 한다. 내부 로직/원리를 함께 살펴 보자. conda : 패키지 설치 / 버전 conda에서 가장 자주 사용하는 것은 당연히 패키지 설치 일것이다. $ conda install ... ex) $ conda install numpy pandas 기존에 설치한 버전의 업데이..
2022.09.19 21:54 -
[App] Android compileSdkVersion Error (ft. API 버전)
컴파일 에러 : 개발자에게 가장 싫어하는 에러 안드로이드 앱 개발 혹은 Cross Platform App 개발하면서, 아래와 같은 "CompileSdkVersion Error"를 종종 만나게 된다. 특히, 프로젝트 세팅을 처음부터 시작한 것이 아니라, Template 또는 Skeleton Project로 부터 시작하는 경우에서 발생이 빈번하다. Your project requires a higher compileSdkVersion. ㅜ_ㅜ 이런 컴파일류의 에러가 발생하면 처음에는 매우 당혹스럽기만 하다. 왜냐하면, 아직 아무것도 하지 않았기 때문이다. 아직 시작도 않해봤는데, 바로 컴파일 에러부터 발생하면, 환경 세팅 문제인데 이런류의 에러는 한번 꼬이면 잡아내기가 무척 까다롭기 때문이다. 다행이 이번 ..
2022.09.13 15:41 -
[텐서플로우 - TFIO] 텐서플로우 io 에러 (NotImplementedError)
Tensorflow IO (TFIO) Tensorflow_io는 GPU를 사용하여 파일 로드, 디코딩, 전처리 등을 빠르게 할 수 있어서 매우 유용한 툴이다. 필자 또한 다수의 파일을 읽고 전처리할 때 사용하고 있다. 처음에는, 각 파일별로 전처리한 결과를 저장해 놓고 그때 그때 저장해둔 전처리 결과물을 로딩하여 사용했으나, Tensorflow_io를 사용한 이후 부터는 실행하는 Runtime 시점에 파일로딩->전처리까지 실시간으로 처리하여도 속도 측면에서 뛰어남을 체감하고 있다. 더욱이, 전처리하는 과정에서 일부 수정이 발생하면, 미리 저장해둔 전처리 결과물을 재 생성해야 한다. 이 때문에, 전처리 과정에서 파라미터 변경 등에 따른 실험이 필요하다면 필수적으로 Tensorflow_io를 사용하게 될 것..
2022.09.06 10:35 -
산업안전보건교육 2022년 3분기 비사무직
산업안전보건교육 2022년 3분기 비사무직 1 [O/X 문제] 저는 조리사로 매일 조리용 장화와 장갑을 사용하고 있습니다. 가끔 일반 장화를 사용할 때가 있는데 이것도 위험성 평가 시 유해∙위험요인 항목에 포함될까요? (5점) 1. O 2. X 해설 닫기 정답 : 1번 해설조리실은 특히 물기와 기름기가 많기 때문에 미끄럼방지 장화를 신어야 합니다. 이외에도 위험성평가에서는 조리용 장갑, 조명등 간격, 코드 위치 등을 점검합니다. 2 다음 중 위험성평가의 특징으로 올바른 것은 무엇인가? (5점) 1. 체계적으로 문서화하고 지속적으로 수정 · 보완하며 조직적 · 과학적인 방법으로 진행된다는 것이다. 2. 감각적 또는 경험적으로 ‘이것은 위험하다’ 고 판단한 것 만을 평가대상으로 한다. 3. 유해·위험 요인을..
2022.08.25 18:39