Skip to content

AIC2020 제출 루틴 #11

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
kooBH opened this issue Nov 19, 2020 · 0 comments
Open

AIC2020 제출 루틴 #11

kooBH opened this issue Nov 19, 2020 · 0 comments

Comments

@kooBH
Copy link
Member

kooBH commented Nov 19, 2020

호스트 리눅스에서 nas 정욱 프로젝트 폴더 가서

sudo cp -r * ~/git/IIP_Docker/AIC2020/process

위에 명령어는 nas의 통합모델 폴더를 kiosk 에다가 복사하는 거다.

Note

다 옮길 필요는 없고 없데이트 된것만 옮겨도 된다.

nas 프로젝트 => -v 명령어로 도커 볼륨으로 공유 (공유는 도커에 저장되지 않음)가 되기 때문에
AIC2020/process 에 있는 파일은 도커에서 쓸 수 있따.

이제 도커를 aic2020:base를 기반으로

 IIP_Docker/AIC2020 :  ./run.sh

[욱정] : 모델을 파이썬 친구들만 통합하는 도커를 만들려면 run.sh을 수정해야한다.
matlab+python 모델은 run.sh에서 2번째 라인만 주석처리 안하고 돌리고
python 모델은 run.sh에서 3번째 라인만 주석처리 안하고 돌리면된다.
run.sh 코드에서 3번째 line 보면 --name이 있잖아 여기는 그냥 뒤에 _v2가 있는데 숫자만 올려서 버전 업데이트 해. 그리고 얘는 aic2020_python:v1_s기반이야. 따라서 name만 바꿔 이해됐지??

실행 하면.

  • 도커에서
    root/test 에 공유된 프로젝트 폴더가 다 있고

=> 공유에서 도커 내부의 규정상 aichallenge 폴더에서 실행해야하므로 여기에 옮김

/root/test/process : cp -r * /aichallenge

그다음 matlab 을 빌드된 파일을 사용하도록
predict.sh 에서

matlab -nodisplay -nosplash -nodesktop -r "run('./main_VAD_AI_Grand_test.m')" 

./main_VAD_AI_Grand_test

로 바꾼다.

[욱정] : 파이썬 친구들만 통합하는 도커
root 도커에서 cd /aichallenge 때려. 그다음에 ls 해봐 그럼 파일들이 많이 있을거야.
필요없는 파일들을 지울거야. 남아있는 mat file들 그리고 쓸데 없는 폴더들(pickle/2_VAD/mat 폴더 이런친구들) 그리고 pickle 폴더가서 1_enha, 2_vad, 3_local...머시기 있는데 폴더 다 돌아다니면서 .pkl 파일 다 지웡
그리고 enhance_wav, input_wav 폴더 들어가면서 남아있는 wav가 있으면 다 지워. 별거 없징??
그리고 cd/code 가서 코드들 이상한거 걔많아 특히 .m 파일 있어 이거 지워. 그리고 훈상이의 2-vad-comvine이거 지워야해. 그냥 안쓰는거는 다지워야해.
그리고 model_ckpt 폴더안에 모델은 3개만 있어야해. 아마 5개가 있을거야
그럼 2개를 지워야지?? 뭘지워야하는지 모르겠으면 nas로 들어가서 진짜 쓰는 모델3개를 확인하면 되는거야.

마지막으로 제일 python predict.py 치는 곳에
무적권 !! output.json파일이 있다면 얘는 무.적.권 지워야해. 아니면 50000점 찍어.

그다음에 진짜 중요한게 vim predict.sh 들어가서 python 1_enhanced.py 뭐시기 뭐시기$wav_path 뭐시기뭐시기 있을텐데 $wav_path 앞에 ../ 적어서 ../$wav_path를 만들어야해.
그럼 끝나. 그다음에 exit 쳐. 이 부분은 아래 읽으면 적혀져 있어 내려가봐.

주의

process 폴더안의 main_VAD_AI_Grand_test 는 빌드된 MATLAB 실행파일이니 지우지 말것

그리고 적당히 고치고 돌려보고
aichallenge 폴더에서

python predict.py pickle/input_wav

하고 확인 후

exit

docker ps -a  

하면
뭐가(exited) 하나 있고 (종료시간 확인)

그 친구를 docker commit <그 친구 이름> aic2020:버전

[욱정] 파이썬 친구들만 통합하는 도커
그 친구 이름이 뭐양? 얘는 뭐냐면 아까 맨위에서 run.sh에서 --name 한거 있지? 그 친구 이름이야
예시 aic2020_python_v2 뭔 말인지 알지??
python model은 이렇게 치면돼 : docker commit <그친구이름> aic2020_python:v2<--이거는 이미지의 버전 네이밍이야. v1_s로 하면 얘를 기반으로 하는데 덮어씌워지니까 v2로 때려.
그리고 나중에 똑같은 작업을 하면 이미지버전 v2로 덮어씌워 그냥.

docker images 하면 그 이미지가 목록에 생김

docker save -o aic2020_<버전>.tar 그 aic2020:버전
[욱정] docker save -o aic2020_python_<버전>.tar 그 aic2020_python:버전
<버전>은 바꿔가면서 해 --name 에서 한거 임마 그리고 제일 뒤에 버전은 이미지버전의 네이밍이기 때문에 v2로 고정때려.

하면 tar이 생기고 홈페이지에서 업로드하면 끝

10GB 용량제한 주의

[욱정] 만약에 알집이 안만들어진다면?? 용량이 없어서 그래 .그래서 이전 알집 눈물을 삼키면서 지웡.
python model은 용량이 5.4G정도로 matlab model은 10G로 절반이야 그래서 업로드 12분이면 되더라.
그럼 수고행~

뒷정리

kiosk 용량이 터지기 직전이라 뭐 하면 하고나서 다 지울 것

IIP_Docker : ./remove_exited.sh

용량 줄이기

이미지의 레이어를 압착해준다.

docker-squash -t aic2020:<버전>_s aic2020:<버전>     : docker images로 작업하는 것임

하면 지워진 데이터가 차지하는 용량을 없앰 ( 오래걸림)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant