とりあえずpytorchを使用して機械学習を動かしてみる.
環境構築
pythonを使用して作業を進めるが他環境と混ざるのを防ぐため,Minicondaを使用してpython環境を構築していく.
MiniCondaで環境を用意
Condaの環境作成+起動
conda create -n [Env name] python=3.6
source activate [Env name]
pytorchのインストール
conda install pytorch-cpu torchvision-cpu -c pytorch
MNISTのサンプルを実行
下記サンプルからmain.pyをダウンロード,src以下に配置
MNISTサンプル
実行に必要な物が不足していないかをとりあえず実行してusageを見ようとして下記コマンドを発行.
...と思ったら何故かこれだけで動いてしまった.
python -u ./src/main.py
Train Epoch: 1 [0/60000 (0%)] Loss: 2.376790
Train Epoch: 1 [640/60000 (1%)] Loss: 2.332813
Train Epoch: 1 [1280/60000 (2%)] Loss: 2.291239
...
Train Epoch: 1 [58240/60000 (97%)] Loss: 0.326841
Train Epoch: 1 [58880/60000 (98%)] Loss: 0.338434
Train Epoch: 1 [59520/60000 (99%)] Loss: 0.523333
Test set: Average loss: 0.2073, Accuracy: 9415/10000 (94%)
Train Epoch: 2 [0/60000 (0%)] Loss: 0.352124
Train Epoch: 2 [640/60000 (1%)] Loss: 0.380363
Train Epoch: 2 [1280/60000 (2%)] Loss: 0.330867
...
Train Epoch: 10 [58240/60000 (97%)] Loss: 0.182195
Train Epoch: 10 [58880/60000 (98%)] Loss: 0.294599
Train Epoch: 10 [59520/60000 (99%)] Loss: 0.147527
Test set: Average loss: 0.0491, Accuracy: 9850/10000 (98%)
なぜ動いたのか
MNISTのデータはmain.pyの中で取得するように出来ていた.
データセットの取得
MNISTのデータ取得
取得したMNISTの画像は../dataに保存される.
→main.pyを上位層から呼び出してしまうと作業フォルダの外にdataファイルを作られてしまう.