CNTK 돌릴때 파이썬이 꼭 있어야 되는줄 알았는데, 그런건 아니였습니다.

다만 훈련용 이미지를 만들때 파이썬이 필요할 뿐이었습니다.

훈련용 이미지가 이미 있다면 파이썬은 필요없습니다.


1.CNTK 관련 파일 몽땅 받기.


아래 링크로 들어가 Clone or download 해서 zip파일을 받습니다. 


https://github.com/Microsoft/CNTK




그리고 적당한 곳에 압축을 풉니다.



2.샘플용 훈련데이터 및 테스트데이터 생성하기.

(이것을 위해 파이썬이 필요합니다. 기본적으로 파이썬이 설치되었다고 가정합니다.(버전은 크게 상관없음, 제 경우엔 2.7))


2-1. 파이썬 라이브러리 설치. 제 경우 아래 라이브러리들이 없어서 오류났습니다. 아래 커맨드로 설치해주었습니다.


pip install numpy

pip install pillow


2-2. 훈련 및 테스트 이미지 생성


아래 디렉토리로 이동하고,(1번에 zip파일 받은 경로)

cd [압축푼경로]\CNTK-master\Examples\Images\DataSets\CIFAR-10\


아래 명령어로  샘플이미지 생성합니다.

python install_cifar10.py


시간이 좀 걸립니다.




3.[압축푼경로]\ \CNTK-master\Examples\TrainingCSharp 경로로 들어가서 솔루션 파일을 열고, 



nuget 복원을 합니다. 현재 기준으로 2.2.0입니다.


프로젝트가 CPU버전, GPU버전있는데 빌드하면 오류납니다.

LgisticRegression.cs파일에서 오류나는데,

메소드가 바뀐듯 합니다.

아래부분을 찾아서,

                trainer.TrainMinibatch(

                    new Dictionary<Variable, Value>() { { featureVariable, features }, { labelVariable, labels } },  false, device);


아래 코드로 바꿔줍니다. false를 인자로 받는 메서드가 사라졌나보네요.

                trainer.TrainMinibatch(

                    new Dictionary<Variable, Value>() { { featureVariable, features }, { labelVariable, labels } },  device);


같은 이유로 에러나는 파일이 하나 더 있는데 위 처럼 false, 를 없애면 정상적으로 빌드됩니다.


이제 Ctrl+F5해서 디버그로 빌드해보면 잘 돌아가는게 보입니다.



GPU버전은 돌려보니 예외오류가 뜨는데, Flower쪽에 이미지가 없다고 뜨네요. 이미지를 더 만들어야지 되는가 보군요.

일단 체크.


이상입니다.

오랜만에 포스팅입니다.

부지런히 포스팅하기가 정말 쉽지 않군요...

 

그동안 라즈베리파이에 SVN서버를 설치해서 소스 관리서버로 잘 사용해오다가 minipc를 새로 셋팅하면서, 자료를 이관하였습니다.

 

이관할때 사용했던 명령어를 기억해두고자 포스팅을 남깁니다.

 

 

 

예시)

기존 소스저장소는

/home/svn/eha

/home/svn/eha-app

/home/svn/eha-win

 

총 3군데가 있었습니다.

 

 

1. 덤프 뜨기

 

우선 기존 라즈베리파이에 접속하여, /home/dump 에 디렉토리를 만들고 각각 저장소를 svn덤프 떴습니다.

덤프뜰때는 전체를 뜰 수도 있고 특정 리비전 이후버전만 덤프 뜰수도 있습니다.

sudo mkdir /home/dump 

svnadmin dump /home/svn/eha > svn.eha.dump

svnadmin dump /home/svn/eha-win > svn.eha-win.dump

svnadmin dump /home/svn/eha-app > svn.eha-app.dump

 

그리고 각 경로에 환경설정파일도 백업합니다. (참고 아래 파일들)

/home/svn/eha/conf/authz, /home/svn/eha/conf/passwd, /home/svn/eha/conf/svnserve.conf

 

참고로 전 사용하는 계정이 저 혼자라 백업하지않고.. 그냥 내용을 다시 입력해버렸습니다 ㅡㅡ;

 

 

 

 

 

 

 

 

 

