TIM Labs

Chainer:mnist_train.pyをちょっとだけ変更でCIFAR-10を学習させてみた

| コメント(0) | トラックバック(0)
CIFAR-10のデータが取得できたのは前回わかった。
そうなったら、やはりいち早くディープラーニングをやってみたい。
一番てっとり早いのは、プログラムを書かないことだ。
ということで、横着なことを考えた。

今までMNISTのプログラム train_mnist.py をいじってきた。
ならば、このプログラムをちょっと変更するだけで、CIFAR-10に対応することはできないだろうかと考えるのが自然であろう。

そして、頑張らない作業をやった。
そして、diff がこれだけだ。
CIFAR-10$ diff ../mnist/train_mnist1.py train_cifar1.py
53c53
<     parser.add_argument('--number', '-n', type=int, default=60000,
---
>     parser.add_argument('--number', '-n', type=int, default=50000,
77c77
<     train, test = chainer.datasets.get_mnist()
---
>     train, test = chainer.datasets.get_cifar10()
CIFAR-10$ 
変更は、たった2個所である。

学習データが60000から50000に変更になったので、デフォルトの値を変えた。
何も指定がないときは、実際のデータのサイズに自動的に合わせるようにすれば、この変更は不要になる。

そして、データの取得先の変更を、chainer.datasetsに用意されているメソッド get_mnist() を get_cifar10() に変更した。
さすがこの変更はしないと、無理である。

たったこれだけの変更で、プログラムが動くであろうか。

MNISTは、28x28のグレースケールの画像である。
CIFARは、32x32のカラーの画像なので、32x32のR,G,Bのデータが入っていて、3x32x32の画像である。
これが、上記の最高に手抜きした変更で動くのであろか。
相当疑問である。


CIFAR-10$ python train_cifar1.py -g 0
GPU: 0
# number: 50000
# units: [1000, 1000]
# Minibatch-size: 100
# epoch: 20

結果は次回のお楽しみ
このあと予想されることは、

  1. エラーが起きて、止まってしまう。
  2. とりあえず動くが、意味不明な結果がでる。
  3. ちゃんと動いて、それなりの学習が行われたことが分かる。

さて、どれでしょう。

トラックバック(0)

トラックバックURL: http://labs.timedia.co.jp/mt/mt-tb.cgi/614

コメントする

このブログ記事について

このページは、fujiが2017年5月 4日 00:00に書いたブログ記事です。

ひとつ前のブログ記事は「ChainerでCIFAR-10を読み込んで画像を見てみた。」です。

次のブログ記事は「Chainer:CIFAR-10のカラー画像の学習の最初の一歩」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。