落書き Numo/NArray 最小近傍法

投稿者: | 2016年7月7日

Numo/NArrayで最小近傍法でMNISTやるのってすごく簡単じゃないかと思って書いてみた。

まずは、MNISTを読み込む。

最初からNArrayに詰め込みます。SFloatにしたのは、あとでrmsを使うため。

トレインイメージ60000個を使って、
テストイメージ10000個がどの数字を表しているかを最小近傍法で一気に判定します。

なお、上記の書き方は普通のPCでは不可能な量のメモリが必要になります。運が悪ければPCがフリーズするかもしれません。
通常はメモリが足りなすぎて下記のエラーが出ると思います。
in `allocate’: failed to allocate memory (NoMemoryError)

(NoMemoryError)/フリーズしないように、test_imagesの最初の数個だけ判定するようにします。

予想:Numo::Int8(view)#shape=[3]
[7, 2, 1]
正解:Numo::Int8(view)#shape=[3]
[7, 2, 1]
正解の数:3
不正解の数:0

うまく判定されているようです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です