마지막 학습과정중 오류

21.03.27 17:42 작성 조회수 7.65k

0

마지막 학습과정까지 왔는데, 

이와 같은 오류가 뜹니다..ㅠㅠ 제가 c드라이브 d드라이브 각각 파일을만들었다가, c드라이브를 삭제했는데, 그게 문제되나요? 

답변 10

·

답변을 작성해보세요.

0

Q쌤님의 프로필

Q쌤

지식공유자

2021.03.28

넵 정확합니다!

의미면에서 차이는 없지만

마지막 말씀만 정정드리면 

nc는 개수만 의미하고

names가 리스트로 변환될건데

파이썬을 아신다면

names[0]   -> line반환
names[1]   -> dot 반환

이런 형식입니다ㅎㅎ

저기 0과 1 자리에 라벨링한 파일 맨 앞자리가 들어가는 것이죠!

0

ss50828님의 프로필

ss50828

질문자

2021.03.28

아하 그럼 line과 dot의 train할 image와 label을 같은 파일에 위치시키는건가요??

즉, train경로에 dot과 line의 image와 label을 함께 넣어두고,

label파일 맨 앞 0 과 1로 nc를 구분하는 건가요???

train./line_rotated_dataset/train

0

Q쌤님의 프로필

Q쌤

지식공유자

2021.03.28

우선 돌아간다는 사실에 수고하셨다는 말을 전하고 싶습니다ㅎㅎ

Epoch

에폭의 수는 학습의 수와 같습니다

따라서 에폭이 1이면 엉성한 공부한 것이라 결과가 원하시는대로 나오지 않을거에요ㅠㅠ

정해진 기준도 없고 본인이 적당하다 생각할때까지 해봐야하는게 에폭이라 

줄이시는것은 상관없지만 적당한 수준의 양은 필요합니다 

30~50 정도 먼저 해보시고 다음에 학습시키실때 

--weights 인자에 last.pt 경로를 넣어주시면 이어서 학습시키실 수 있어요!

last.pt 경로는 test하는 강의에서 확인하실 수 있습니다!

custom.yaml

우선 해당 파일에서 

nc:2 로 바꿔주세요

nc는 number of classes의 약자로 사용되는 이름의 개수입니다

names : ['line', 'dot'] 

이렇게 원하시는 아이템이름 두개 넣어주세요

확인해볼것

1. 라벨 파일 내부 잘 확인하기

0  0.34  0.376  0.45  0.66  <- 맨 앞이 0이면 line

1  0.34  0.376  0.45  0.66  <- 맨 앞이 1이면 dot

으로 custom.yaml이 인식할 것입니다

2. train.txt & valid.txt

해당 파일안에 원하는 이미지 경로가 잘 들어가 있나 확인!

우선 이렇게 해보시면 좋을 것같아요

0

ss50828님의 프로필

ss50828

질문자

2021.03.28

강사님! 지금 학습이 제대로 진행되고 있는 것 같습니다 ㅎㅎ 감사합니다. 제가 학습시킬 이미지가 2개였는데, 지금은 하나로 학습을 미리해보고있습니다. 혹시 데이터가 두개라면 yaml파일과 이미지파일을 어디다가 위치시켜야 할까요??

지금의 custom.yaml파일은 이렇게 구성되어 있습니다.

여기에 dot-braille을 추가할건데, train과val을 어느 위치에 추가시켜야 할지 궁금합니다!

또한 마지막에 강사님께서 에폭사이즈를 바꾸고 또한번 실행하시는데, 한번만 하면 안되는건가요?? gpu가 안좋아서 너무 느려서요ㅠㅠ

train./line_rotated_dataset/train.txt  
val./line_rotated_dataset/val.txt  

# number of classes
nc1

# class names
names: [ 'line-braille' ]

0

Q쌤님의 프로필

Q쌤

지식공유자

2021.03.28

https://m.blog.naver.com/PostView.nhn?blogId=mscsoftware&logNo=221102960880&proxyReferer=https:%2F%2Fwww.google.co.kr%2F

우선 여기 방법대로 한번 해봐주세요요컴퓨터를 껏다 키기만 해도 램 공간은 일부분 확보되니 위 사항처럼 해보시고 껏다 켜서서 하ㄴ번해봐주세요ㅎㅎ

0

ss50828님의 프로필

ss50828

질문자

2021.03.28

아래 사양입니다! batch값을 4로 바꿧는데도 오류가 뜨네요..!!

0

Q쌤님의 프로필

Q쌤

지식공유자

2021.03.28

늦은 시간까지 고생이 많으십니다ㅎㅎ

이 부분은 작업 처리에 필요한 임시메모리 RAM 용량 부족이 아닐까 생각이 드는데 

혹시 그래픽카드랑 램 사양좀 확인해서 알려주실수 있을까요?

그리고 --batch 값을 16에서 4 혹은 8로 한번 변경해서 시도해봐주세요!

0

ss50828님의 프로필

ss50828

질문자

2021.03.28

껏다가 다시 실행해보니 또 이번엔 아래와 같이 오류가 뜹니다!

OSError: [WinError 1455] 이 작업을 완료하기 위한 페이징 파일이 너무 작습니다. Error loading "C:\Users\USER\anaconda3\lib\site-packages\torch\lib\caffe2_detectron_ops_gpu.dll" or one of its dependencies.

0

ss50828님의 프로필

ss50828

질문자

2021.03.28

감사합니다 강사님덕분에 마지막까지 오게 되었는데, 아래와 같은 오류가 뜹니다.. 

ImportError: C extension: DLL load failed while importing vectorized: 이 작업을 완료하기 위한 페이징 파일이 너무 작습니다. not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace --force' to build the C extensions first.

이런 오류인데, 용량이 부족하다는 건가요? 친절히 도와주셔서 감사합니다!

0

Q쌤님의 프로필

Q쌤

지식공유자

2021.03.27

답변을 조금 늦게 드리게 되었습니다 ㅠㅠ

그리고 이건 저도 처음보는 에러네요ㅎㅎ;;

This problem is due to existent library files in the torch folder due to previous installations. One needs to remove them manually before reinstall again the latest version of PyTorch.

해당 관련 커뮤니티의 댓글입니다

이전 설치와 충돌하여 발생한다고 합니다

진행 방향은 3가지를 통해서 해보도록 하겠습니다

1. 진행 드라이브는 C로 해주세요

우선 모든 진행은 가능하면 C드라이브에서 해주시는게 좋습니다!

따라서 해당 폴더도 다시 c로 이동시켜주세요

2. custom.yaml에서 경로를 상대경로로!

현재 경로는 c:/user/yolov5/dataset 이렇게 시작부터 끝까지 정확하게 적어주는 절대경로로 되어있습니다

해당 경로를 파일이 존재하는(혹은 실행되는) 경로의 폴더에서부터 시작하도록

./dataset

이런 형식으로 변경해줍니다 

현재 폴더(파일이 있거나 혹은 실행되는 곳)가 yolov5라면

점 한개는 현재 폴더를 (.) (./dataset)

점 두개는 이전 폴더를 (..) 의미합니다 (../yolov5/dataset)

3. 아나콘다 재설치!! (중요)

제가 봤을땐 아나콘다를 한번 정리해야할것같습니다. <<- 이게 효과가 좋습니다 (^*^)

C:/users/admin/anaconda 폴더 삭제하시고

아나콘다 지우신후 다시 설치하시고 설치파일 다시해보셔요 ㅎㅎ