- 전체
- 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
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 16 |
[C/C++ 자료구조] 아스키 코드표(ASCII Table)
| 졸리운_곰 | 2023.08.16 | 360 |
| 15 | [C 프로그래밍] 파일 출력 함수_3.연결 리스트 저장, 불러오기 | 졸리운_곰 | 2022.06.17 | 322 |
| 14 |
[C/C++ 자료구조] 5일만에 뚝딱 스크립트 언어 만들기 PGLight (1/5)
| 졸리운_곰 | 2021.04.12 | 301 |
| 13 |
[C/C++] 미니멀 가상화폐 코드 , 미니멀 블룩체인, noincoin (Block Chain in C Major)
| 졸리운_곰 | 2021.01.30 | 279 |
| 12 |
Visual Studio Community로 V8 엔진 다운로드 및 빌드하고 간단히 살펴보기
| 졸리운_곰 | 2020.11.30 | 271 |
| 11 | zlib msvc로 포팅하기 2 | 졸리운_곰 | 2018.02.23 | 356 |
| 10 | zlib msvc로 포팅하기 1 | 졸리운_곰 | 2018.02.23 | 288 |
| 9 | zlib 개요 | 졸리운_곰 | 2018.02.23 | 572 |
| 8 | [zlib] API 사용법 | 졸리운_곰 | 2018.02.23 | 502 |
| 7 | [zlib] DEFLATE algorithm (2) - Huffman coding | 졸리운_곰 | 2018.02.23 | 352 |
| 6 | [zlib] DEFLATE algorithm (1) - LZ77 | 졸리운_곰 | 2018.02.23 | 504 |
| 5 |
zlib 입문
| 졸리운_곰 | 2018.02.23 | 629 |
| 4 | [펌] zlib를 사용법 | 졸리운_곰 | 2018.02.23 | 783 |
| 3 |
Create Custom Binary File Formats for Your Game's Data
| 졸리운_곰 | 2018.02.23 | 373 |
| 2 |
GitHub - codelibs/libdxfrw: C++ library to read and write DXF/DWG files
| 졸리운_곰 | 2017.04.27 | 655 |
| 1 | C++ Json Parser 조사 | 졸리운_곰 | 2015.11.10 | 1004 |

