GPU 설정도 끝나고 이제 고지가 눈 앞이구나 했는데.. 그렇게 쉬울리가 없었다..
온갖 에러 파티에 정말 이렇게 하는 게 최선인걸까 하는 생각이 계속 들었다😭
우선 서버 비용 문제도 있고, 시간도 그렇고 할 수 있는데까지 해보고도 안 되면 다른 방법으로 모델을 만들어보기로 함.
정말 치명적이지 않지만.. 얘만큼 귀찮은 게 없다..
이제 좀 제대로 하려고 하면 인식 실패 떠서 다시 연결하고, 가상 머신 실행하고, 서버 접속하고, docker 접속하고.. 귀찮은 것도 귀찮은 건데 이렇게 EC2 계속 들락날락해도 괜찮은 건가 하는 생각이 자꾸 들어서.. 😥
안 그래도 어제 팀원들한테 AWS 비용 메일가서 민망 머쓱 눈치 보이는데..
마음 같아선 vdi 파일 c드라이브로 옮기고 싶지만 이미 70GB나 잡아먹은 vdi 옮길 자리도 없고 그냥 귀찮고 눈치 보여도 참고 해야지 뭐 어쩌겠어 하하하
ValueError: num_samples should be a positive integer value, but got num_samples=0
구글링 해보니까 잘못된 경로 설정으로 모델이 훈련을 시작할 train data를 찾지 못해 발생하는 오류라고 한다.
docker 이미지 안에 있는 모든 파일을 로컬로 옮겨 파이참에서 하나하나 코드 확인을 해보았다.
config.py
## directory
# os.path.abspath(path) : 절대경로 반환
# __file__ 은 Python 의 예약어로, 실행되는 스크립트 파일명
# => config.py의 절대 경로 반환
# cur_dir : ../workspace/sleek/main
cur_dir = osp.dirname(os.path.abspath(__file__))
# root_dir : ../workspace/sleek
root_dir = osp.join(cur_dir, '..')
# data_dir : ../workspace/sleek/data
data_dir = osp.join(root_dir, 'data')
# output_dir : ../workspace/sleek/output
output_dir = osp.join(root_dir, 'output')
# model_dir : ../workspace/sleek/output/model_dump
model_dir = osp.join(output_dir, 'model_dump')
# vis_dir : ../workspace/sleek/output/vis
vis_dir = osp.join(output_dir, 'vis')
# log_dir : ../workspace/sleek/output/log
log_dir = osp.join(output_dir, 'log')
# result_dir : ../workspace/sleek/output/result
result_dir = osp.join(output_dir, 'result')
Sleek.py
여기서
self.data_path = osp.join('..', 'data', 'Sleek', 'data')
이 부분이 잘못 됐나 싶어서
self.data_path = osp.join(osp.dirname(os.path.abspath(__file__)), 'data')
이렇게 수정했다.
👉 ../data/Sleek/data ⇒ ../workspace/sleek/data/Sleek/data
그래도 똑같은 에러 발생
혹시 data 파일에 json 파일이 없어서 그런가 싶어서 로컬에서 또 라벨링 데이터 json 파일 하나 가져와서 넣어놨는데 그래도 에러..
분명 json 파일이 없는데 여기서 json 파일을 찾길래..
여튼 이렇게 해도 해결 X
설마설마하고 파이썬 버전 확인해보니까 3.6.4 버전이었나 아무튼 3.7.3 버전 아래였다..!
설치 과정은 새벽에 한숨 푹푹 쉬면서 하느라 캡쳐 생각조차 못했는데
위 두 글 참고해서 설치했다.
위 방법으로 똑같이 따라했는데도 python -V
하면 계속 이전 버전으로 떠서, 아나콘다 파이썬 버전을 바꾸는 방법으로 했는데 성공
conda install python=3.8.1
python run_train.py
)하니까 ValueError
는 해결됨!정말 파이썬 버전이 문제였을까....?ㅠ
해당 모듈을 설치해주면 될 거 같아서 아래와 같이 설치
pip install opencv-python
pip install matplotlib
pip install scipy tqdm
pip install tensorboard cython
그렇게 이제 진짜 되나? 성공인가? 해치웠나? 했는데..
다신 볼 일 없을 줄 알았던 ValueError....^^
하하하하하ㅏㅎ.....
이쯤되면 꼭 해결하고 말겠다.. 하는 오기도 들지만.. 서버 비용과 남은 시간이 눈에 아른아른거려서 지금은 보내줘야하는 게 맞는 거 같다..
이 와중에 또 usb 에러..^^
내가 AI 지식도 부족하고, 개발 경험은 더더욱 부족해서 쉬운 문제인데 너무 어렵게 생각하고 있나, 이것만 고치면 되는데 나만 모르는 건가, 하는 생각이 들긴하지만 3차 발표까지 한 달도 남지 않은 상황에서 계속 이 문제만 붙잡고 있는 건 정말 아니라는 건 알겠다..😢
그래도 이번 달 말까지는 서버 지원해주니까, 다른 방법으로 우선 모델 개발하고 시간이 남으면 다시 도전해봐야겠다!
꼭 이 방법만 있는 것도 아니고 너무 좌절하지말고 화이팅해보자..!