많은 딥러닝 프레임워크가 있었지만 Facebook의 PyTorch와 Google의 Tensorflow가 리더로 자리잡았다. Pytorch와 Tensorflow의 가장 큰 차이점 Pytorch Dynamic Graph backward propagation을 쓸 때 autograd(자동미분)를 할 때 실행시점에서 그래프를 정의한다. computational_graph Define by Run 실행하면서 그래프를 생성한다. 즉시확인(디버깅)이 가능하다 -> pythoninc code Tensorflow Static Graph Define and Run 기법을 사용한다. 그래프를 먼저 정의하는 코드를 작성하고 실행시점에 데이터를 feed시킨다.
12.이미지 학습 이 부분은 선택사항이지만 제 컴퓨터가 그렇게 좋지 않기 때문에 저는 Google Colab을 사용하도록 하겠습니다. Google Drive에 파일을 올려야하는데 압축된 파일을 올리고 colab에서 압축을 해제하는게 빠르기 때문에 압축시켜서 올리겠습니다. models/research 폴더로 가서 object_detection 폴더를 압축합니다. 저는 Pororo라는 폴더를 만들고 zip파일을 올리겠습니다. Google Colab 제일먼저 런타임을 GPU로 변경해주시고 시작하시면 됩니다. # 구글 드라이브 마운트 from google.colab import drive drive.mount('/content/drive') # 압축 해제 -> google drive Pororo폴더에 가보면 잘..
8. pre-trained 모델 다운로드 Object Detection zoo에서 다운받으시면 됩니다. 저는 EfficientDet D0 512x512을 다운받겠습니다. object_detection 폴더에서 압축을 해제합니다. 9. pre-trained 모델 config 수정 object_detection/configs/tf2 경로에 있는 ssd_efficientdet_d0_512x512_coco17_tpu-8.config 파일을 복사해서 images 폴더에 붙여넣기 해줍니다. 방금 복사한 파일을 images 폴더에서 편집합니다. 1. num_classes -> 원하는 Object Detection 클래스 수 model { ssd { inplace_batchnorm_update: true freeze_..
4. 제너레이트 파일 다운 github_url에서 파일을 클론 받아서 README.md 파일을 제외하고 object_detection 폴더에 넣으시면 됩니다. git clone https://github.com/hojihun5516/object_detection_setting.git 그러면 해당 폴더에 아래와 같이 추가가 됩니다. 5. xml_to_csv 방금 내려받은 파일중 xml_to_csv.py를 실행해줍니다. xml로 되어있는 내용들을 csv로 컨버팅 해주는 작업입니다. #object_detection 폴더 python xml_to_csv.py 잘 실행이 되었다면 images폴더에 test_labels.csv, train_labels.csv 파일들이 생성됩니다. 6. generate tf reco..
안녕하세요 오늘은 Tensorflow를 활용한 Object Detection를 fine tuning해보겠습니다. 저는 조카가 좋아하는 뽀로로에 등장하는 캐릭터를 해보겠습니다. 🖐 기존 python이 설치되어 있고 tensorflow v2.3이 설치되어 있다는 가정 하에 진행하겠습니다. 목차 1. 텐서플로우 API 설치 2. Object detection 이미지 수집 3. 이미지 라벨링 4. 제너레이트 파일 다운 5. xml_to_csv 6. generate tf record 7. generate labelmap 8. pre-trained 모델 다운로드 9. pre-trained 모델 config 수정 10. Object detection 폴더 추가 생성 11. training 폴더 생성 12.이미지 학습..
tensorflow-gpu를 설치하고 기본 예제코드를 돌렸을때는 문제가 없었으나 cudnn의 연산을 사용해야하는 cnn을 실행시켰을 때에 지속적으로 이런 메시지를 만나게 되었다. nvidia driver부터 cuda, cudnn의 재설치를 반복해도 계속 같은 에러를 만나게 되었다. (지친다...) UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above. 공식문서를 확인해보니 처음에는 메모리를 조금만 할당하고, 프로그램이 실행되어 더 많은 GPU 메모리가 필요하면..