【问题标题】:Why Flatten layer has two input in tensorboard为什么 Flatten 层在张量板上有两个输入
【发布时间】:2020-11-13 01:39:17
【问题描述】:

这是一个重现问题的简单示例:

model = keras.models.Sequential()
model.add(keras.layers.Flatten(input_shape=[784,]))
model.add(keras.layers.Dense(300, activation="relu"))
model.add(keras.layers.Dense(10, activation="softmax"))

import numpy as np 

X_train = np.random.normal(size=(100, 784))
y_train = np.random.randint(low=0, high=10, size=(100,))

X_valid = np.random.normal(size=(50, 784))
y_valid = np.random.randint(low=0, high=10, size=(50,))

model.compile(optimizer=tf.keras.optimizers.Adam(),
          loss='sparse_categorical_crossentropy',)

tensorboard_cb = tf.keras.callbacks.TensorBoard(
    log_dir='logs', histogram_freq=0, write_graph=True, write_images=False,
    update_freq='epoch', profile_batch=0, embeddings_freq=0,
    embeddings_metadata=None)
history = model.fit(X_train, y_train, epochs=20, validation_data=(X_valid, y_valid), callbacks=tensorboard_cb)

这是张量板上的结果:

【问题讨论】:

  • 我添加了compile 语句以使示例完整

标签: python tensorflow keras tensorboard


【解决方案1】:

我重新运行您的代码,发现模型图表上只有 1 个输入。也没有dense_2 层。也许您将日志目录用于超过 1 个模型,所以这让 Tensorboard 感到困惑?

尝试重新运行模型,从干净的日志目录开始(在运行前更改名称或删除旧目录)。

【讨论】:

  • 因为我是在jupyter上运行的,所以我认为它可以保存多个相同的东西
猜你喜欢
  • 2017-12-18
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多