728x90
우리 프로젝트에서는 image captioning(사진을 설명 가능한 영어 문장으로 바꿔주는) 기능을 할 수 있는
인공지능 모델을 돌릴 서버가 필요했다.
AWS EC2 서버를 한 대 구축 한 후 가장 먼저 할 일은
torch를 서버에 인스톨 하는 것이었다.
$home 디렉토리에다가 다음과 같이 단 세줄만 입력하면 되는 작업이지만..
$ git clone https://github.com/torch/distro.git ~/torch --recursive
$ cd ~/torch; bash install-deps;
$ ./install.sh
2번째 줄에서 bash install-deps를 실행하려고 할 때 실패했다.
Torch를 설치하기 위한 '의존 파일' 들을 설치하기 위한 bash script였는데,
https://github.com/torch/distro/issues/259
이미 누군가 깃허브에 이슈를 남긴 것처럼 똑같은 에러가 발생한 것이었다.
다행히 갓갓 개발자들이 스크립트 파일을 고치라고 조언해주었고,, vi 편집기로 뚝딱 고쳤다.
그 후엔 다행히도 설치가 잘 되어주었다.
우리 프로젝트의 경우는 우선 모델을 gpu가 아닌 cpu에서 돌리기로 결정했다.
gpu는 돈도 많이 나갈뿐더러, cpu에서 돌리는 것도 사진 1장당 1초 미만의 짧은 시간으로 돌아가기 때문에..
따라서 dependency의 일정 부분만 다음과 같이 인스톨 해주었다.
$ luarocks install nn
$ luarocks install nngraph
$ luarocks install image
$ # Install Lua CJSON
$ wget https://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz
$ tar -xvzf lua-cjson-2.1.0.tar.gz
$ cd lua-cjson-2.1.0
$ luarocks make
$ cd # go back $HOME
$ # Install loadcaffe
$ sudo apt-get install libprotobuf-dev protobuf-compiler
$ CC=gcc-5 CXX=g++-5 luarocks install loadcaffe
$ # Install torch-hdf5
$ sudo apt-get install libhdf5-serial-dev hdf5-tools
$ git clone https://github.com/deepmind/torch-hdf5
$ cd torch-hdf5
$ luarocks make hdf5-0-0.rockspec LIBHDF5_LIBDIR="/usr/lib/x86_64-linux-gnu/"
$ cd # go back $HOME
다음은 neuraltalk2 모델의 다운로드.
cpu 버전으로 다운로드 받았다.
$ git clone https://github.com/karpathy/neuraltalk2.git
$ cd neuraltalk2
$ mkdir models
$ cd models
$ wget --no-check-certificate https://cs.stanford.edu/people/karpathy/neuraltalk2/checkpoint_v1_cpu.zip
$ unzip checkpoint_v1_cpu.zip