분류 전체보기
-
[PyTorch 에러] Pytorch RuntimeError: stack expects each tensor to be equal sizeProgramming Error/PyTorch 2021. 7. 18. 15:13
PyTorch로 이미지 처리를 하다보면 한 번씩 마주해볼 수 있는 에러인데요. 기존에 쉽게 불러올 수 있는 CIFAR-10 이나 MNIST 같은 데이터가 아닌 개인 데이터들을 사용하다보면 각 이미지마다 Size가 다를 수 있습니다. 그래서 torch의 Dataset, DataLoader를 구현해서 사용하고, Dataset 내에서 torchvision이나 albumentation을 통해 Transforms를 정의해서 Resize, Flip 등의 Augmentation을 하실 텐데요. 이 때, 각 이미지마다 Size가 다른 경우에 동일한 Size로 Resize를 시켜주지 않으면, 위와 같은 오류가 발생하게 됩니다. 이는 Array나 Tensor는 각 차원이 모두 동일해야 Batch 형태로 묶어줄 수 있기 때..
-
[PyTorch DataLoader Num_workers 관련 에러]Programming Error/PyTorch 2021. 7. 13. 23:45
PyTorch의 DataLoader는 학습 데이터를 효율적으로 읽어오기위해 필수적으로 사용됩니다. DataLoader 중에서 num_workers라는 인자가 있는데 이는 데이터 로딩을 하기위해 몇 개의 CPU 프로세스를 사용할 것인지를 의미합니다. GPU에 데이터를 전달해주기 위해 적절한 수의 num_workers를 지정해줄 필요가 있습니다. 여기서는 num_workers 관련 에러에 대한 이슈를 다룰 것이므로 더 자세한 설명은 해당 블로그에서 잘 설명되어 있으니 참고하시면 될 것 같습니다. 우선 제가 num_workers 관련해서 마주한 에러는 다음과 같이 두 가지가 있었습니다. 1. BrokenPipeError: [Errno 32] Broken pipe 2. RuntimeError: DataLoade..
-
[PyTorch Warning] W accumulate_grad.h:170 Warning: grad and param do not obey the gradient layout contract.Programming Error/PyTorch 2021. 7. 13. 16:41
[W accumulate_grad.h:170] Warning: grad and param do not obey the gradient layout contract. This is not an error, but may impair performance. grad.sizes() = [64, 768, 1, 1], strides() = [768, 1, 1, 1] param.sizes() = [64, 768, 1, 1], strides() = [768, 1, 768, 768] (function operator()) PyTorch Framework로 모델을 학습하는 도중에 다음과 같은 Warning을 만났습니다. Error는 아니고 Warning이라 넘어갈까했지만 may impair performance 성능을 ..
-
[OpenCV 오류] error: OpenCV -209:Sizes of input arguments do not matchProgramming Error/Python 2021. 7. 11. 14:18
error: OpenCV(4.4.0) pip-req-build-wef8acrf\opencv\modules\core\src\arithm.cpp:669: error: (-209:Sizes of input arguments do not match) The operation is neither 'array op array' (where arrays have the same size and the same number of channels), nor 'array op scalar', nor 'scalar op array' in function 'cv::arithm_op'. Python을 사용하던 도중 cv2.multiply 함수를 사용할 일이 있었는데 3채널과 1채널짜리의 동일한 H,W 크기의 이미지를 서로 곱해..
-
[Pandas interpolate 함수 동작하지 않는 현상]Programming Error/Python 2021. 7. 1. 19:08
아래 그림과 같이 DataFrame을 사용할 때 결측값이 존재하는 경우, pandas에 내장된 interpolate 함수를 사용하여 채우는 경우가 있습니다. df = df.interpolate(method='linear') 그런데 위 함수를 사용하여도 NaN이 채워지지 않고, 그대로 있는 경우가 발생합니다. 이는 아래와 같이 Data의 타입이 object인 경우에 발생합니다. df['column1'] = df['column1'].astype('float') 따라서, float형태로 변환후 interpolate를 수행하면 정상적으로 작동합니다.
-
[OpenCV 오류] cv2.error: OpenCV(4.5.2) :-1: error: (-5:Bad argument) in function 'resize'Programming Error/Python 2021. 6. 7. 16:35
cv2.error: OpenCV(4.5.2) :-1: error: (-5:Bad argument) in function 'resize' 위 명령어는 OpenCV-python를 사용할 때, resize 명령어로 이미지 크기를 조절할때 발생하는 명령어입니다. 원인은 이미지의 shape이 맞지 않거나, 이미지(Array)의 Type이 맞지 않아서 발생합니다. 1) img.shape을 print하여 None 타입이 아닌지를 확인 2) img의 Type이 Python의 기본 int인 경우에 발생합니다. 그럴 경우 아래와 같이 Type을 uint8 or 16, int16으로 바꿔주면 정상적으로 Resize가 됩니다. 픽셀 값의 범위가 0~255가 아니라 0~1인 경우 np.float32를 주면 됩니다. img = ..
-
[Ubuntu 무한 로그인 현상 with Chrome Remote Desktop]Programming Error/Ubuntu 2021. 6. 6. 23:24
Ubuntu 환경에서 Chrome Remote Desktop 원격을 사용하기 위해 설치를 하고, 재부팅을 했는데 로그인 창에서 비밀번호를 눌러도 다시 로그인 창이 뜨는 무한 로그인 현상을 마주했습니다. 구글을 검색해보면 다양한 이유로 무한 로그인 현상이 발생하는데, lightdm, nvidia-driver 관련한 해결 방법들을 시도해봐도 해결되지 않는 문제가 있었습니다. 현재 발생한 문제는 Chrome Remote와 관련한 무한 로그인 현상으로 Chrome Remote를 종료시키면 해결되는 문제입니다. 따라서, Ctrl + Alt + F1을 통해 tty 모드로 접속 후, 아이디와 비밀번호를 입력하여 Command창에서 아래의 코드를 실행하면 chrome-remote가 멈추게되고, Ctrl + Alt + ..
-
[PyTorch Cuda 오류] cuda error: device-side assert triggeredProgramming Error/PyTorch 2021. 6. 6. 19:34
cuda error: device-side assert triggered PyTorch 뿐만 아니라 Tensorflow를 사용하다보면 위와 같은 에러를 자주 마주했을거라 생각합니다. 위 오류는 GPU를 사용하다보면 나올 수 있는 가장 추상적인(원인이 매우 많음) 에러입니다. 따라서, 위 에러만 보고서는 어떤 것에 문제가 생기는지 알기가 힘듭니다. 이를 해결하기 위해 우선, 해당 .py 파일 또는 Notebook 가장 위에 아래의 코드를 삽입합니다. import os os.environ['CUDA_LAUNCH_BLOCKING'] = "1" os.environ["CUDA_VISIBLE_DEVICES"] = "0" 그리고, 코드를 실행하면 조금 더 구체화된 에러 메시지가 나오게 됩니다. 제가 겪었던 경우 중 ..
-
[Pandas 설치 후 Import Error] No module named 'six' not built. If you want to import pandas from the source directory,Programming Error/Python 2021. 6. 6. 17:59
No module named 'six' not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --force' to build the C extensions first. 위 에러는 pip로 pandas를 설치했을 때, 발생하는 에러입니다. conda install pandas 따라서, Anaconda를 사용하신다면, conda로 설치시 간단하게 해결이 됩니다.
-
[Numpy 설치 후 Import Error] Import Error: numpy.core.multiarray failed to importProgramming Error/Python 2021. 6. 6. 17:51
Import Error: numpy.core.multiarray failed to import 저 같은 경우에는 PyTorch를 import할 때, 위와 같은 에러가 발생하였는데요. 이는 PyTorch 내부에서 Numpy를 불러올 때, 버전 차이 문제때문에 발생한 것으로보입니다. pip install --upgrade pip pip install --upgrade numpy 위를 통해 pip와 Numpy 버전을 업그레이드 하시면 해결이 될 것입니다. Anaconda를 쓰시면서 이미 최신버전이라고 뜨는 경우에는, Conda와 Pip간의 충돌이 발생하여 안되는 것으로 생각됩니다. 이 때는, 아래와 같은 코드로 pip의 numpy를 지우고 conda-forge를 통해 설치하면 해결이 될겁니다! pip unin..