본문 바로가기

Project/교내 프로젝트

[python week 일지] #2. 콜랩 사용하기

반응형

내 놑북이 내장그래픽이라 직접 작업은 불가해서 콜랩을 소개해주셨다. 인공지능 할 때 nvidia 그래픽이 필수인데 그게 없어도 콜랩을 이용하면 인공지능을 돌릴 수 있다고 한다. 구글에서 제공하는 무료 클라우드 컴퓨팅 프로그램이다. (근데 지금 보니 놑에 nvidia 스티커 붙어있는데 뭐징... 다른 건가 ...?)

 

콜랩으로 코드를 짜주신 것을 보내주셨는데 정말 이미지를 넣으니까 잘 돌아갔다.

신기방기...! 구글에서 가져온 이미지로 가능한 것 같다. 

 

이 이후로 선배가 하시는 말 중에 모르는 게 많이 등장했다. 엉엉. 일단 다 아는 척하고 대답한 후 뒤에서 재빠르게 구글링했다.

 

저 위의 코드는 구글에서 이미지를 로드해오는 방식이라 너무 광범위하다고 하셨다. 종류도 많고 도메인도 다 달라서 힘들다고... 그래서 mini imagenet이라는 이미지넷의 축소판인 것이 있는데 여기 데이터에서 로드 해오는 방식으로 수정하였다.

난 구글 이미지와 이미지넷의 차이를 몰라서 잘 이해가 안 되었다. 여쭤보니 이미지넷은 인공지능 학습할 때 쓰는  1000개의 클래스로 이루어진 대규모 데이터셋이라고 한다. 우리가 사용하는 CLIP 모델은 이미지넷을 포함한 4억 장을 학습한 모델이다. 따라서 이미지넷에서 이미지를 로드해 오면 기출 문제를 맞추는 것이니까 정답율이 더 올라갈 거라고 하셨다. 와웅 진짜 이해가 잘 되게 설명해주셔서 이해가 쏙쏙 되었다. 감사합니다!!

그래서 우리는 mini imagenet/ tiny imagenet을 사용하기로 했다. 

 

wget으로 콜랩에서 바로 다운로드 받아서 압축을 푸는 방식으로 하자고 하셨는데 어떻게 하지...? 알겠다고 하고 구글링 했다. wget이 뭐지 대체? 하고 있는데 선배가 알려주셨다. (휴우) 콜랩은 리눅스에서 돌아가고 구글 서버에서 실제 리눅스 컴퓨터가 돌아가는 중이라고 한다. wget은 리눅스에서 사용하는 명령어이고 그걸 쓰면 콜랩에 빠르게 다운로드할 수 있다고 한다. 코드 앞에 !을 쓰면 콜랩에서 리눅스 명령어를 사용할 수 있다고 한다.

이미지넷을 대체 어디서 다운로드 받는 건지, 그 이미지넷을 제공하는 공식 사이트가 있는 건지, 찾아보니 파일 확장자가 cvg? 이런 다 이상한 것들인데 대체 뭔지 ... 모르는 것이 너무나도 많아서 감이 안 잡혔다. 한참 헤맸다... 선배가  https://github.com/rmccorm4/Tiny-Imagenet-200 보내주셨는데 이거 보고도 잘 모르겠어서 엄청나게 구글링 했다.

 

콜랩에서 쓰는 언어가 뭔지로 모르겠어서 코드를 읽어볼 생각을 못 했는데 코드를 읽어보니 은근 내가 아는 것들이었다. 또 그 맥락이 이해가 되었다. 그래서 용기 내어 코드를 건드려 봤고 어느 섹션에서 어느 작업이 이루어지는지 이해했다. 그때부터 내가 뭘 해야할 지 방향을 잡고 구글링을 해볼 수 있었다. 구글링을 하면서 선배가 보내주신 자료를 어떻게 써야되는지 느낌이 왔다.

! wget http://cs231n.stanford.edu/tiny-imagenet-200.zip
!unzip -uq "./tiny-imagenet-200.zip" -d "./sample/"

바로 이 두 줄로 내 고생이 빛을 봤다! 끄아 ㅠㅠㅠㅠ 그리고 밑에 파일 경로를 수정해주니 작동이 되었다. 하 누가 보면 별거 아니겠지만 너무 신나고 행복했다. 이맛이지 ㅠㅠㅠㅠㅠㅠㅠㅜ 새벽 한 시부터 세 시까지 저걸로 사투를 한 후 카톡으로 선배한테 내가 해냄!!!!!!!! 보낸 후 잠들었다. 

반응형