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

  • 相关阅读:
    josn类库引用
    WPF圆角按钮
    C#实现某一属性值变化时触发事件 Form1_changeEvent是对应的事件
    C#winform生成安装包
    特性
    反射可以动态调用对象(一般是类)的名称,属性,方法等。具体见下。重要
    原子操作 和Inerlocked 常用于多线程同步
    spingboot 配置多个数据源报错
    Address already in use: JVM_Bind 端口被占用的几个解决办法
    数据库问题(一)
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/10119614.html
Copyright © 2011-2022 走看看