【发布时间】:2020-04-11 15:18:36
【问题描述】:
我正在尝试使用 keras(2.3.1 版)和 tensorflow(1.13.1 版)创建一个顺序 MLP 模型。
我这样创建模型:
model = keras.models.Sequential([
keras.layers.Flatten(input_shape=[24, 49]),
keras.layers.Dense(300, activation="relu"),
keras.layers.Dense(300, activation="relu"),
keras.layers.Dense(300, activation="relu"),
keras.layers.Dense(50, activation="relu"),
keras.layers.Dense(1, activation="softmax")
])
然后像这样编译它:
model.compile(loss="sparse_categorical_crossentropy",
optimizer=keras.optimizers.Adam(lr=0.001),
metrics=["accuracy"])
其中引发错误:
ValueError: Tensor conversion requested dtype int32 for Tensor with dtype float32: 'Tensor("metrics/acc/Cast_6:0", shape=(?, 1), dtype=float32)'
但是如果我删除metrics=["accuracy"] 行,代码编译不会出错。我见过一些人使用 tf.cast() 进行投射,但我不确定它会去哪里。
【问题讨论】:
标签: python tensorflow keras neural-network valueerror