2. 원격서버로 덤프파일 복사하기

위 화면 처럼 백업이 완료되면, sftp 명렁어로 이관할 새 서버로 접속합니다.

 

 

그리고 아래 FTP 명령어로 원격서버에 파일을 복사할 수 있습니다, sftp명령어를 잘 모르면 help 치면 나옵니다.

 

put [복사하고자하는 파일명]

 

요렇게 업로드가 잘 됩니다.

 

 

 

 

 

 

3. 복사한 파일 반영하기

이제 덤프한 파일을 반영할 차례입니다. 새 minipc로 접속합니다.

우선 신규서버에 svn이 설치안되어있다면 svn 을 설치해야겠죠.

 

sudo apt-get install subversion

 

그리고 저장소를 우선 생성합니다.(편의상 똑같이 했습니다.)

 

sudo svnadmin create /home/svn/eha

sudo svnadmin create /home/svn/eha-win

sudo svnadmin create /home/svn/eha-app

 

 

이제 덤프한 것을 복원합니다. 경로는 각자의 환경에 따라 다르니 유의해주세요.

sudo svnadmin load /home/svn/eha < /home/erith/svn.eha.dump

sudo svnadmin load /home/svn/eha-win < /home/erith/svn.eha-win.dump

sudo svnadmin load /home/svn/eha-app < /home/erith/svn.eha-app.dump

 

잘되고 있습니다.

 

 

 

이제 각 폴더에 authz, passwd 등을 수정합니다.

 

authz 에는

[/]

계정명 = rw  

passwd 에는[users] 섹션에

계정명 = 비밀번호

 

가 추가하였습니다.

 

 

이제 svn 을 시작하고.

svnserve -d -r /home/svn

시스템 재시작시 자동 시작되도록  /etc/rc.local 에도 추가합니다.

sudo vi /etc/rc.local

 

svnserve -d -r /home/svn 

 

 

 

 

 

 

참고로, 윈도우 개발환경에 Tortoise SVN을 사용하신다면, Relocate 메뉴를 이용하면서 쉽게, 연결된 저장소 주소를 바꿀 수 있습니다.

 

 

 

예전에 사용하던 아이폰, 아이패드 30핀 USB 케이블은 문제점이 좀 사용하다보면, 한쪽 끝이 단선이 잘되는 문제가 있었습니다.

단선된 USB케이블을 활용하여 5V USB전원 케이블로 리폼해보았습니다.

(30핀 단자쪽이 단선되어야 이것도 활용할 수 있겠네요. USB단자쪽이 단선되면 리폼하게 어려울 것 같습니다.)



USB 핀 구성을 아래 그림과 같습니다. 빨간색과, 검은색이 전원용도입니다.




케이블은 아래와 같습니다. 다만, 아이폰 케이블의 경우 GND가 약간 밝은 회색이었고, USB VCC는 핑크색에 가까웠습니다.

USB DATA(-)는 흰색이었구요.



연결이 용이 하도록, 기존 케이블을 니퍼로 잘라내고, 점퍼 케이블과 남땜 작업하였습니다.

이대로 사용한다면 합선 될 수도 있기 때문에 절연 작업을 해줘야합니다. 전기테입을 써도 되겠지만, 

테입의 접착제 때문에 찐덕찐덕해지는게 싫어 수축튜브를 사용하였습니다.

점퍼케이블에 맞는 사이즈는 DRS-1.5mm입니다. 쇼핑몰, 알리등에서 여러사이즈를 모아~ 모아서 저렴하게 팔기 때문에..

한꺼번에 셋트로 사는 것도 좋을 듯 합니다.










수축튜브를 넣기 위해 핀헤더를 임시로 제거합니다.

 커터칼등으로 헤더 안에 걸리는 부분을 살짝 들어올려주면 잘 빠집니다.(사진의 화살표 부분)







수축튜브를 넣고...





드라이기로 열을 가하면,






깔끔하게 되었네요.





케이블 테스트를 위한 전체적인 모습입니다.





멀티미터를 이용해 기존에 사용하던 어댑터의 전류를 측정해보았습니다. 

1.19A 정도가 흐르고 있군요.

잘 된 것 같습니다!.




+ Recent posts