설치는 성공했는데, 나중에 또 헛짓할까봐 적어둔다.
우선 이걸 까는데, https://qiita.com/suzuryo3893/items/bd7685ea49ac81bad6f3 에서 엄청난 도움을 받았다.
환경 windows 10 64bit
1. visual studio 2015 설치 ( 2017도 되는거 같은데, 전에 설치하다보니까 간혹 최신의 2017 VC compiler를 인식 못하는 경우가 있어서 안전하게 2015도 괜찮은것 같다.)
2. CUDA 설치(8.0으로 설치했었음)
3. CUDNN 설치(버전이 기억나지 않음 아마 6.0일것이다. 5.X거나)
4. GIT 설치
5. CMAKE 설치
6. MKL (인텔 Math kernel library 라는듯.. 가입하면 1~2일 이내에 공짜로 받을 수 있다.)
5번까지는 문제 없이 설치가 가능하다.
다음부터 LUA와 torch, cutorch, cunn 등을 설치해야한다.
LUA와 torch는 그냥 아래 링크에서 따라가서 설치하면 되는것 같다.
https://github.com/torch/torch7/wiki/Windows#binary-downloads
근데 에러가 엄청 뜨는데, 구글링해도 잘 안나오는관계로
https://github.com/torch/torch7/pull/287#issuecomment-318405946
여기 에서 pre-build 버전을 받으면 쉽게 lua 및 여러 package가 함께 설치된 버전을 이용할 수 있다.
참고로 setpaths.cmd 는 필수
------------ 위에꺼 설치했으면 필요 없다. 근데 혹시몰라서 설치했었음 -----------
nn설치
복잡하므로 https://qiita.com/suzuryo3893/items/bd7685ea49ac81bad6f3 여기서 nn 설치하는법 보고 바로 따라해야함.
간단히 말해서, nn 은 git에서 다운로드 받고,
luarocks download nn
git clone git://github.com/torch/nn.git
cd nn
luarocks make ..\nn-scm-1.rockspec
하는데 여기서 에러가 잔뜩 발생하므로, 위의 링크에서와 같이 따라하면 설치완료됨
---------------------------------------------------------------------------
다음으로 cutorch를 설치해야하는데, 에러가 발생하는 경우가 많으니 우선 torch를 재설치 하고 가는게 나은것 같다.
torch는 단순히 luarocks install torch만으로도 설치가 가능하다. 단 반드시 64bit compiler를 활성화 시킬것.
설치 경로를 바꾸지 않았다면
C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat 를 콘솔에서 실행시키고 다음단계로 넘어가면 된다.
다음으로 cutorch 는 luarocks install cutorch로 되면 좋겠지만 안된다.
우선 git clone https://github.com/torch/cutorch를 콘솔에서 입력해서 c:\torch\luarocks에서 실행함으로써 복사를 해둔다
다음으로 lib/THC/THCReduce.cuh를 찾아서 메모장같은걸로 연다음에
THC_getGridFromTiles(THCCeilDiv(outElements, (long)block.x), grid);를THC_getGridFromTiles(THCCeilDiv((long)outElements, (long)block.x), grid);
바꿔주지않으면 에러를 밷는다.
다음으로
lib/THC/generic/THCTensor.c
에서 보면 배열 선언을 이상하게 해놓은 곳이 있어서 이를 수정해줘야 한다.
long *op_sizes[count];,
long op_dims[count];
를long **op_sizes = malloc(sizeof(long *)*count);,
long *op_dims=malloc(sizeof(long)*count);으로 바꿔주고
맨 뒤에
free(op_sizes);,free(op_dims);를 붙여준다.
이렇게 하고
luarocks make rocks/cutorch-scm-1.rockspec
이걸로 실행!하면 cutorch까지 설치가 된다.
다음단계는 cunn설치
마찬가지로 c:\torch\luarocks 에서
git clone https://github.com/torch/cunn 명령어로 cunn을 다운로드 받고
cunn\lib\THCUNN\LogSigmoid.cu
에서 에러가 뜨므로
const T max = fmaxType(0.f, - *input); 이 거를
const T max = fmaxType((T)0, - *input); 이렇게 바꿔준다
const T인것만 바꿔주면 된다.
여기까지 하고나서 luarocks make rocks/cunn-scm-1.rockspec를 해주면 cunn도 설치완료
다음은 cudnn 설치..
git clone git://github.com/soumith/cudnn.torch.git
cd cudnn.torch
luarocks make .. \ cudnn-scm-1.rockspec