- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
[기계학습] machine learning CNTK 설치 및 테스트
2018.06.11 15:39
CNTK 설치 및 테스트
마이크로소프트에서 오픈소스로 공개한 윈도우용 딥러닝 프레임워크인 CNTK를 설치해 보고 테스트 해보려고 한다.
Microsoft Cognitive Toolkit (CNTK) 깃허브 사이트는 다음과 같다.
https://github.com/Microsoft/CNTK
아래 설명대로 따라서 작업을 진행했다. 이 방식은 미리 컴파일된 바이너리를 받아서 설치하는 방식이 아니라 소스를 받아서 직접 컴파일해서 사용하는 방식이다.
https://github.com/Microsoft/CNTK/wiki/Setup-CNTK-with-script-on-Windows
1. Visual Studio Community 2015 Update3 설치
Visual Studio 메인(https://www.visualstudio.com/vs/)에서 Community를 받으면 현재 2017 버전이 받아진다. 문제는 다음에 설치해야 하는 CUDA 8이 2017버전이 아직 나오지 않았다. 그래서 2015 버전을 받을수 있는 vs_community2015 파일을 첨부한다. 이걸 받을려면 msdn 가입자인지 확인해서 받기가 쉽지않다.
그리고 설치시 Custom으로 선택해서 Visual C++를 선택하고 추가로 Python 도구도 추가한다. 나중에 Cntk.sln 솔루션 파일을 열면 파이썬 도구를 설치해야 한다는 팝업창이 뜬다.
2. NVIDIA CUDA 8 설치
https://developer.nvidia.com/CUDA-downloads 에서 OS 버전에 맞는 것을 선택해서 설치한다.

설치 마지막에 보여지는 요약창에 Visual Studio Integration 2015가 설치되었는지 확인한다.
3. Git 설치
https://git-scm.com/download/win 에 접속하면 자동으로 다운받아 진다. 디폴트 설정값으로 진행하면 된다.(Use Git from the Windows Command Prompt, Checkout Windows-style, commit UNIX-style line endings" at the "Configuring line endings)
4. CNTK 소스받기
아래와 같이 도스창에서 실행하면 c:\repos\cntk에 소스를 받는다.
c: && md \repos && cd \repos
git clone https://github.com/Microsoft/cntk
cd cntk
그리고 멀티 GPU와 멀티 PC지원하는 모듈인 Multiverso를 받고 난 GPU가 하나므로 설정을 아래와 같이 off 시킨다. 디폴트는 on상태라고 한다.
git submodule update --init -- Source/Multiverso
setx CNTK_ENABLE_ASGD false
1bit-SGD 설정을 on 시키면 트레이닝시 더 성능이 좋다고 하는데 라이센스도 틀리고 나하고는 별상관이 없는것 같아서 패스했다.
5. 개발환경 설치 스크립트 실행
CNTK를 컴파일하기 위해 필요한 기본 개발환경을 구성해주는 스크립트인데 이게 파워셀로 만들어져 있다. 이걸 실행하면 내PC에 필요한 프로그램 모듈들을 다운받아서 알아서 설치해준다. 단 도스창을 관리자 권한으로 실행시킨후 작업을 진행해야 문제가 없다.
도시창에서 아래와 같이 명령하면 파워셀이 실행된다.
start powershell -executionpolicy remotesigned
파워셀에서 다음과 같이 폴더를 이동해서 스크립트를 실행한다.
cd C:\repos\cntk\Tools\devInstall\Windows
.\DevInstall.ps1

위에 이미지와 같은 모듈이 설치될 건데 진행할꺼냐고 묻는다. 여기에 y를 입력하고 엔터키를 눌러 진행하면 다운받고 설치하는 작업을 진행한다. 30분이상 걸린 듯 하다.
추가로 도스창에서 파이썬에대한 CNTK 환경설정을 한다. 나중에 CNTK에서 python API를 사용할 수 있다고 한다.
cd C:\local\Anaconda3-4.1.1-Windows-x86_64\scripts
conda env create --file c:\repos\cntk\scripts\install\windows\conda-windows-cntk-py35-environment.yml --name cntk-py35
activate C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\cntk-py35
setx CNTK_PY35_PATH C:\local\Anaconda3-4.1.1-Windows-x86_64\envs\cntk-py35
setx PYTHONPATH c:\repos\cntk\bindings\python;%PYTHONPATH%
6.CNTK 빌드
다운받은 CNTK폴더밑에 CNTK.sln 솔루션 파일을 연다. 그리고 Release로 선택하고 빌드한다. 그러면 iso8859_1.hpp파일내에 특수문자때문에 다음과 같은 에러가 발생한다.
iso8859_1.hpp : error C2220: 경고가 오류로 처리되어 생성된 'object' 파일이 없습니다.
그러면 HTKDeserializers 프로젝트의 속성에서 c/c++ > 일반 에서 경고를 오류로 처리부분을 예에서 아니오로 변경하고 다시 컴파일한다. 그러면 에러가 2개 나오는데 전에 비활성화 시킨 Multiverso 와 MultiversoTest 프로젝트이므로 패스한다.
7.CNTK 테스트
도스창에서 다음과 같이 입력하여 경로를 설정하고 튜토리얼 폴더로 이동한다.
set PATH=C:\repos\cntk\x64\release;%PATH%
cd C:\repos\cntk\Tutorials\HelloWorld-LogisticRegression
그리고 다음과 같이 실행시키고 에러없이 결과가 나오는지 확인한다.
cntk configFile=lr_bs.cntk makeMode=false deviceId=auto
deviceId를 auto로 넣으면 GPU를 알아서 찾아서 처리한다고 한다. 그러면 무슨 내용인지는 아직 모르지만 아래와 같이 트레이닝이 된 결과가 표시된다.


python으로 예제 테스트 해보는데 제대로 안되고 있다. 딥러닝에대해 공부하기 위해 python 환경에서 먼저 해보려고 했는데 개발환경이 제대로 구성이 안되어, 먼저 python을 기본적으로 지원하는 Theano와 Keras를 설치해서 연습해볼까 한다.
[출처] https://m.blog.naver.com/PostView.nhn?blogId=beodeulpiri&logNo=221008763270&proxyReferer=http%3A%2F%2Fwww.google.com%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3D%26esrc%3Ds%26source%3Dweb%26cd%3D3%26ved%3D0ahUKEwiv9c7i_srbAhVDqJQKHXqbBx4QFgg0MAI%26url%3Dhttp%253A%252F%252Fm.blog.naver.com%252Fbeodeulpiri%252F221008763270%26usg%3DAOvVaw2xiES8ZWNc1gpRHAvgizY7
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86171 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78660 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95396 |
| 1 |
Programatically retrieving data from a website into a database
| 졸리운_곰 | 2017.05.30 | 9225 |

