gpt4 book ai didi

python - Keras: "must compile model before using it"尽管使用了 compile()

转载 作者:行者123 更新时间:2023-12-04 16:50:37 24 4
gpt4 key购买 nike

我想在 Keras 中创建和训练一个用于纸币分类的 CNN 模型。使用简单的教程创建模型效果很好,但不适用于我从这里采用的架构 paper .
Keras 输出:RuntimeError('You must compile your model before using it.')fit_generator()叫做。

如果相关,我会使用 tensorflow 后端。

模型在 model.py 中定义:

from keras.layers import ...
model = Sequential()
model.add(some_layer)

... #according to the paper

model.add(some_layer)
model.add(Dense(#output_classes, activation='softmax') #last layer

model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
model然后从 start_train.py 使用:
from model import model as m

#some ImageGenerator stuff as input

m.fit_generator( #training on train_data
train_pics,
steps_per_epoch=#steps,
epochs=#epochs,
validation_data=test_pics,

据我了解,Keras 的流程如下:
  • 定义模型
  • 编译模型
  • (如果需要,可以在编译后立即使用evaluate() & summary())
  • 拟合模型
  • 评估模型。

  • 我测试是否 model.py在调用 fit_generator() 之前访问它工作正常。我没有想法,想知道我做错了什么,特别是因为相同的设置适用于基本模型/架构。

    任何帮助表示高度赞赏! :)

    最佳答案

    发现我的错误 - 解释以供将来引用。
    错误起源于 compile()第一个 if 语句说:

    if not self.built:
    # Model is not compilable because
    # it does not know its number of inputs
    # and outputs, nor their shapes and names.
    # We will compile after the first
    # time the model gets called on training data.
    return
    所以我指定了 input_shape=input_format=在第一 Conv2D层,一切正常。

    关于python - Keras: "must compile model before using it"尽管使用了 compile(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51792108/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com