[대회] 2023 헬스케어경진대회 참여후기(제출X)
1. Competition
- 구강 이미지 합성 데이터를 활용한 충치 치아를 분류하는 AI 모델 개발
https://github.com/bab-korea/healthcare-ai-contest
※ 평가지표 Image classification data로 f1-score가 가장 높은 팀 선정
2. Details
1. CMD로 Bastion Host 및 GPU Server 접속
Bastion Host에 접속하려면 Putty, CMD, mobaXterm 등 접속도구를 사용해야 하는데
나는 윈도우 환경이라 무난하게 CMD로 했다.
1) 설정 > 선택적 기능 >OpenSSH 클라이언트 설치
2) ssh 접속 명령어
ssh[유저ID]@[Bastion Public IP]
3) GPU Server 접속
- 별도 공유된 IP주소로 한번 더 SSH접속 진행
2. 서버 내 가상환경 설정
1) Conda 설치
- Miniconda 다운로드
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
- 스크립트 실행
bash Miniconda3-latest-Linux-x86_64.sh
2) 가상환경 생성
- conda create -n [가상환경이름] python=[파이썬버전]
예) conda create -n myenv python=3.7
3) 가상환경 활성화
- conda activate myenv
4) 가상환경 비활성화
- conda deactivate
5) 가상환경에서 패키지 설치
- conda install tensorflow-gpu
3. 서버에 Jupyter Notebook 원격 연결
- CMD로 접속해서 샘플 데이터를 둘러보니 이미지 파일 한 장, json 라벨링 파일 한 장 이렇게 쌍으로 된 데이터가 있었다. 콘솔환경에서 이미지 확인을 해보려고 했는데 ImageMagick이나 feh를 설치해야 했다. 그러나 권한 문제인지 sudo 명령이 먹히지 않았고, 또 명령으로 하나하나 이미지를 확인하기가 번거로워서 포기.
- 평소 익숙하던 대화형 인터프리터 환경에서 진행하고 싶어서 서버에 Jupyter Notebook 원격 연결을 시도했다.
- 아래 포스팅을 따라서 했다. 작성해주신 분 너무 감사드립니다.
https://bioinfoblog.tistory.com/13
https://inistory.tistory.com/77
- 이 와중에 vi 편집하는 법 까먹어서 또 리눅스 명령어 열심히 검색함🤤
- 그런데 아래와 같이 url로 접속하는데 계속 접속이 안되었다. 아아악 이유가 머야(머리쥐뜯)
https://(외부 아이피 주소):(원하는 포트)
- 그 날 오후, 주피터 노트북을 다수가 사용하게 되어 gpu 점유 관련 이슈가 있을 수 있다며 사용 제한한다는 공지가 떴다. 후...쉽지 않군
4. VScode로 서버에 SSH 원격 접속하기
- 대회 깃허브 issue란에 어떤 분이 VScode 사용하신다 그래서 나도 시도!! 회사 다니는 분들은 원격 접속해서 근무 많이들 하실테니까 기본일 테지만...나는 집에서 공부하는 초보라 잘 모른다😭
1) Remote Development 설치
2) Remote-SSH 설정 파일
- F1키 누르고
- Remote-SSH: Open SSH Configuration File... 선택하고
- 아래처럼 config 파일 선택
- 아래와 같이 코드 입력
Host [alias]
HostName [ip addr]
User [account_name]
Host [alias]
HostName [ip addr]
User [account_name]
IdentityFile [key location]
3) SSH 연결
- F1키
- Remote-SSH: Connect to Host... 선택
- 여기부터는 CMD로 연결했을 때와 유사하게 진행했고, 이미지, json 데이터를 클릭으로 바로바로 확인할 수 있다는 점에 감격했다ㅋㅋㅋ테스트 코드로 hello world 출력해보니 잘 돌아갔다.
- 다만 패스워드 입력하라는 창이 너무 자주떠서 다음에 진행한다면 패스워드 스킵하는 방법도 찾아봐야겠다. 일단 시간이 없어서 보류...
3. What I've Learned
- 첫 경진대회 참여. 폐쇄망 환경이 처음이라서 많은 공부가 되었다.
- 주최측에서 폐쇄망 접속 가이드를 줬는데 내가 초보라서 이것저것 찾아봐가며 공부하는 재미가 있었다.
- 대회 일정이 짧은데 내 일정과 맞지 않아 폐쇄망 접속하여 데이터 확인까지만 진행했다. 제출은 하지 못했다. 그동안 이미지 분류 실습을 주로 csv 데이터 + 이미지 데이터로 하다보니, json 파일에 들어있는 정보들을 파싱해서 하나의 csv 파일로 만들어 진행해야 하나? 혹시 바보같은 생각인가?ㅋㅋㅋ고민했다. json 다루는 방법을 공부해야겠다고 생각했다. 🤤