スポンサーリンク

KerasでCNNの写経(1)

今出版されているKerasの使い方が詳細に書いてある本は以下のみ。

最終的な目標として、とある画像をCNN(畳み込み)を使って機械学習を行い、回帰を行いたい!(分類ではなく、数値を出力させたい。)

手書き文字認識などのチュートリアルの最後を、Softmax関数にしないで、恒等関数にすればよいらしいのであるが、私にはYの入力方法がググっても分からなかった。

とりあえず、手元に、Keras 1d-CNN の日本語の解説があったので、試してみる。

http://qiita.com/HirofumiYashima/items/667cefcabf84278e6a67

(環境)
Windows8.1
Anaconda
Python 3.6
Tensorflow 1.1
Keras 2.0

(1)Anaconda Promptを起動して、jupyter notebook

上記サイトのソースコードをコピペ

なんだか、Keras 2.0になって少し書き方が変わったのかな?

https://keras.io/ja/layers/convolutional/
Keras Documentation
Docs » レイヤー » Convolutionalレイヤー

ドキュメント見てもさっぱり。ドキュメントが2.0に対応しているのかどうかもさっぱり、、、

1個目のWarningは、

conv_1d_output_layer = Convolution1D(50, 3, input_shape=(None, 1, 3), padding="same")(input_layer)

と書き直したら消えた。

2個目のWarningは、以下のStackoverflowを参照すると、Model()の中のinput => inputs, output => outputs にすればよいのかな?

https://github.com/fchollet/keras/issues/7602

https://keras.io/ja/models/model/

どうやらそうらしい。。。

(2)1d CNNモデル の コンパイル実行

引き続きコピペ

これはそのままでOKのよう

(3)モデル学習

引き続きコピペ

model.fit()の中では、Keras2.0からは、 `nb_epoch` => `epochs` とのこと?

https://keras.io/ja/models/model/

ここまでのコードを以下に記載する。

 

続きはまた、、、