카메라 이미지 품질 향상 AI 경진대회

코랩환경에서 training

2021.07.20 17:14 7,086 Views

혹시 colab에서 코드 돌리시는 분 계신가요?

저는 전처리한 npy파일 불러올 때 'Google Drive에서 시간 초과가 발생했습니다.'라는 경고가 발생한 뒤에 파일을 다 못 불러오는 오류가 발생해서 training 코드를 못 돌리고 있습니다.

아래와 같은 오류가 발생하고 제대로 npy 파일을 불러오지 못합니다...

혹시 colab에서 training을 돌리신 분이 있다면 해결방법을 아시는 분이 있는지 여쭤보고 싶습니다!

로그인이 필요합니다
0 / 1000
최정명
2021.07.20 17:21

저도 코랩 사용중인데 원본 파일은 구글 드라이브에 저장해두고 전처리는 매 세션마다 처리하고 있습니다.
세션에서 처리후에 그 세션의 드라이브에 저장을하고 로더에서 로드하면서 사용하고 있습니다.
아마 이렇게하면 오류가 안 날겁니다.

hyeonseok
2021.07.20 17:37

매 세션마다 전처리를 하신다는 것이 매 런타임 마다 cut_img를 하신다는 말씀이신가요?
그 세션의 드라이브에 저장을 한다는 말씀은 .npy파일을 드라이브에 저장하는 것이 아니라 그 세션자체에 드라이브에 저장을 한다는 말씀이신가요? (다음 런타임이 된다면 휘발이 되게끔)
제가 아직 지식이 많이 없어서 ㅠㅠ 이해하기가 어렵네요ㅠㅠ

최정명
2021.07.20 20:23

제가 애매하게 말해서 헷갈리수도 있겠네요.
저는 데이콘에서 제공해준 zip 파일을 구글드라이브에 저장해두고 씁니다.
colab에서 드라이브 마운트 후 !unzip 명령어를 사용해서 세션 드라이브에 압축을 풉니다.
저는 패치로 학습을 하는데 이미지를 크롭하는것도 그 세션에서 수행합니다. 자른걸 array에 모으면 RAM이 터지기 때문에 이것도 세션 드라이브에 저장해둡니다.
저장해둔 이미지는 학습 할 때 로더에서  배치단위로 불러와서 사용합니다.
다음 런타임이 되면 날라갑니다... 하지만 압축풀고 크롭하는데 그렇게 많은 시간이 들지는 않기 때문에.. 이렇게라도 사용합니다 ㅠㅠ 더 좋은 방법도 있겠지만 하나의 해결 방법으로 설명드립니다!

hyeonseok
2021.07.21 22:00

넵!! 성의있는 답변 감사합니다!

이세진
2021.07.20 17:33

용량이 부족해서 코랩 프로를 구입했습니다.

hyeonseok
2021.07.20 17:38

코랩프로를 구매해서 사용하면 베이스라인코드는 돌아가나요?

DACONIO
2021.07.20 17:39

구글 드라이브는 초당 불러올 수 있는 데이터 수에 제한이 있습니다.
mount해서 불러올려면 제한에 걸려서 데이터 로드가 안될거에요.
최정명님 말씀처럼 세션에서 제공해주는 임시 스토리지를 이용하시는 것을 추천드립니다.
만약 google에서 처음 제공해주는 gcp 무료 크래딧을 사용하지 않으셨다면 gcp에 저장 후 불러오는 것도 하나의 방법입니다.

hyeonseok
2021.07.20 17:57

흠... 두가지가 이해가 안가는 부분이 있는데 

1. 세션에서 제공해주는 임시 스토리지의 개념이 이해가 안가는데 혹시 설명해주실 수 있나요?

2. mount하여 drive에서 .npy 불러오는 것이 아닌 gcp에 .npy파일을 저장한 뒤에 불러온다면 오류가 발생하지 않는건가요?

DACONIO
2021.07.20 17:57

코랩 연결하시면 우측 상단에서 사용 가능한 ram과 디스크 공간을 확인 할 수 있습니다.
gpu 사용시 무료버전에서는 80~100gb정도, pro 사용시 150gb정도의 디스크가 제공됩니다.
해당 공간에 전처리한 파일을 저장하면 빠르게 데이터 로드가 가능합니다.
gcp에서는 gdrive와 같은 오류가 발생하지 않지만 별도의 요금이 발생합니다.
보통 gcp 사용시에는 tfrecord와같은 batch단위로 파일을 묶어 올려두고 사용합니다.
gcp 사용시 tpu도 사용이 가능하여(tpu용으로 별도의 코드 작성 필요) 매우 빠르게 학습이 가능합니다.

DACONIO
2021.07.20 17:58

코랩에서 돌릴 수 있게 베이스라인 수정하여 코드 공유하였으니 코드 공유게시판 확인 부탁드립니다.

hyeonseok
2021.07.20 18:30

넵!! 정말 감사합니다!!!
한번 더 시도해보고 또 여쭤보겠습니다!

hyeonseok
2021.07.23 18:15

혹시 gcp 사용방법에 대해 알려주실 수 있나요...?

dev-hunmin
2021.07.20 18:02

저는 제공되는 데이터셋 zip파일만 구글드라이브에 저장하고, 모든 작업은 매 세션마다 /content에 저장하여 진행하고 있습니다

hyeonseok
2021.07.20 18:28

매 세션마다 크롭하는 전처리를 다 수행하신다는 말씀 맞나요?
저는 cut_img 할때 거의 2시간정도 걸리고 디스크에 용량이 다 차서 중간에 끊기는데 어떻게 해결하셨나요...?

dev-hunmin
2021.07.20 18:51

stride와 cut img size를 리소스에 맞게 조절했습니다

hyeonseok
2021.07.20 19:15

넵! 친절한 답변 감사드립니다!