![](/img/trans.png)
[英]How to initialize a Conv2D layer with predetermined list of kernels in tensorflow/keras?
[英]Keras TensorBoard visulize Conv Kernels
我使用 Keras 和 TensorFlow 作為后端。 現在我想使用 TensorBoard 回調來可視化我的卷積層內核。 但是我只能看到 TensorBoard 中的第一個 conv 層內核以及最后的 Dense 層。 對於其他 conv 層,我只能使用偏差值而不是內核。
這是我的 Keras 模型示例代碼。
tb = TensorBoard(
log_dir=log_dir,
histogram_freq=epochs,
write_images=True)
# Define the DNN
model = Sequential()
model.add(Conv2D(filters=16, kernel_size=3, input_shape=(width, height, depth), name="conv1"))
model.add(Activation("relu"))
model.add(Conv2D(filters=16, kernel_size=3, name="conv2"))
model.add(Activation("relu"))
model.add(MaxPool2D())
model.add(Conv2D(filters=32, kernel_size=3, name="conv3"))
model.add(Activation("relu"))
model.add(Conv2D(filters=32, kernel_size=3, name="conv4"))
model.add(Activation("relu"))
model.add(MaxPool2D())
model.add(Flatten())
model.add(Dense(128))
model.add(Activation("relu"))
model.add(Dense(num_classes, name="features"))
model.add(Activation("softmax"))
# Print the DNN layers
model.summary()
# Train the DNN
lr = 1e-3
optimizer = Adam(lr=lr)
model.compile(loss="categorical_crossentropy", optimizer=optimizer, metrics=["accuracy"])
model.fit(x_train, y_train, verbose=1,
batch_size=batch_size, epochs=epochs,
validation_data=(x_test, y_test),
callbacks=[tb])
這就是我在 TensorBoard 中看到的。 (我最小化了我的第一個卷積層的內核) TB Screenshot
我缺少什么來可視化我的所有內核?
這是 Tensorboard 回調的預期(但未在文檔中指定)行為。 請參閱Tensorboard GitHub 頁面的此相關錯誤報告的答案:
TensorBoard Keras 回調調用 tf.summary.image 而不覆蓋 max_outputs 的默認值,因此此時無法通過回調可視化前 3 個內核。
您需要使用自己的tf.summary.image
調用來可視化內核。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.