UserWarning: Update your `Conv2D`

Keras 2.0版本运行demo出错的

由于是神经网络小白,在运行demo的时候不懂keras的版本问题,出现了一下的警告:

 

C:\ProgramData\Anaconda2\python.exe"F:/Program Files (x86)/JetBrains/PycharmProjects/untitled1/CNN4.py"

Using Theano backend.

F:/Program Files(x86)/JetBrains/PycharmProjects/untitled1/CNN4.py:27: UserWarning: Update your `Conv2D`call to the Keras 2 API: `Conv2D(30, (5, 5), padding="valid",activation="relu", input_shape=(1, 28, 28...)`

 model.add(Convolution2D(30, 5, 5, border_mode='valid', input_shape=(1, 28,28), activation='relu'))

F:/Program Files(x86)/JetBrains/PycharmProjects/untitled1/CNN4.py:30: UserWarning: Update your `Conv2D`call to the Keras 2 API: `Conv2D(15, (3, 3), activation="relu")`

 model.add(Convolution2D(15, 3, 3, activation='relu'))

C:\ProgramData\Anaconda2\lib\site-packages\keras\models.py:826:UserWarning: The `nb_epoch` argument in `fit` has been renamed `epochs`.

 warnings.warn('The `nb_epoch` argument in `fit` '

 

出现这些警告是由于keras的版本更新的问题,这里是keras2.0的更新文档的链接: 
https://github.com/fchollet/keras/wiki/Keras-2.0-release-notes

再说说我出现的警告的解决方式: 
1、The nb_epoch argumenthas been renamed epochs everywhere.所以神经网络的训练次数需要用epochs来定义,不再是nb_epoch 。

 以前写法:

model.fit(X_train, y_train,validation_data=(X_test, y_test), nb_epoch=69, batch_size=200, verbose=2)

 正确写法:

model.fit(X_train, y_train,validation_data=(X_test, y_test), epochs=69, batch_size=200, verbose=2)

 

2、Convolution* layersare renamed Conv*.所以定义卷积层需要用Conv2D而不再是Convolution2D

正确写法:注意(5, 5) 是括号括起来,以前不用括起来

from keras.layers.convolutional import Conv2D

model.add(Conv2D(32, (5, 5), padding='valid',input_shape=(1, 28, 28), activation='relu'))

 以前错误写法:

from keras.layers.convolutional import Convolution2D

model.add(Convolution2D(32, (5, 5),padding='valid', input_shape=(1, 28, 28), activation='relu'))

再次运行demo的话警告全无! 
所以作为初学者还是需要注意keras2.0版本的一些写法上的差别。笔者目前只碰到这样俩个问题,如有其他的关于keras2.0版本上的问题,请参考笔者上面给出的链接,自信查阅。

参考网站
1https://github.com/fchollet/keras/wiki/Keras-2.0-release-notes 2017.4.5

 

你可能感兴趣的:(python,tensorflow)