【问题标题】:ValueError: Layer sequential_16 expects 1 input(s), but it received 8 input tensorsValueError: Layersequential_16 需要 1 个输入,但它接收到 8 个输入张量
【发布时间】:2021-10-29 12:53:01
【问题描述】:

我有多个 csv 输入并尝试测试神经网络。我在 cvs (211583x8) 中有 8 个功能。我得到“ValueError:Layersequential_16 需要 1 个输入,但它接收到 8 个输入张量。”谁能帮我解决这个错误?

train_dataset = tf.data.experimental.make_csv_dataset(
    file_pattern = train_file_names,
    batch_size=10, num_epochs=1,
    num_parallel_reads=20,
    shuffle_buffer_size=10000)

validation_dataset = tf.data.experimental.make_csv_dataset(
    file_pattern = validation_file_names,
    batch_size=10, num_epochs=1,
    num_parallel_reads=20,
    shuffle_buffer_size=10000)

test_dataset = tf.data.experimental.make_csv_dataset(
    file_pattern = test_file_names,
    batch_size=10, num_epochs=1,
    num_parallel_reads=20,
    shuffle_buffer_size=10000)

model = tf.keras.Sequential()

model.add(layers.Dense(8, activation="relu",input_shape=(1, 7) ))
model.add(layers.Dense(8, activation="relu",input_shape=(1, 7)))
model.add(layers.Dense(8, activation="softmax",input_shape=(1, 7)))
model.add(layers.Dense(1))
model.summary()

model.fit(train_dataset, validation_data = validation_dataset,
         validation_steps = validation_steps, epochs = 10)

【问题讨论】:

    标签: python tensorflow machine-learning keras deep-learning


    【解决方案1】:

    使用正确的输入形状添加输入。

    import tensorflow as tf
    
    model = tf.keras.models.Sequential()
    model.add(tf.keras.Input(shape=(8,)))
    model.add(tf.keras.layers.Dense(8, input_shape = (1,7) , activation='relu'))
    model.add(tf.keras.layers.Dense(8, input_shape = (1,7) , activation='relu'))
    model.add(tf.keras.layers.Dense(8, input_shape = (1,7) , activation='softmax'))
    model.add(tf.keras.layers.Dense(1))
    model.output_shape
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-15
      • 2021-09-02
      • 2021-07-14
      • 1970-01-01
      • 2021-12-20
      • 2022-09-28
      • 2021-09-28
      相关资源
      最近更新 更多