from tqdm import tqdm for images, targets, image_ids in tqdm(holdout_loader, total=len(holdout_loader)): 위의 코드처럼 tqdm loop을 만들어서 돌리면 아래와 같이 무식하게 출력된다. 이 문제를 해결하는 법은 매우 단순하다. tqdm은 이미 ipython jupyter를 위해 개발이 되어있다. tqdm을 tqdm.tqdm 대신에 tqdm.atuo.tqdm 혹은 tqdm.notebook.tqdm을 사용하면 된다. from tqdm.auto import tqdm 그러면 아래와 같이 깔끔해진다. 의외로 print를 많이하면 속도가 많이 느려지기 때문에, (그리고 끝없이 쌓이면 메모리가 터져버릴 때도 있습니다.) 이쁘게 보이는..
AttributeError: 'KNeighborsClassifier' object has no attribute 'n_samples_fit_'
2020.07.07
pip install scikit-learn=0.21 AttributeError: 'KNeighborsClassifier' object has no attribute 'n_samples_fit_' scikit-learn 0.21.3 버전보다 높아서 생기는 문제!! 위처럼 0.21 이하 버전으로 설치를 해주면 문제가 사라진다. scikit-learn의 kNN보다는 Approximate knn(ANN)을 사용할 것을 추천한다! :)
1. systemd Linux 환경에서 시스템의 서비스(혹은 데몬)을 관리하기 위해 systemd를 사용합니다. systemd는 sytem과 user 서비스를 모두 지원합니다. 시스템 서비스: 시스템의 고유 systemd 인스턴스 안에서 실행하며, 전체 시스템과 모든 유저를 위한 기능을 제공합니다. 유저 서비스: 특정한 유저에게 묶여있는 분리된 systemd 인스턴스에서 실행합니다. 2. python 코드를 이용한 systemd service 만들기 python 코드를 이용해서 systemd service를 만드는 것은 매우 간단합니다. ~/.config/systemd/user/ 경로에 (여기에 두지 않으면 서비스를 못찾습니다ㅠ) demo.service 파일을 만들고 아래와 같은 내용을 담습니다. (py..
[opencv] ImportError: libSM.so.6: cannot open shared object file: No such file or directory
2020.03.15
python에서 opencv를 설치하고 import 했는데, 다음과 같은 에러가 발생할 수 있다. ----> import cv2 ImportError: libSM.so.6: cannot open shared object file: No such file or directory 이 에러는 두 가지 방법으로 해결할 수 있다. GUI와 관련된 문제 에러다. 첫번째 해결방법은, 관련된 패키지를 업데이트 혹은 설치하는 것이다. apt-get update apt-get install -y libsm6 libxext6 libxrender-dev pip install opencv-python (위의 방법으로 해결이 되지 않을 경우) 두번째 해결방법은, pip install opencv-python-headless aw..
[Google Colab] OSError: [Errno 107] Transport endpoint is not connected
2020.02.27
import numpy as np from google.colab import drive drive.mount('/content/drive',force_remount=True) %cd "/content/drive/My Drive/" 이런식으로 force_remount를 했으나, 아래와 같은 장문의 에러가 발생했다. ERROR:root:Internal Python error in the inspect module. Below is the traceback from this internal error. Mounted at /content/drive Traceback (most recent call last): File "/usr/local/lib/python3.6/dist-packages/IPython/co..
[파이썬] inspect 모듈의 getsource() 함수- 도큐멘테이션을 안보고 함수 구현부를 빠르게 확인하기
2020.02.24
Kaggle의 커널을 리뷰하다가 흥미로운 패키지를 발견했습니다. inspect 패키지인데, 설치는 간단히 pip로 가능합니다. pip install inspect inspect 모듈의 기능은 모듈, 클래스, 함수에대한 정보를 얻는 것입니다. 좀 더 깊이 보면 기능이 다양하지만, 가장 간단한 기능 하나만으로도 매우 유용합니다. 여기서 소개하고자 하는 함수는 getsource() 함수이다. 함수의 구현부 소스코드를 가져옵니다. import inspect from keras.utils import to_categorical print(inspect.getsource(to_categorical)) keras.utils에 있는 to_categorical 코드를 살펴봅시다. 출력 결과는 다음과 같습니다. def t..
[파이썬] python subprocess 가 에러 메세지도 없이 죽었다/사라졌다 dmesg
2020.02.20
서브 프로세스 중 하나가 에러 메세지도 없이 죽었다. 원인을 파악할 수도 없고, 계속 실행하다 보면 어느 한 녀석이 죽어있다. 해답은 파블로프의 개로부터 찾을 수 있었다. https://blog.naver.com/wpdls6012/221817075009 서브 프로세스가 아무 이유 없이 죽어있다 도커 컨테이너 내의 파이썬 프로세스에서 서브 프로세스로 워커를 띄워서 작업을 처리하던 도중서브 프로... blog.naver.com 결과적으로 OS가 죽인 것이었다. 죽은 이유를 찾기 위해서는 dmesg를 아래와 같이 사용하면 된다. dmesg -T| grep -E -i -B100 'Killed process' 그러면 무언가 좌르륵 뜨고, 마지막에 이런 유언이 남아있다. 'Out of memory: Kill pr..
Jupyter Lab을 이용해서 ipynb를 이용한 개발을 많이했었습니다. Jupyter notebook에서 Lab으로 옮겨갔을 때, Terminal을 함께 사용할 수 있어서 매우 편리했었죠. VS Code가 나오더라도, 조금 써보고 계속 Jupyter Lab을 쓰고 있었는데, Live share extension을 보고는 감탄하면서, 와!! 무조건 해야겠다! 하면서 VS Code로 옮겨갔지만, 그 외에는 제게는 잘 안맞더라구요. (사실 원래 진성 Visual Studio + C++ 개발자 였습니다...) 그러던 반복의 삶 속에서... VS Code의 extension이 너무 발달해버린 요즘, 이제는 이전을 정말 무조건 해야겠다! 라는 마음으로 셋팅 중에 있습니다. 평소 쇼핑을 좋아해서 그런지, 사용하지..