第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開發(fā)者教程

TensorFlow 入門教程

首頁 慕課教程 TensorFlow 入門教程 TensorFlow 入門教程 在 TensorBoard 之中記錄圖片數據

在 TensorBoard 之中記錄圖片數據

在之前的學習之中,我們了解了如何在 TensorBoard 之中查看 Loss 、準確率等指標的變化,也學習了如何在 TensorBoard 之中查看網絡模型圖。這些數據都是一些文本數據,那么我們能查看一些多媒體數據?答案是可以的,那么我們這節(jié)課就來學習一下如何在 TenosrBoard 之中查看圖片數據。

1. 查看單張圖片

我們在訓練的過程之中可能要查看一下數據的基本樣式,那么我們便可以使用 TensorBoard 來進行圖片的查看工作,這邊我們仍然以 Mnist 數據集為例。

首先我們需要導入數據:

import numpy as np
import tensorflow as tf

(x_train, y_train),(x_test, y_test) = tf.keras.datasets.mnist.load_data()

比如,我們要查看第一張訓練集的圖片:

file_writer = tf.summary.create_file_writer("logs/images/1")


img = np.reshape(x_train[0], (1, 28, 28, 1))

with file_writer.as_default():
  tf.summary.image("First train data", img, step=0)

首先,我們將日志目錄定義在了 logs/images/1 文件夾下,然后我們通過以下 API 來實現圖片數據的輸出:

tf.summary.image("First train data", img, step=0)

其中第一個參數為名稱,也就是圖片的標簽,第二個參數為圖片本身,第三個圖片為當前的步數,如果只查看靜態(tài)圖片,那么設置為 step=0 就看足夠了。

然后我們啟動 TensorBoard ,便可以在瀏覽器的 Image 選項卡之中查看到具體的圖片了:

圖片描述

通過左邊的調節(jié)器,我們可以調節(jié)明暗度和對比度。

2. 查看多張圖片

前面我們學習了如何查看單張圖片,那么如果我們想要查看很多張圖片要如何進行呢?

其實與單張圖片的查看幾乎完全一樣,唯一不同的是,我們想要留意圖片的數量以及 Batch 的大小

with file_writer.as_default():
  images = np.reshape(x_train[:16], (-1, 28, 28, 1))
  tf.summary.image("First 16 train images", images, max_outputs=16, step=0)

在這里,我們選擇查看訓練集的前 16 張圖片,因此,我們要將其重新 Reshape 為如下的形狀:

(圖片數量, 圖片長, 圖片寬, 通道數量)

因此這里便是:

(16, 28, 28, 1)

如果不想計算 Batch 數量,可以直接使用 -1 代替:

(-1, 28, 28, 1)

于是,在 TensorBoard 之中,我們便可以在 “First 16 train images” 選項卡下面查看到我們的 16 張圖片了:

圖片描述

3. 自定義生成圖片

在前面的學習之中,我們能輸入的圖片都是內置的圖片或者數據集的圖片。那么我們在這一小節(jié)便來學習一下如何將自己繪制的圖片輸入到 TensorBoard 之中。

這里涉及到一定的繪圖知識,因此我們不會繪制過于復雜的圖片,我們會繪制一張簡單的圖片,然后將其輸出到 TensorBoard 之中。

首先我們要繪制出一張我們自定義的圖片:


import matplotlib.pyplot as plt
import io

figure = plt.figure()

# 繪圖
x = [1, 2, 3, 4]
y = [1.2, 2.5, 4.5, 7.5]
plt.plot(x, y)

在這張圖片之中,我們簡單地繪制了一條線段。然后我們便可以將其保存為 PNG 格式

# 定義緩存區(qū)
buf = io.BytesIO()
# 保存為png圖片
plt.savefig(buf, format='png')

# 關閉畫布
plt.close(figure)
buf.seek(0)

然后我們將保存好的png圖片轉化為TensorFlow的圖片格式

# 轉化為TensorFlow的圖片格式
image = tf.image.decode_png(buf.getvalue(), channels=4)
# 增添一維數據,表示Batch
image = tf.expand_dims(image, 0)

最后我們便可以將圖片輸出到 TensorBoard 日志

with file_writer.as_default():
  tf.summary.image("Own Image", image, step=0)

然后我們便可以看到我們的圖片的形式:

圖片描述

4. 小結

在這節(jié)課的學習之中,我們學習了如何查看單張圖片、如何查看多張圖片,最后我們了解了如何將自定義的圖片輸出到T ensorBoard 之中。相信以上的 TensorBoard 使用技巧能夠幫助到大家。