zoukankan      html  css  js  c++  java
  • Keras 2.0版本运行

    Keras 2.0版本运行demo出错:

    d:programpython3libsite-packagesipykernel_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 voteaccepted

    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__()

  • 相关阅读:
    代码编写原则
    换个角度看世界
    不使用nib 文件时,需要改变一个view 的大小时,需要为viewcontroller添加loadView方法
    建议:一般地,建议使用xcode 4.3开发app 而不是使用xcode4.5
    iOS 5解决Could not instantiate class named NSLayoutConstraint问题
    访问对象方法比较
    让一个view 或者控件不支持拖拽
    Java Map遍历方式的选择
    Java里多个Map的性能比较(TreeMap、HashMap、ConcurrentSkipListMap)
    java List集合记录 ArrayList和LinkedList的区别
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/10119614.html
Copyright © 2011-2022 走看看