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 86146
공지 [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE 가을의 곰을... 2013.02.10 78646
공지 [G_SQL] Sample Database 가을의 곰을... 2012.05.20 95376
13 [데이터 수집 및 전처리] 주식 전종목 어떻게 불러올까? 거래소 종목 불러오기 file 졸리운_곰 2023.12.09 1701
12 [데이터 수집 및 전처리] [Python/파이썬]네이버증권API 활용 - 회사명, 종목코드 받아오기 file 졸리운_곰 2023.12.08 1509
11 [데이터 수집 및 전처리] 네이버 금융(차트)에서 주가 갈무리(크롤링)하기 file 졸리운_곰 2023.12.08 1495
10 [데이터 수집 및 전처리] 네이버 증권에서 일봉, 주봉 데이터 가져오기 file 졸리운_곰 2023.12.08 1499
9 [데이터 수집 및 전처리] (놀라운) 한글 데이터 짱! AwesomeKorean_Data file 졸리운_곰 2023.03.07 1197
8 [데이터 수집 및 전처리] Crawling, Scraping file 졸리운_곰 2022.05.21 1476
7 [데이터분석][데이터수집 전처리] MS 엑셀(Excel)에서 UTF-8 로 된 csv 파일 가져오기 file 졸리운_곰 2021.09.30 1415
6 카프카 설치 시 가장 중요한 설정 4가지 졸리운_곰 2021.07.13 1927
5 Prometheus Query(PromQL) 기본 이해하기 file 졸리운_곰 2020.12.17 1413
4 [인프라 모니터링 오픈소스] Prometheus 를 알아보자 file 졸리운_곰 2020.12.17 1906
3 Prometheus + Grafana 대시보드 file 졸리운_곰 2020.12.17 2488
2 Grafana란? file 졸리운_곰 2020.12.17 2158
1 Importing wikipedia dump to MySql 졸리운_곰 2020.10.04 2494
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED