ユーザ用ツール

サイト用ツール


7_推測

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
7_推測 [2017/11/02] – [chainer.links.Classifierのpredictorについて] adash3337_推測 [2018/10/07] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
 ===== (7)推測 ===== ===== (7)推測 =====
  
-<ChainerでMNIST目次>\\ +<wrap hi>Chainer2でMNIST目次</wrap>\\ 
-[[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ +[[Chainer2プログラミングの全体図]] 
-(1)Chainer2を使用するためのimport文\\ +  -[[(1)Chainer2を使用するためのimport文]] 
-[[(2)データの準備・設定]]\\ +  -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]] 
-[[(3)モデルの記述]]\\ +  -[[(3)モデルの記述|(3)モデルの記述(Chainer)]] 
-[[(4)モデルと最適化アルゴリズムの設定]]\\ +  -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]] 
-[[(5)学習(Trainerを利用しない場合)]]\\ +  -[[(5)学習と結果の出力(Chainer)]] 
-[[(6)結果の出力]]\\+  -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]] 
 +  -[[(7)推測|(7)推測(Chainer)]] <wrap hi><= いまココ</wrap>
  
 <code> <code>
-#5 学習(Trainerを利用しない場合) +#predict.py 
-for epoch in range(繰り返し回数+#7 推測 
-    データの加工 +# import文 
-    model.cleargrads() #勾配初期化 + 
-    loss = model(... #誤差計算 +# modelの定義 
-    loss.backward      #勾配計算 +class MLP(chainer.Chain): 
-    optimizer.update   #パラメータ更新+    def __init__(self, n_units, n_out): 
 +        super(MLP, self).__init__() 
 +        with self.init_scope(): 
 +            モデルを記載 
 +             
 +    def __call__(self, x)
 +        モデルを記載 
 + 
 +モデルを使って判定する 
 +model = L.Classifier(MLP(1000, 10)) 
 +前回の学習結果のパラメータをインポート 
 +serializers.load_npz('my_mnist.model', model) 
 +# 画像を読み込み、データセットに変換した後(後述) 
 +# ニューラルネットワークにおけるノードに対応するオブジェクトに変換する 
 +x = chainer.Variable(image) 
 +# chainer.links.Classifierのpredictorで推測 
 +y = model.predictor(x) 
 +# y.dataという配列の中で一番大きい値をとる要素のインデックスを返す 
 +predict = np.argmax(y.data) 
 + 
 +print("predict:" , predict) 
 </code> </code>
  
行 28: 行 50:
 Chainerのインストール方法は[[Chainer2.0をWindowsにインストール]]をご覧下さい。 Chainerのインストール方法は[[Chainer2.0をWindowsにインストール]]をご覧下さい。
  
-このページは、[[(5)学習(Trainerを利用しない場合)]]の続きであり、今回は、結果の出力の記述を行っていきます。+このページは、[[(6)結果の出力]]の続きであり、今回は、推測を行っていきます。
  
 ===== 手順 ===== ===== 手順 =====
  
 ==== 0. 前回終了時の画面 ==== ==== 0. 前回終了時の画面 ====
-[[(5)学習(Trainerを利用しない場合)]]終了時の、以下のような状態から始めます。+[[(6)結果の出力]]終了時の、以下のような状態から始めます。
  
-{{:pasted:20171101-164954.png}}+{{:pasted:20171101-165650.png}}
  
 +==== 1. 推測 ====
 +
 +新しいnotebookを作成して、predict.jpynbという名前にします。 
 +
 +predict.jpynbと同じフォルダに、0.jpgという名前で28x28の手書き数字を保存しておきます。なお、Windows付属の「ペイント」などで、背景を黒で、数字の部分を白で書いて作ってください。今回は、これを推測します。
  
-==== 1. 結果の出力 ==== 
 以下のコードを入力して、Shift + Enterを押します。 以下のコードを入力して、Shift + Enterを押します。
  
-<code+<html
-#6 結果の出力 +<script src="https://gist.github.com/adash333/1505e2625906aafdc95c36b05b9d5e75.js"></script> 
-ok +</html>
-for i in range(len(test)): +
-    x = Variable(np.array([ test[i][0] ], dtype=np.float32)) +
-    t = test[i][1] +
-    out = model.fwd(x) +
-    ans = np.argmax(out.data) +
-    if (ans == t): +
-        ok += 1 +
-         +
-print((ok * 1.0)/len(test)) +
-</code>+
  
 すると、以下のような画面になります。 すると、以下のような画面になります。
  
-{{:pasted:20171101-165250.png}} 
  
-精度は96.6%との結果でした。 
  
-次に、この学習したモデルのパラメータを、「my_mnist.model」という名前で保存します。 
  
-<code> +(作成中) 
-#6.2 学習結果のパラメータ保存 +
-chainer.serializers.save_npz('my_mnist.model', model)  +
-</code>+
  
-{{:pasted:20171101-165650.png}} 
  
-すると、MNIST_MLP.ipynbと同じフォルダ(今回は、C:/py/chainer/MNIST_MLP/ フォルダ)に、「my_mnist.model」という名前のファイルが保存されます。次回、このモデルのパラメータを読み込んで、推測を行います。 
  
-{{:pasted:20171101-165837.png}} 
  
-次は[[(7)推測]]へ進んください+これでChainerMNISTの解説は終了となります
  
  
行 150: 行 158:
  
 ===== リンク ===== ===== リンク =====
-<ChainerでMNIST目次>\\ 
-[[Chainer2プログラミングの全体図|(0)Chainer2プログラミングの全体図]]\\ 
-[[(1)Chainer2を使用するためのimport文]]\\ 
-[[(2)データの準備・設定]]\\ 
-[[(3)モデルの記述]]\\ 
-[[(4)モデルと最適化アルゴリズムの設定]]\\ 
-[[(5)学習(Trainerを利用しない場合)]]\\ 
-[[(6)結果の出力]]\\ 
  
 +次 [[機械学習成果をwebで公開]]
 +
 +前 [[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
  
  
 +<wrap hi>Chainer2でMNIST目次</wrap>\\
 +[[Chainer2プログラミングの全体図]]
 +  -[[(1)Chainer2を使用するためのimport文]]
 +  -[[(2)データの準備・設定|(2)データの準備・設定(Chainer)]]
 +  -[[(3)モデルの記述|(3)モデルの記述(Chainer)]]
 +  -[[(4)モデルと最適化アルゴリズムの設定|(4)モデルと最適化アルゴリズムの設定(Chainer)]]
 +  -[[(5)学習と結果の出力(Chainer)]]
 +  -[[(6)結果の出力|(6)学習結果のパラメータの保存(Chainer)]]
 +  -[[(7)推測|(7)推測(Chainer)]] <wrap hi><= いまココ</wrap>

7_推測.1509583250.txt.gz · 最終更新: 2018/10/07 (外部編集)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki