프로젝트(23)
-
22.02.25 [kfood프로젝트] 3탄 음식 detection YOLOv3 lr 0.01 train 결과 inference 확인 + 한글깨짐 해결
trainig 0~4 epoch 완료 그럼 이제 학습된 weight로 inference를 해보자 python team07_test.py --weights best_0225.pt 엥.. 아무것도 잡히지 않았다.. 이번엔 그럼 수정 전 detect.py 파일(detect_1.py로 돌려보았다) 으악,..역시나 아무것도 잡히지 않았다.. 왜지? best_0225.pt - python train.py --img 640 --batch 16 --epochs 5 --data kfood.yaml --weights yolov3.pt --name batch_16_lr_0.01 PR 커브 확인 ++ 오 뭐가 잡히긴 했다 음..음식이 여러개면 안되는 건가.. 이 best_0225.pt 모델은 python train.py --..
2022.02.25 -
22.02.25 [kfood프로젝트] YOLOv3 우리팀만의 음식 데이터로 detection training 시키기 2탄 - train.py 공부( precision , recall , AP, box/cla/obj loss 공부)
training에 사용한 것들 : tmux, wandb, Tesla gpu가 있는 원격서버. tmux, wandb를 사용하면 컴퓨터를 꺼놓고도 계속 잘 돌아간다. - 목차 - 돌린 코드 - training 스크린샷 - wandb 결과(아직 4epoch 진행중) - precision, recall, mAP - box, obj, cla loss - lr0, lr1, lr2 - 우리 데이터셋 (여기에 구글드라이브 추가하기) https://github.com/ultralytics/yolov3 GitHub - ultralytics/yolov3: YOLOv3 in PyTorch > ONNX > CoreML > TFLite YOLOv3 in PyTorch > ONNX > CoreML > TFLite. Contribu..
2022.02.25 -
22.02.25 [kfood프로젝트] YOLOv3 우리팀만의 음식 데이터로 detection training 시키기 1탄 - 이어서 학습할 때 UnboundError: local variable 'epoch' referenced before assignment 해결
https://github.com/ultralytics/yolov3/wiki/Train-Custom-Data GitHub - ultralytics/yolov3: YOLOv3 in PyTorch > ONNX > CoreML > TFLite YOLOv3 in PyTorch > ONNX > CoreML > TFLite. Contribute to ultralytics/yolov3 development by creating an account on GitHub. github.com 일단 우리가 tmux session에 어제 실행시켜놓고 잤던 train.py 를 실행시키는 기본 코드는 다음이다 python train.py --img 640 --batch 16 --epochs 5 --data kfood.yaml --..
2022.02.25 -
22.02.24 [kfood프로젝트] learning rate와 batch size 등 딥러닝 학습하는 방법
학습을 할 떄 learning rate를 크게도 작게도 해줘야 한다. learning rate : 보폭 learning rate가 너무 작으면 학습이 늦게되거나 local minmum에 빠짐 learning rate가 너무 크면 학습이 안 되거나 (발산?) 튄다. Gradient Descent로 제일 loss가 작은 곳으로 가야한다. -> learning rate를 일정하게 가져가면 안된다. 계속 바꾸가면서 학습의 방향성을 찾아야 한다. -> learning rate schduler : 코싸인모양, 계단함수모양 등등 다양함 1. learning rate scheduler : learning rate를 계속 바꿔줘야 해서 2. overfitting : overfitting를 판단하는 방법 : trainin..
2022.02.25 -
22.02.24 [kfood프로젝트] wandb, tmux 사용해서 YOLOv3 우리만의 custom dataset으로 수현님과 같이 training 돌려보기
python train.py --img 640 --batch 16 --epochs 5 --data kfood.yaml --weights yolov3.pt 수현님이랑 동시에 돌리려니까.. 내가 돌리던 저 보라색은 메모리가 없어서 죽었다.. 아무튼 tmux 사용법 # 새로운 Session 만들기 - session 이름은 설정하지 않고 (0,1,2,.. 순서로 생성) tmux # 새로운 Session 만들기 - session 이름 = (session_name) tmux new -s (session_name) # Session name 수정 ctrl + b, $ # 원하는 이름 적고 Enter # Session 종료 - session 사라짐 exit or ctrl + d # 주의! window나 pane이 열려..
2022.02.24 -
22.02.24 [kfood프로젝트] 음식데이터 YOLOv3 training을 위한 train, test, validation 8:1:1 split하기
train test validation split하기 참고 사이트 https://lynnshin.tistory.com/46 한줄로 Train/Test/Validation 나누기 (splitfolders : annotation도 함께 나누는법) AI 모델 학습을 할 때 데이터셋을 train, validation, test 데이터 셋으로 나눈다. 간단히 설명하면, Train set : 학습에 사용되는 훈련용 데이터 Test set : 학습 후에 모델의 성능을 평가하기 위해서만 사용 lynnshin.tistory.com 참고 코드 import os from glob import glob import shutil from sklearn.model_selection import train_test_split # ..
2022.02.24