본문 바로가기

개발 이야기/머신러닝, 딥러닝30

Colab환경 YOLOv4 커스텀 데이터 학습 중 오류 발생 및 해결 YOLOv4 커스텀 데이터 학습 중 오류 발생 및 해결 YOLOv4 학습 중 100 epoch 후에 중간 저장을 하는 중 아래와 같은 오류로 진행이 안되는 문제가 발생했습니다. 이의 원인을 분석하고 해결한 방법을 공유 드립니다. 개발환경 - Google Colab 문제 발생 custom dataset 학습을 진행 하는 중 epoch 100개를 넘어가면서 중단되는 상황 발생. 에러메세지는 아래와 같다. Saving weights to mydrive/yolov4-obj_last.weights Couldn't open file: mydrive/yolov4-obj_last.weights 원인 별 해결방법 문제의 원인은 무조건 경로에 있다. darknet에서 중간 저장을 진행하며 weight파일을 정상적으로 저장.. 2021. 7. 13.
[문제해결] Conda환경에서 Jupiter notebook 실행 시 No module Named 뜨는 문제 해결!! 문제 Conda 가상환경에서 Jupyter notebook을 열어서 내가 정성들여 설치한 패키지들을 import 요청했을 때 no module named ~~~가 뜨는 현상이 발생했다. 이런저런 별의 별 방법을 다 써봤지만 되지 않았다.. 난 분명히 내 가상환경에서 패키지를 설치했고, 이를 정상적으로 import 한건데 왜 import error가 뜨는건지 정말 답답했다. 하지만 문제는 아주 심플하게 해결되었다. 내 가상환경에서 jupyter notebook을 설치해 줘야 한다는 것. 이 문제는 내 가상환경 안에 jupyter notebook이 설치 안됐음에도 실행 되는 것에서 발생한다. 해결방법 anaconda terminal에서 아래 두개만 쳐주면 해결 된다. #내 가상환경 활성화 activate #.. 2021. 6. 11.
[문제해결] No module named 'PyPDF2' : PyPDF2 설치 했는데 jupyter에서 인식이 안될 때 제목 그대로 PyPDF2를 설치했는데, Jupyter notebook에서 죽어라 인식이 안됩니다. anaconda 가상환경에서 conda install 로 패키지를 설치 한 후 jupyternotebook을 실행했을 때 설치 인식이 안되는 문제입니다. 해결방법 알아봅시다. 1. 시도해 본 방법 1) jupyter kernel 문제인가? kernel 변경 : Nope 2) pip이 아니고 pip3나 conda로 설치해야되나? : Nope 3) python 경로 잘못됐나? : Nope 4) 공식 문서 지원 파이썬 버전 확인 : Problem PyPDF2 is compatible with Python versions 2.6, 2.7, and 3.2 - 3.5. 흠, 파이썬 버전을 확인해 본 결과 제가 쓰는 파.. 2021. 6. 9.
파이썬 리스트에서 특정 문자열을 포함한 원소와 원소의 인덱스를 찾는 법 2021.03.11 - [개발 이야기/Python, Machine Learning] - [딥러닝 첫걸음] 파이썬 OCR 라이블러리 - pytesseract로 OCR 해보기(이미지 문자 읽기) 파이썬의 리스트에서 특정 문자를 포함한 원소를 찾아보고 그 인덱스를 추출하는 법을 알아보자. 예를 들자면 과일 리스트에서 "베리"가 들어간 원소를 찾는 거다. 말이 나온김에 위의 예시와 같이 과일 리스트에서 "베리"를 포함한 원소만 추출해보자. fruit_list = ['딸기', '바나나', '블루베리', '블랙베리', '오렌지', '사과', '스트로베리'] #리스트 컴프리헨션 사용 matching = [s for s in fruit_list if "베리" in s] print(matching) 결과는 그러면 베리가.. 2021. 5. 26.
[딥러닝 첫걸음] YOLOv4 삽질_CUDA 버전, cudart64_110.dll CuDNN , tensorflow 버전 문제 YOLOv4를 사용해야하기 전까지 나는 행복했었다. 하지만 YOLOv4 사용 오류와 함께 나의 저녁 시간은 휭 날아갔다 실수는 하되 같은 실수로 시간낭비를 하지 말자 기존 환경 tensorflow-gpu 2.4 CUDA 11.2 + 호환 Cudnn 하지만 YOLOv4로 짠 코드를 돌리려고 하니 오류가 떠서 찾아보니 YOLOv4에서는 CUDA10.2 만 호환 된단다. 그래서 CUDA 11.2를 지우고 10.2를 재설치했다. 그리고 CUDA버전에 맞는 CuDNN도 재설치 했다. 그랬더니 tensorflow가 CUDA11을 찾는다. 알았다고.. tensorflow-gpu 2.3.0을 다시 깔아준다. tensorflow는 왜 2.1.0이 깔려있지? 2.3.0으로 깔아준다. 근데 이친구가 cudart64_101... 2021. 5. 13.
[딥러닝 첫걸음] Object Detection 모델의 성능평가 방법 mAP(mean average precision) 쉽게 쉽게 알아보자 Object Detection(물체 검출) 모델의 성능 평가는 Precision-Recall 곡선과 Average Precision(AP)로 평가한다. 각 용어를 쉽고 자세하게 이해해 보는 시간을 가져보자.Keyword : Precision, Recall, Confusion Matrix, PR Curve, IoU, Interpolation, AP, mAPPrecision과 Recall의 이해Precision은 정밀도를 뜻하고, Recall은 재현율을 뜻한다. 하나씩 자세히 알아보자. 1. Precision (정밀도)Precision은 모든 검출 결과 중 옳게 검출한 비율을 의미한다. 이는 다음과 같은 식으로 표현할 수 있다. TP : True Positive = 검출한 결과가 옳은 것 = 기계가 맞다고 .. 2021. 5. 3.
[딥러닝 첫걸음] OpenCV - dilate, erode (수학적 형태학) 쉽게 이해하고 넘어가기 내가 목표로 하고 있는 문자열이 pytesseract로 읽히지 않았다. 아마 글자가 겹쳐져 보여서 이거나 이미지가 작아서 이거나.. 이미지를 기계가 읽기 좋게 변환을 해야 하는데, 여러가지 방법들이 있겠지만 첫번째로 찾게 된것은 OpenCV가 제공하는 dilate와 erode 기능이었다. 무슨 뜻인지 확실히 이해하고, 어떤 기능을 할지, 내 연구에는 도움을 줄지 알아보자. 간간히 어려운 내용이 나오는데 넘어가길 바란다. 그 뒤에 아주 쉽게 설명 해 놓을 거니까. 수학적 형태학 (대충 뭔지 알고만가자) 수학적 형태학(영어: Mathematical morphology, MM)은 집합론, 격자론, 위상수학, 그리고 무작위 함수에 기반한 기하학적 구조를 분석하고 처리하는 이론과 기술이다. MM은 대부분 디지털 .. 2021. 3. 11.
[딥러닝 첫걸음] 파이썬 OCR 라이블러리 - pytesseract로 OCR 해보기(이미지 문자 읽기) 이미지에 있는 문자를 문자열로 반환하는 코드를 파이썬으로 짜보도록 하자. OCR은 Optical Character Recognition의 약자로 사람이 쓰거나 기계로 인쇄한 문자의 영상을 이미지 스캐너로 획득하여 기계가 읽을 수 있는 문자로 변환하는 것을 뜻한다. 오늘 파이썬에서 사용할 라이브러리는 pytesseract이다. 테서랙트(Tesseract)는 다양한 운영 체제를 위한 광학 문자 인식 엔진이다. 이 소프트웨어는 Apache License, 버전 2.0,에 따라 배포되는 무료 소프트웨어이며 2006년부터 Google에서 개발을 후원했다. Colab을 사용할 것이고, Colab에서 기본적으로 지원되는 라이브러리가 아니기 때문에 설치가 필요하다. Colab이 아니라 PC에서 작업 중이라면 코드 내용.. 2021. 3. 11.
[딥러닝 첫걸음] Colab에서 tesseract-ocr 라이브러리 사용하려면 Colab에서 OCR 기능을 가진 tesseract-ocr 라이브러리를 사용하기 위해서는 우선 설치가 필요합니다. 파이썬에서 사용하는 pytesseract 패키지도 함께 설치해 줍시다. 로컬환경에서 Jupyter notebook을 이용하고 있다면 또 다른 이야기가 됩니다. 참고해 주시기 바랍니다. Colab에서 tesseract 설치하기 아래와 같이 Colab 코드블럭에 설치 명령어를 입력하세요. !sudo apt install tesseract-ocr !pip install pytesseract 설치가 완료되었네요. 잘 불러와지는걸 확인했습니다. 이제 pytesseract를 이용하여 OCR을 실행하는 방법을 실습 해봅시다. 2021.03.11 - [언어/Python] - [딥러닝 첫걸음] 파이썬 OCR.. 2021. 3. 11.
[딥러닝 첫걸음] Colab, Jupyter notebook에서 PIL 명령어 show로는 이미지가 안열리는 현상 해결 Colab에서 PIL 명령어로 show로 이미지가 안열리는 현상을 발견했다. 이 이유에 대해 알아보고 해결법을 알아보자. 먼저 PIL은 뭐고, Colab은 뭐냐? PIL (Pillow) PIL 명령어는 이미지를 열고 가공하고 저장하는데 유용한 라이브러리다. IPython Colab, Jupyter notebook은 IPython 을 이용한 명령쉘이며 웹에서 대화형 코딩을 할 수 있게 해주어 우리에게 많은 편리함을 가져다 주고 있다. 이런 IPython 상에서 문제가 있으니, 아래의 명령어가 듣질 않는 것이다. from PIL import Image pil_img = Image.open('stock.png') pil_img.show() 이렇게 하면 원래라면 stock.png 이미지가 출력되어야 하는데, 나.. 2021. 3. 10.
[딥러닝 첫걸음] Matplotlib 데이터 시각화 공부하기 이미지 인식 딥러닝 공부를 하는데, Numpy, Matplotlib가 많이 쓰여버리니까.. 공부를 안할 수 없다. 조금 애초 계획과는 다른게 기본기 익히기 스킵하고 실전으로 가자 주의로 가기로 했는데, 너무 기본기가 없으니까 자꾸 막히더라. 대표적으로 쓰이는 라이브러리 몇개 정도는 좋은 강의를 찾아서 한바퀴 도는 것도 나쁘지 않겠다는 생각이 들었다. 내가 찾은 강의는 우리 이수안 선생님의 이수안컴퓨터 연구소다. 강의를 상세히 자세히 친절하게 설명해주셔서 무료라는게 인색하다. 갓튜브 감사합니다. 수안쌤 감사합니다. 어제는 Numpy를 끝냈고, 오늘은 Matplotlib으로 시각화를 끝내 버리도록 해보겠다. 시간은 좀 길다. 3시간. 강의 내용은 다음과 같다. 강의 구성은 왼쪽 사진과 같은데, 내가 궁금한것.. 2021. 3. 9.
[딥러닝 첫걸음] OpenCV로 온라인 이미지 바로 열어버리기 이미지 받고 업로드 하는것도 귀찮은 나머지 온라인의 이미지를 링크를 통해 바로 띄워 버리고 싶어졌다. 나도 할 수 있으면 모두가 할 수 있는거다. 따라올테면 따라와 봐(요) 우리가 쓸 녀석들은 1. 웹 url을 다룰 수 있게 해주는 urllib 2. 배열을 다룰 수 있게 해주는 numpy 3. 이미지를 다룰 수 있게 해주는 cv2 가 되시겠다. 4. 그리고 Colab에서 cv2로 이미지를 빠르게 보여주기 위한 cv2_imshow도 불러준다. (설명이 필요하다면 아래의 이전 글의 설명을 참고하시라.) [딥러닝 첫걸음] 생에 첫 컴퓨터 비전, OpenCV야 안녕? OpenCV로 이미지 열어버리기 목표! 내가 출력하고픈 이미지는 바로 이것. 귀여운 호랑이 일러스트다. 이걸 다운로드 받지 않고, 웹상의 주소를 .. 2021. 3. 5.
반응형