3 回答

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊
最好的方法是改變你的 keras 模型并重新訓(xùn)練。
無(wú)論如何,如果您無(wú)法重新訓(xùn)練您的網(wǎng)絡(luò),您可以手動(dòng)編輯您的model.json文件。
您需要在model.json文件中找到輸入層并添加
"config": {
...
"batch_input_shape": [
null,
28,
28,
1
]
...
}

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超9個(gè)贊
嘗試將您的神經(jīng)網(wǎng)絡(luò)調(diào)整為以下格式:
input_img = Input(batch_shape=(None, 28,28,1))
layer1=Conv2D(filters=64, kernel_size=5, data_format="channels_last", activation="relu")(input_img)
layer2=BatchNormalization()(layer1)
.
.
.
final_layer=Dense(units=8, activation="softmax")(previous_layer)
……等等。在最后:
model = Model(inputs = input_img, outputs = final_layer)

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊
您必須在 keras 模型的 Conv2D 層中指定輸入形狀。
# imports ...
model = Sequential()
model.add(Conv2D(input_shape=(28, 28, 1), filters=64, kernel_size=5, data_format="channels_last", activation="relu"))
model.add(BatchNormalization())
model.add(MaxPooling2D(data_format="channels_last"))
model.add(Conv2D(filters=32, kernel_size=3, data_format="channels_last", activation="relu"))
model.add(BatchNormalization())
model.add(MaxPooling2D(data_format="channels_last"))
model.add(Flatten(data_format="channels_last"))
model.add(Dense(units=256, activation="relu"))
model.add(Dense(units=128, activation="relu"))
model.add(Dense(units=32, activation="relu"))
model.add(Dense(units=8, activation="softmax"))
# training ...
model.save("model.h5")
添加回答
舉報(bào)