티스토리 뷰
Caffe at Windows #03
- 딥러닝프레임워크
Caffe
로 윈10에서mnist
예제를 실행해봅니다2018_05_22
에 확인된Caffe
기준입니다
준비
Caffe
가 빌드된 상태를 가정하고 시작합니다- 즉 CPU 또는 GPU로 빌드된
Caffe
가 준비되어야 합니다
LMDB 생성
Windows + S
키를 입력합니다- 검색창에서
Windows PowerShell
을 검색합니다
※pow
만 입력해도 자동완성으로 등장합니다 Windows PowerShell
을 실행합니다
caffe
폴더 위치까지 이동합니다caffe
폴더 위치는$CAFFE_ROOT
라 명명하겠습니다- 글쓴이의 경우
$CAFFE_ROOT = C:\Library\caffe
입니다
$CAFFE_ROOT
에서./data/mnist/get_mnist.ps1
을 입력합니다
mnist
예제 이미지 파일을 다운로드 받기 시작합니다
- 위와 같은 문구들을 볼 수 있습니다
- 해당 폴더에
t10k...
또는train...
으로 시작하는 파일 8개가 추가됩니다
- 파일탐색기에서
($CAFFE_ROOT)\examples\mnist
위치로 이동합니다 create_mnist.ps1
을 우클릭한 뒤편집
을 선택합니다
- 28행의 코드를 수정합니다
$BUILD\convert...
→$BUILD\Release\convert...
- 30행의 코드를 수정합니다
$BUILD\convert...
→$BUILD\Release\convert...
$CAFFE_ROOT
에서./examples/mnist/create_mnist.ps1
을 입력합니다get_mnist.ps1
으로 다운로드 받은 이미지 파일들로lmdb
파일을 생성합니다
lmdb
폴더 2개가 생성된 것을 볼 수 있습니다
훈련시키기
lenet_solver.prototxt
를 우클릭한 뒤편집
을 선택합니다
- 학습에 사용할 프로세서를 선택합니다
CPU
를 선택하려면CPU
를 입력합니다GPU
를 선택하려면GPU
를 입력합니다
- 변경사항을 저장한 다음 파일을 닫습니다
※ CPU
로 학습하는 경우 GPU
에 비해 시간이 매우 오래 걸립니다
※ 따라서 CPU
로 학습한다면 max_iter
의 값을 낮추는 것을 추천합니다
train_lenet.ps1
을 우클릭한 뒤편집
을 선택합니다
- 10행의 코드를 수정합니다
$BuildDir\tools\caffe.exe...
→$BuildDir\tools\Release\caffe.exe...
$CAFFE_ROOT
에서./examples/mnist/train_lenet.ps1
을 입력합니다- 훈련과정이 출력되고
max_iter
의 값만큼 반복한 뒤 학습이 종료됩니다
lenet_iter...
로 시작하는 파일 4개가 추가됩니다*.caffemodel
- 신경망상태를 저장하는 파일입니다
- 이 파일을 기반으로 판별을 수행할 수 있습니다
*.solverstate
- 훈련상태를 저장하는 파일입니다
- 이 파일을 기반으로 훈련을 이어갈 수 있습니다
※ lenet_solver.prototxt
의 snapshot
초기값은 5000으로 설정되어있습니다
※ 따라서 10000번 반복한 결과뿐만 아니라 중간결과인 5000번도 생성된 것입니다
판별시키기
$CAFFE_ROOT
에서- 스크린샷과 동일하게 입력합니다
- 훈련용
LMDB
를 기반으로 이미지 mean 파일을 생성합니다
($CAFFE_ROOT)\examples\mnist
위치에서mean.binaryproto
파일이 생성됨을 확인할 수 있습니다
label.txt
라는 텍스트파일을 생성합니다- 입력값을 어떻게 분류하는지에 대해 명령하는 역할을 수행합니다
- 텍스트파일의 각 행을 0부터 9까지 채웁니다
※ mnist
파일은 손으로 작성한 숫자 이미지들입니다
※ 따라서 mnist
파일로 학습시킨 결과로는 숫자만 판별할 수 있습니다
Windows + R
키를 눌러 실행창을 띄웁니다mspaint
를 입력하고Enter
를 누릅니다
- 그림판에서
크기 조정
을 클릭합니다 28 * 28
크기의 이미지로 조정합니다
- 적당한 도구로 숫자를 그립니다
- 이미지를
png
파일로 저장합니다- 글쓴이는
number_0.png
로 저장했습니다
- 글쓴이는
$CAFFE_ROOT
에서- 스크린샷과 동일하게 입력합니다
- 입력값이 어떤 숫자로 판별되었는지 보여줍니다
1.0000 - "0"
은 입력값이 0일 확률이 100%임을 의미합니다
※ 다른 숫자를 그린 png
파일을 입력값으로 전달하여
※ 다른 숫자들에 대해서도 판별해볼 수 있습니다
이상으로 Caffe
로 mnist
예제를 실행하는 과정을 알아보았습니다
감사합니다
'Computer Science > Artificial Intelligence' 카테고리의 다른 글
Introduction to A.I. (2/5) (0) | 2018.10.13 |
---|---|
Introduction to A.I. (1/5) (0) | 2018.10.07 |
Summary of Reinforcement Learning (0) | 2018.08.25 |
Caffe at Windows #02 (1) | 2018.06.02 |
Caffe at Windows #01 (23) | 2018.05.23 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- shader
- git
- C/C++
- windows
- unreal
- csharp
- CUDA
- Hashtable
- CAFFE
- Anaconda
- WindowAPI
- JIT
- Game
- pclaf
- visualstudio
- Python
- visual-studio
- tensorflow
- ATOM
- dll
- NOX
- cuDNN
- Slack
- DirectX
- unity
- PopeTV
- lib
- A.I.
- Docker
- vscode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함