Keras:AttributeError:'int'对象没有属性'lower'

我正在构建一个以 keras 和 tensorfrolw 作为后端的神经网络。它有从 0 到 9 的 3 个输入和从 0 到 9 的 3 个输出。数据在一个 numpy 数组中提供,如下所示: [ ['1' '4' '0'] ['6' '2' '1'] ...]。


我是深度学习的新手,这是我的第一个神经网络之一,所以我迷路了,不知道是什么导致了这个错误。


我知道我可能需要更改优化器、损失、指标和可能更多的属性,如果有人对此有任何见解,请分享。


model = keras.Sequential([

    keras.layers.Flatten(3, input_shape=(3, 3)),

    keras.layers.Dense(9, activation="relu"),

    keras.layers.Dense(9, activation="relu"),

    keras.layers.Dense(3, activation="relu")

])

model.compile(optimizer="adam", loss="sparse_categorical_crossentropy", metrics=["accuracy"])

model.fit(training_input, training_output, epochs=5)

当我运行这个程序时,我得到这个错误:


Traceback (most recent call last):

  File "C:/Users/---/---/---/---/---/---/---/main.py", line 15, in <module>

    keras.layers.Flatten(3, input_shape=(3, 3)),

  File "C:\Users\---\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\layers\core.py", line 571, in __init__

    self.data_format = conv_utils.normalize_data_format(data_format)

  File "C:\Users\---\AppData\Local\Programs\Python\Python37\lib\site-packages\tensorflow_core\python\keras\utils\conv_utils.py", line 191, in normalize_data_format

    data_format = value.lower()

AttributeError: 'int' object has no attribute 'lower' \


开满天机
浏览 377回答 2
2回答

HUX布斯

请查看Keras 文档以了解如何使用Flatten()图层。你在滥用Flatten.&nbsp;我建议您在模型之前对数据进行重塑并前馈到模型中。

胡说叔叔

当我不应该提供的时候,我已经为 flatten 层提供了一个参数。破获:import tensorflow.keras.layers as lh = i = l.Input(shape=(10, 5))h = l.Flatten(50)(h) # don't do this!o = l.Dense(50)(h)model = keras.Model(inputs=i, outputs=o)model.compile(optimizer='adam', loss='mse')没有指定参数,模型编译:import tensorflow.keras.layers as lh = i = l.Input(shape=(10, 5))h = l.Flatten()(h) # do this!o = l.Dense(50)(h)model = keras.Model(inputs=i, outputs=o)model.compile(optimizer='adam', loss='mse')
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python