위성 이미지 객체 검출 경진대회

알고리즘 | 이미지 | 객체 검출 | 우주 | mAP

  • moneyIcon 상금 : 000만원
  • 501명 마감
참가신청 마감

 

시스템 성능에 관한 질문

2020.02.17 22:12 4,645 조회

base line code를 실행하기 위한 시스템 최소 사양이 어떻게 되는지요?

시스템의 성능이 부족할 경우 어떤 값을 어떻게 바꾸면 되는지 알려 주실 수 없는 지요?

실행 시 오류가 나는데 시스템의 사양이 부족해서인지 다른 이유인지 알기가 어렵네요.


docker image는 알려 주신 대로 아래의 이미지를 사용했습니다.


TF 1.6 py3-gpu Docker Image: https://hub.docker.com/layers/tensorflow/tensorflow/1.6.0-gpu-py3/images/sha256-0f4b997bc3af4caa3b700552bf295dde3a6a36c4816ff036d0ddd1632e73cb52

error log 일부 -------------------------------------------------------

로그인이 필요합니다
0 / 1000
kveli
2020.02.18 00:28

제가 사용하는 환경 기준으로 베이스라인 코드를 실행하기 위해서는 램16gb 비디오램 8gb 정도는 되어야 실행하실 수 있습니다.

NoMa
2020.02.18 10:34

저는 GPU RAM 6GB인데, 설정값을 수정해서 돌릴 수는 없나요?

kveli
2020.02.18 13:07

발생한 오류가 비디오램의 크기 때문인지는 모르겠으나, 
그렇다면 create_dataset.py 로 데이터셋을 만들 때 이미지 크기를 줄이면 가능할 것 같습니다. 
현재 기본 값이 이미지 784, 오버레이 256 으로 된걸로 아는데 512, 256으로 줄여서 시도 해보세요

NoMa
2020.02.18 21:44

아래와 같이 하라는 의미로 이해하고 했는데, 더 앞 부분에서 오류가 나고 실행이 안되네요. 
python3 create_dataset.py --src_dir='../data/train' --dst_path='../data/train/train.tfrecord' --patch_size=512 --patch_overlay=256

이렇게 값을 줄이는 것이 아닌가요?

DACON.JIN
2020.02.18 22:19

안녕하세요. nparkstar님 kveli님께서 말씀해주신대로 램 16GB, GPU 8GB정도면 적정수준이라고 판단하며, 
6GB 환경에서도 돌아감을 확인하였습니다. 발생하시는 에러 스크린샷으로 토론에 올려주시면 
조금 더 원활한 문제해결이 진행되실것 같습니다. 감사합니다. 

NoMa
2020.02.19 09:57

위에 에러 시작되는 부분 화면 캡처 올렸습니다.
전체로그는 좀 긴데 필요하면 로그 전체는 텍스트 파일로 올릴 수도 있습니다.
검토 부탁드립니다. 
감사합니다.

NoMa
2020.02.18 14:55

감사합니다. 시도해 볼게요.

NoMa
2020.02.18 21:44

삭제된 댓글입니다

김용휘
2020.02.19 12:52

python create_dataset.py 하실 때  패치사이즈 줄여보시고
trainer.py(394행) session_config 부분에
session_config.gpu_options.allow_growth = True
session_config.gpu_options.per_process_gpu_memory_fraction = 0.9
추가해보세요

NoMa
2020.02.19 16:30

의견 감사합니다. 그러나 제 문제는 이 방법으로는 해결이 되지를 안네요.
패치와 오버레이 사이즈를 줄여서 위 에러는 없는데 다른 에러가 났습니다.
--> cuda와 tensorflow 버전을 올리고 이 방법대로 수정하여서 해결되었습니다. 감사합니다.
--> 이 방법은 필요한 방법이었습니다. 저의 경우 다른 문제와 같이 있었던 것이구요.

NoMa
2020.02.19 15:29

제 GPU가 RTX2060인데, RTX는 cuda 9과 tensorflow 1.6에서 제대로 지원이 않되는 것 같습니다.
데이콘에서 도와 주셔서 cuda 10 tensorflow 1.14로 해 보았더니 에러 메시지가 몇 개 보이기는 했으나 트레이닝이 실행되었습니다.
RTX GPU 사용하시는 분들 참고하시고 좋은 정보 있으면 서로 공유하면 좋을 것 같습니다.

NoMa
2020.02.19 16:22

해결하였습니다. 혹시 도움이 될까하여 내용 정리합니다.
대글 하나에 300자를 넘을 수 없어서 쪼갭니다.

NoMa
2020.02.19 16:22

1) PC 환경
RAM : 32GB
GPU : RTX 2060 RAM 6GB
GPU 메모리 부족과 호환이 되지 않는 문제로 트레이닝이 되지 안았습니다.
다음과 같이 한 뒤 트레이닝이 되고 있습니다. 일무 에러가 보이기는 했는데 트레이닝은 돌고 있습니다.

NoMa
2020.02.19 16:23

2) Docker 사용
Docker Image : tensorflow/tensorflow:1.14.0-gpu-py3
  -> Ubuntu 18.04에 Python 3.6, CUDA 10.0 포함되어 있습니다.
data create 할 때 아래와 같이 하여 패치 사이즈와 오버레이 사이즈를 줄였습니다.
python create_dataset.py --src_dir='../data/train' --dst_path='../data/train/train.tfrecord' --patch_size=512 --patch_overlay=256

NoMa
2020.02.19 16:23

3) 위 김용휘님이 알려 주신 대로 trainer.py 수정하였습니다.

그리고 다른 문서자료에서 하라는 대로 실행하여 트레이닝 실행하고 있습니다.
실행 중 GPU Memory 사용량이 5183MiB입니다.
이상 도움이 되시기를 바랍니다.

NoMa
2020.02.19 16:26

많이 도와 주신 데이콘 진 님께 감사드립니다.

논논노눈누난나
2020.02.23 17:02

vRam이 모자란 경우 Batch Size의 조절을 통해 어느정도 극복할 수 있습니다. 학습속도가 메모리가 충분할 때 보다는 감소하지만 사진 한 장당 반영하는 비율이 높아지는 차이점이 있습니다. 이미지 압축보다는 Batch Size를 줄여서 극복해보시는걸 추천드립니다.

논논노눈누난나
2020.02.23 17:13

이미지를 Rescaling 하는 것보다는 모델 학습한계가 적으니 왠만하면 그렇게 시도하시길 바랍니다.

NoMa
2020.02.24 08:46

base line code에서는 batch_size가 1로 되어 있는 것 같은데, 더 줄이는 방법이 있나요?
조금 더 구체적인 방법을 알려주시면 고맙겠습니다.

논논노눈누난나
2020.02.24 19:15

더 줄이는 방법은 없습니다. 애석하게도...