Python Keras模型到Theano函数

Python Keras模型到Theano函数,python,deep-learning,keras,Python,Deep Learning,Keras,我试图将一个经过训练的模型(下面给出的代码)转换为theano函数。但我得到了以下错误:AttributeError:“Dense”对象没有属性“output” 我的模型的代码: model = Sequential() model.add(Convolution2D(32, 3, 3, border_mode='same', input_shape=(img_channels, img_rows, img_cols))) model.add(A

我试图将一个经过训练的模型(下面给出的代码)转换为theano函数。但我得到了以下错误:
AttributeError:“Dense”对象没有属性“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函数:


有人能告诉我怎么做吗?

试试
model.layers[-1]。获取输出(train=False)
。可能已过时。

Hey-请指定您使用的Keras版本。自版本1.0以来,在实现上有很多变化。我使用的是keras和TheanNow的最新版本,现在又出现了一个错误。在第二行i,e,y=f(面片)。错误为AssertionError:asserttype(inputs)in{list,tuple}.@AvijitDasgupta
y=f([patches])
怎么样?是的!我已经将其更改为y=f([patches])。让我试试,我会让你知道:)如何指定批量大小?可变补丁太大,无法放入我的GPU内存中:/通过在for循环中调用函数,您必须手动处理批处理构造
 from keras import backend as K
    get_last_layer_output = K.function([model.layers[0].input],
                                       [model.layers[-1].output])
    y=f(patches)