python - Keras 模型到 Theano 函数

标签 python deep-learning keras

我正在尝试将经过训练的模型(下面给出的代码)转换为 theano 函数。但我收到以下错误:AttributeError: 'Dense' object has no attribute 'output'

我的模型代码:

model = Sequential()

model.add(Convolution2D(32, 3, 3, border_mode='same',
                        input_shape=(img_channels, img_rows, img_cols)))
model.add(Activation('relu'))
model.add(Convolution2D(32, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Convolution2D(64, 3, 3, border_mode='same'))
model.add(Activation('relu'))
model.add(Convolution2D(64, 3, 3))
model.add(Activation('relu'))
model.add(MaxPooling2D(pool_size=(2, 2)))
model.add(Dropout(0.25))

model.add(Flatten())
model.add(Dense(512))
model.add(Activation('relu'))
model.add(Dropout(0.5))
model.add(Dense(nb_classes))
model.add(Activation('softmax'))

# let's train the model using SGD + momentum (how original).
sgd = SGD(lr=0.01, decay=1e-6, momentum=0.9, nesterov=True)
model.compile(loss='categorical_crossentropy',
              optimizer=sgd,
              metrics=['accuracy'])

我使用以下代码将 Keras 模型转换为 theano 函数 this tutorial :

 from keras import backend as K
    get_last_layer_output = K.function([model.layers[0].input],
                                       [model.layers[-1].output])
    y=f(patches)

谁能告诉我该怎么做?

最佳答案

试试 model.layers[-1].get_output(train=False)original Keras tutorial可能已过时。

关于python - Keras 模型到 Theano 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37467538/

相关文章:

python - 遍历文件夹,提取不带扩展名的文件名并在 Python 中分配为 API 变量名

python - 为什么我在简单的 Keras 功能 API 中收到输入错误?

machine-learning - 二元掩模分类的最佳输出激活函数

python - 为什么 %config 行在 Python 3.7 中给出语法错误?

python - 在 Pandas 中进行反向多热编码的最快方法是什么?

python - OSX 使用 os.system 运行 Scrapy 脚本

python - Python 中的日期排序

machine-learning - 如何在python上播放音频而不保存音频文件

python - 在 Keras 中获得每个类(class)的精确度、召回率和 F1 分数

python - 如何使用增强来设置训练,同时确保未增强的实际图像也得到训练?