Projects/인공지능 프로젝트

구글 코랩으로 이미지 캡셔닝 모델 attend to you 가져다 쓰기 A to Z

마크투비 2021. 11. 21. 19:13

구글 코랩으로 이미지 캡셔닝 모델 attend to you 가져다 쓰기 A to Z


이번 프로젝트에서 우리는 Attend to you 모델을 파인튜닝해서 쓰기로 했고, 나는 이미지 캡셔닝 모델 파인튜닝 역할을 맡게 되었다. 지금 나는 어떤 모델을 가져다 써본 적도 없기 때문에 본격적으로 모델을 파인튜닝 하기 전에 먼저 이전 포스팅에서 show attend and tell을 구현해 보았다. 

 

1. 구글 드라이브 연동하기

일단 attend to you 깃헙 레포에서 zip 폴더로 모든 파일을 다운 받고 압축 해제를 시켜서 구글 코랩에 업로드 했다.

https://github.com/cesc-park/attend2u#prerequisites

 

GitHub - cesc-park/attend2u: 🖼️ Attend to You: Personalized Image Captioning with Context Sequence Memory Networks. In CVPR

🖼️ Attend to You: Personalized Image Captioning with Context Sequence Memory Networks. In CVPR, 2017. Expanded : Towards Personalized Image Captioning via Multimodal Memory Networks. In IEEE TPAMI,...

github.com

 

그리고 다음과 같이 구글 드라이브를 코랩에 마운트 해야 한다. 구글 드라이브에 있는 파일(소스코드)들을 로컬 폴더와 같이 자유롭게 쓰기 위한 과정이다.

 

2. install python modules

근데 아래와 같이 pip install ~에서 에러가 났다. 역시 개발 환경 세팅하는 과정이 제일 어렵다. 순탄치 않을 것이라 생각했다. 

💢 How I got thie error

에러 내용은 다음과 같다.

Collecting functools32==3.2.3.post2 Downloading functools32-3.2.3-2.zip (34 kB) 
WARNING: Discarding https://files.pythonhosted.org/packages/5e/1a/0aa2c8195a204a9f51284018562dea77e25511f02fe924fac202fc012172/functools32-3.2.3-2.zip#sha256=89d824aa6c358c421a234d7f9ee0bd75933a67c29588ce50aaa3acdf4d403fa0 (from https://pypi.org/simple/functools32/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
 Downloading functools32-3.2.3-2.tar.gz (31 kB) 
WARNING: Discarding https://files.pythonhosted.org/packages/c5/60/6ac26ad05857c601308d8fb9e87fa36d0ebf889423f47c3502ef034365db/functools32-3.2.3-2.tar.gz#sha256=f6253dfbe0538ad2e387bd8fdfd9293c925d63553f5813c4e587745416501e6d (from https://pypi.org/simple/functools32/). Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
 
ERROR: Could not find a version that satisfies the requirement functools32==3.2.3.post2 (from versions: 3.2.3.post1, 3.2.3.post2)
 
ERROR: No matching distribution found for functools32==3.2.3.post2

 

Solution

functools32==3.2.3.post2 를 만족하는 버전을 찾을 수 없다는 에러 메시지이다. 아무리 서치를 해도 안 나와서 그냥 저기 링크에서 직접 function32-3.2.3-2 패키지를 다운 받았다. 그리고 나서 뭘 해야 할지를 모르겠다. 

 

이번에는 좀 더 범위를 넓혀서 ERROR: Could not find a version that satisfies the requirement google colab를 검색해봤다. 

 

드디어!!!!! 나랑 똑같은 에러를 스택오버플로에서 발견했다.

https://stackoverflow.com/questions/54810248/cannot-install-functools32-on-google-colab

 

cannot install functools32 on google colab

I'm new to ML/DL and using google colab as my DL tool. I'm currently trying to setup tensorflow/HED on google colab. When I ran pip install -r requirements.txt, I got an error like Collecting

stackoverflow.com

 

질문에 대한 답은 다음과 같다.

functools32 is a backport of the Python 3.2 functools module for use on Python versions 2.7. It shouldn't be installed for Python 3.6.

 

 

즉 파이썬 2.7 version으로 다운그레이드를 해야한다는 말이다!

지금 코랩에서 파이썬 버전 확인을 했을 때 3.7이었다.

이렇게도 확인해 볼 수 있다.

지금 상황이 기본 환경 구축하는데 코랩에서 파이썬 버전이 맞지 않아서 에러가 나고 있다. 코랩에서 파이썬 버전을 낮춰야 할 것 같은데 그냥 아나콘다로 가상환경을 만드는 게 좋을지...? 이 부분이 고민된다.

 

코랩에서 파이썬 버전을 다운그레이드하는 방법을 찾아보니 코랩에서 파이썬 2가 완전히 없어져서 지워이 안 된다는 내용도 있는 듯하다. 그래서 그냥 아나콘다로 가상환경을 새로 만들고 거기서 실습을 진행하기로 했다. 다음 포스트에서 확인할 수 있다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://aimb.tistory.com/179

https://kkangdda.tistory.com/51

https://flymogi.tistory.com/entry/pip-install-%EC%97%90%EB%9F%AC-%ED%95%B4%EA%B2%B0