Keras 2.0版本運行


Keras 2.0版本運行demo出錯:

d:\program\python3\lib\site-packages\ipykernel_launcher.py:8: UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(32, (3, 3), activation="relu")`

 

使用Keras時用到了卷積層Convolution2D( )以及Model.fit( ):

x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x)
Model.fit(x_train, x_train, nb_epoch=10, batch_size=256, shuffle=True, validation_data=(x_test, x_test))

遇到了如下錯誤:

UserWarning: Update your `Conv2D` call to the Keras 2 API: `Conv2D(1, (3, 3), padding="same", activation="sigmoid")`
decoded = Convolution2D(1, 3, 3, activation='sigmoid', border_mode='same')(x)

在查看了github上的Keras 2.0發行說明后,發現這是從Keras 1到Keras 2發生的變化.

此處涉及到的有:
Convolution* 層被重新命名 Conv* ;
border_mode - > padding ;
nb_epoch - > epochs;
kernel_size可以設置為一個整數,例如Conv2D(10, 3)相當於Conv2D(10, (3, 3));

因此,

x = Convolution2D(8, 3, 3, activation='relu', border_mode='same')(x)
Model.fit(x_train, x_train, nb_epoch=10, batch_size=256, shuffle=True, validation_data=(x_test, x_test))


改為:

x = Conv2D(8, 3, activation='relu', padding='same')(x)
Model.fit(x_train, x_train, epochs=10, batch_size=256, shuffle=True, validation_data=(x_test, x_test))

 

修正后版本:

from keras.models import *
from keras.layers import *
import sys

input_tensor = Input((height, width, 3))
x = input_tensor
for i in range(4):
    x = Conv2D(32*2**i, 3, activation='relu')(x)
    x = Conv2D(32*2**i, 3, activation='relu')(x)
    x = MaxPooling2D((2, 2))(x)

x = Flatten()(x)
x = Dropout(0.25)(x)
x = [Dense(n_class, activation='softmax', name='c%d'%(i+1))(x) for i in range(4)]
model = Model(inputs=input_tensor, outputs=x)

model.compile(loss='categorical_crossentropy',
              optimizer='adadelta',
              metrics=['accuracy'])

  


其他更多變化參見:Keras 2.0發行說明
原文:https://blog.csdn.net/akadiao/article/details/80405766

 

ImportError: No module named 'keras.utils.visualize_util'

1、Q:ImportError: No module named visualize_util

A:自從2017年之后,visualize_util 變成vis_utils, 並且plot函數重新命名成plot_model.

down vote accepted

You will have to either fix the code manually, or downgrade Keras.

By looking at the commit history of that module, you can see that it was renamed on February 28, 2017 from visualize_util to vis_utils. The plot function was also renamed to plot_model.

 

 

python 版本問題

Traceback (most recent call last):
  File “<pyshell#32>”, line 1, in <module>
    f.next()
AttributeError: ‘generator’ object has no attribute ‘next’

原因是在python 3.x中 generator(有yield關鍵字的函數則會被識別為generator函數)中的next變為__next__了,next是python 3.x以前版本中的方法

修改為下面這樣運行正常
f=fab(5)
f.__next__()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM