개발/Tensorflow

개발/Tensorflow

Transfer learning

Transfer learning는 한글로 전이학습입니다. 많은 논문에 실린 모델들이 나오면서 사람들은 사용해보고 싶었지만, 바로 사용하기 힘들었습니다. 단어를 벡터로 옮기는 작업에 대해 필요한 시간적 비용과 자원이 굉장히 많이 필요했기 때문이였습니다. 이런 문제를 갖고 사람들은 Transfer learning을 사용하기 시작했습니다. Transfer learning은 대량의 텍스트로 언어모델을 한번 학습하게 됩니다. 이를 pre-trained 된 모델이라고 부르며, 사람들은 이 pre-trained된 모델을 갖고 자신이 원하는 방향으로 추가 학습을해서 문제를 해결합니다. 이를 fine-tuning 이라고 부릅니다. 이 부분은 NLP 뿐만 아니라 Image processing에도 쓰이고 다방면에서 사용되는..

개발/Tensorflow

Tensorflow v2.3 Object Detection API fine tuning (5)

마지막으로 테스트 단계입니다. 14. 테스트 해볼 이미지 다운 테스트 해볼 이미지를 research/object_detection/test_images에 다운받습니다. 15. 노트북 실행 research/object_detection에서 jupyter notebook을 실행합니다. colab_tutorials에 있는 object_detection_tutorial.ipynb 파일을 실행합니다. 16. 테스트 해당 셀 부터 실행하면 됩니다. Loading label map 부분을 아래와 같이 수정해주세요. # List of the strings that is used to add correct label for each box. PATH_TO_LABELS = '../images/labelmap.pbtxt' ..

개발/Tensorflow

Tensorflow v2.3 Object Detection API fine tuning (4)

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폴더에 가보면 잘..

개발/Tensorflow

Tensorflow v2.3 Object Detection API fine tuning (3)

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_..

개발/Tensorflow

Tensorflow v2.3 Object Detection API fine tuning (2)

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

Tensorflow v2.3 Object Detection API fine tuning (1)

안녕하세요 오늘은 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

Google Colab session 유지

코랩은 학습 도중에 세션이 끊어지는 현상이 발생합니다. 이를 막기위해서 계속 사용중임을 알려야합니다. 유지시키는 방법중에 우측 상단에 이 버튼을 주기적으로 클릭해주면 됩니다. F12(개발자도구)누르고 Console창에 복사 붙여넣기 하시면 됩니다. function ConnectButton(){ console.log("Connect pushed"); document.querySelector("#top-toolbar > colab-connect-button").shadowRoot.querySelector("#connect").click() } setInterval(ConnectButton,60000); 아래와 같이 Console창에 입력해주세요.

개발/Tensorflow

Ubuntu 20.04 tensorflow-gpu 사용하기 nvidia, cuda, cudnn

저는 기존에 사용하던 tensorflow-gpu 2.1버전이 아닌 tensorflow-gpu 2.4 버전이 나와서 버전 업데이트를 해보려고 했으나 실패했습니다. When can we expect Tensorflow builds with Cuda 11.1 or Cuda 11.2? 저도 해당 이슈와 같은 에러가 떠서 실패했습니다. 한번 꼬여버리니까 제 실력으로 복구가 불가능해져서... 다음 기회에 다시 도전해보기로 하였습니다. Ubuntu를 포맷시키고 이전 버전인 tensorflow-gpu 2.3에 맞는 cuda와 cudnn을 설치하기로 하고 정리를 해보게 됐습니다. nvidia-driver와 cuda의 기본 정보를 제거하고 시작하겠습니다. 1. 기존에 설치된 nvidia와 cuda제거 sudo apt-ge..

모플로
'개발/Tensorflow' 카테고리의 글 목록