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

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

cntk_shell.jpg

 

 

 

위에 이미지와 같은 모듈이 설치될 건데 진행할꺼냐고 묻는다. 여기에 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를 알아서 찾아서 처리한다고 한다. 그러면 무슨 내용인지는 아직 모르지만 아래와 같이 트레이닝이 된 결과가 표시된다.

cntk_helloworld0.jpg

 

 

cntk_helloworld.jpg

 

 

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

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
공지 오라클 기본 샘플 데이터베이스 졸리운_곰 2014.01.02 86985
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 79249
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95990
26 감석분석 작업 로그 : 감성분석(Sentiment Analysis) - 깔끔한 텍스트 방식(tidytext) : xwMOOC 자연어 처리 졸리운_곰 2019.12.24 1244
25 '애자일과 데이터 관리의 결합'··· '데이터옵스'의 정의와 주요 기술 file 졸리운_곰 2019.11.17 1684
24 데브옵스와 분석의 결합··· ‘데이터옵스’를 아시나요? file 졸리운_곰 2019.11.17 1244
23 데이터옵스(DATAOPS) 란 무엇일까? file 졸리운_곰 2019.11.17 1639
22 데이터옵스는 단순히 데이터에 대한 데브옵스가 아님니다. DataOps is NOT Just DevOps for Data file 졸리운_곰 2019.11.17 1639
21 R에서 파이썬까지…데이터과학 학습 사이트 8곳 file 졸리운_곰 2019.04.21 1759
20 [통계] prediction VS forecast file 졸리운_곰 2019.04.03 1584
19 forecast 와 prediction의 차이를 아시나요? 졸리운_곰 2019.04.03 899
18 10분만에 끝내는 데이터분석 file 졸리운_곰 2019.04.03 1869
17 처음으로 케글 데이터분석에 도전하기 : Competing on kaggle.com for the First Time file 졸리운_곰 2019.01.27 4412
16 데이터 과학자가 갖춰야 할 5가지 스킬셋 file 졸리운_곰 2018.11.11 1379
15 데이터 사이언스 괜찮은 강의들 리스트 1 file 졸리운_곰 2018.11.11 2471
14 데이터 사이언스 학습 안내 졸리운_곰 2018.11.11 1673
13 Prophet: Automatic Forecasting Procedure 자동 예측 프로시져 프로그램 /데이터분석 / 데이터 과학 file 졸리운_곰 2018.09.04 1318
12 데이터 분석 어디에 집중할 것인가? 가장 먼저 실험에 집중하라 file 졸리운_곰 2018.02.06 1407
11 빅데이터 융합기획전문가 1기 교육 표창장 file 졸리운_곰 2018.01.03 1317
10 빅 데이터 기획에 대한 이해 file 졸리운_곰 2017.12.09 2025
9 분야별 빅데이터 애널리틱스 적용 사례 및 성공의 비결 file 졸리운_곰 2017.12.08 2162
8 하둡 에코시스템을 활용한 Hybrid DW 구축 사례 file 졸리운_곰 2017.12.08 2006
7 gmail 수신 메일로 워드클라우드 생성 : Creating a gmail wordcloud 졸리운_곰 2017.11.20 1894
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED