- 전체
- 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 [하늘마루 이야기]
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 15 |
[C/C++ graphic GUI] An introduction to the Dear ImGui library : Dear ImGui 라이브러리 소개
| 졸리운_곰 | 2023.11.07 | 363 |
| 14 | [C/C++, graphics] SDL Tutorial Basics | 졸리운_곰 | 2021.05.15 | 320 |
| 13 |
How to Install Dev-C++ and the GLUT Libraries for Compiling OpenGL Programs with ANSI C
| 졸리운_곰 | 2021.02.02 | 322 |
| 12 |
CONREC : A Contouring Subroutine 등고선 그리기
| 졸리운_곰 | 2018.01.11 | 638 |
| 11 |
왼손 / 오른손 좌표계 비교: Left- vs. Right-handed coordinate systems
| 졸리운_곰 | 2017.09.24 | 432 |
| 10 |
3D Graphics with OpenGL
| 졸리운_곰 | 2017.09.24 | 1214 |
| 9 | OpenGL의 회전순서 | 졸리운_곰 | 2017.09.24 | 300 |
| 8 |
통일 D3D 및 OpenGL 좌표 시스템
| 졸리운_곰 | 2017.09.24 | 337 |
| 7 |
[OpenGL] 중심점(pivot)으로 물체 회전하기
| 졸리운_곰 | 2017.06.25 | 1141 |
| 6 |
3D Graphics with OpenGL
| 졸리운_곰 | 2017.06.06 | 415 |
| 5 |
OpenGL프로그래밍:간단한 다각형 랜더링
| 졸리운_곰 | 2017.06.06 | 537 |
| 4 | 기하학 사이트들.. | 졸리운_곰 | 2017.06.06 | 330 |
| 3 |
기하변환
| 졸리운_곰 | 2017.06.06 | 991 |
| 2 |
assimp : Open Asset Import Library
| 졸리운_곰 | 2017.05.14 | 352 |
| 1 |
MeshLab the open source system for processing and editing 3D triangular meshes.
| 졸리운_곰 | 2017.05.13 | 387 |

