- 전체
- C/C++ 일반
- C/C++ 수학
- C/C++ 그래픽
- C/C++ 자료구조
- C/C++ 인공지능
- C/C++ 인터넷
- wxWidget
- GTK+
- UNIX or LINUX programming
- 리눅스 마스터 - 국가공인자격
- VC++/ MFC
- C#/CLI/.NET
- QT/기타UI
- Boost lib
- 오픈소스 C 분석자료
- MSA (마이크로서비스), Docker, kubernetes
- WSL(windows subsystem linux)
C/C++ 인공지능 윈도우10(Windows 10) / Caffe / CUDA / cuDNN / Python 설치
2018.02.21 17:04
윈도우10(Windows 10) / Caffe / CUDA / cuDNN / Python 설치
하늘마루J윈도우에서 python으로 실행하기 위한 caffe를 설치하는 방법이다.
visual studio 2013 버전으로 컴파일을 하였다.
일단 CUDA와 cuDNN과 Python을 설치한다.
## CUDA 7.5
https://developer.nvidia.com/cuda-downloads
에서 자신에 맞는 플랫폼으로 다운받고 설치한다.
알아서 잘 설치해준다. ㅎ

## cuDNN
cuDNN은 v4를 다운받는다.
https://developer.nvidia.com/cudnn

cuDNN은 압축을 풀어주면 된다.
나는 C:\Library\cudnn4 에 압축을 풀었다.
C:\Library\cudnn4\cuda\bin
include
lib
로 만들어지는데 여기서 path는 C:\Library\cudnn4 이다.
## python
python2 를 설치하는데 그냥 Anaconda2를 설치한다.
https://www.continuum.io/downloads

나의 anaconda2 경로는
C:\Anaconda2 이다.
###################################################################################
여기서 중요한 것은 원래 모두 path에 추가해 주어야한다.
하지만 나는 python을 사용하기 위해서 컴파일 하는 것이기 때문에 컴파일 할 때 path 지정을 직접해줄 것이다.
###################################################################################
## caffe
https://github.com/BVLC/caffe
에서 다운을 받는다.

적당한 곳에 압축을 풀면
caffe-windows/caffe-windows/...
이런식으로 압축이 풀린다.
여기서
caffe-windows/caffe-windows/windows 폴더에 들어가면 솔루션 파일이 있는데 열지말고
CommonSettings.props.example 파일을 복사해서 CommonSettings.props 파일로 이름을 바꾼다.
파일을 열면 xml 형식으로 되어있는데 여기서부터가 중요하다.
1) Ln13 <PythonSupport>false</PythonSupport> -> true 로 변경
2) Ln24 <CuDnnPath></CuDnnPaht> -> 경로 추가
ex) <CuDnnPath>c:\Library\cudnn4</CuDnnPaht>
(이것은 나의 경로이므로 다 다르다. 중요한건 cuda 라는 폴더 위의 경로여야 한다.)
3) Ln48 <PythonDir>C:\Miniconda2\</PythonDir> -> 본인의 python이 설치된 경로로 변경
ex) <PythonDir>C:\Anaconda2\</PythonDir>
이렇게만 변경해주고 저장한다.
그리고 솔루션 파일인
Caffe.sln을 실행하면 알아서 필요한 패키지들(opencv, boost, gflas, 등등이 Nuget으로 설치가 된다.)
그럼 경로위에 caffe-windows/NugetPackages 들이 생기게 된다.
그다음 컴파일을 하면 되는데 여기서 중요한 것이 있다.
주석 부분에 이상한 문자가 들어가 있어 에러가 난다. 수정해주면 되지만 기록을 위해
caffe-windows/caffe-windows/include/caffe/util/rng.hpp (Ln 20 '-' 제거)
caffe-windows/NugetPackages/boost.1.59.0.0/lib/native/include/boost/flormat/alt_sstream_impl.hpp (Ln141 '-' 제거)
caffe-windows/NugetPackages/boost.1.59.0.0/lib/native/include/boost/python/detail/dealloc.hpp (Ln1 특수문자 제거)
caffe-windows/NugetPackages/boost.1.59.0.0/lib/native/include/boost/python/detail/return_opague_pointer.hpp (Ln1 특수문자 제거)
더 발생할 수도 있지만 나는 여기까지였다.
프로젝트를 잠깐 보면 libcaffe 프로젝트가 컴파일이 되어야하고 pycaffe 프로젝트가 python에서 사용가능한 caffe 라이브러리를 생성하는 프로젝트(?) 같다.
나는 귀찮아서 그냥 다 컴파일하였다.
끝나면 C:\Library\caffe-windows\caffe-windows\Build\x64\Release\pycaffe 가 생성된다.
여기 안의 caffe 폴더를 통채로
C:\Anaconda2\lib\site-package 안에 복사한다.
여기서 끝이 아니다.
사용하기 위해서는 pydot과 protobuf 2.6.1이 필요하다.
protobuf는 꼭 2.6.1이어야 한다. 최신 버전을 설치하면 caffe에서 읽지를 못한다.
pydot은 pydot1,2 가 있는데 나는 2를 설치하였다.
https://pypi.python.org/pypi/pydot2/1.0.33

다운받은 후 압축을 풀면 dist 디렉토리가 생기는데 pydot2-1.0.33 폴더를 python lib 폴더인
C:\Anaconda2\lib\site-package 안에 복사한다. 이름도 바꿔준다. pydot 으로
그리고 protobuf도
https://pypi.python.org/pypi/protobuf/2.6.1

에서 protobuf-2.6.1-py2.7.egg(md5) 를 다운받아 google 폴더를
C:\Anaconda2\lib\site-package 안에 복사한다.
이렇게 하면 끝이다.
출처: http://hanmaruj.tistory.com/15 [하늘마루 이야기]
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

