1.TensorBoard的使用
1.1代碼及其決議
# 一般通過這個SummaryWriter來創建影像,這個類可以在訓練程序中向檔案中添加資料,常用的兩個方法為add_scalar和add_image,使用方法如下: from torch.utils.tensorboard import SummaryWriter import numpy as np from PIL import Image # 1.實體化這個SummaryWriter:要將東西保存到哪個檔案夾,這里保存到該專案下的logs檔案夾下,即pytorch01_hello/code/logs # 如果沒有該檔案夾會自動創建 writer = SummaryWriter("logs") # 2.1add_scalar需要三個必須的引數: # 第一個是圖表的標題,第二個是圖表的scalar_value,相當圖表的y軸,第三個是global_step,意思為目標步數,也就是訓練到多少步時輸出影像,相當于x軸 for i in range(100): writer.add_scalar("x=2y", i, 50) # 2.2add_image()的使用 img_PIL = Image.open("F:\\pytorch\\pytorch01_hello\\dataset\\train\\ants_image\\5650366_e22b7e1065.jpg") img_array = np.array(img_PIL) # 兩個必須的引數:tag:自定義,img_tensor:要加載的影像資料 # 注意,要設定dataformats引數,這個引數默認為CHW用于設定影像的格式(shape):C代表通道數量,H代表影像高度,W代表影像寬度 writer.add_image("test", img_array, 3, dataformats="HWC") writer.close()
1.2效果圖,在Terminal中輸入命令tensorboard --logdir=code/logs --port=6007查看運行效果,點擊第一張圖顯示的連接即可從瀏覽器查看效果圖


2.transforms的使用
2.1代碼及決議
# 問題: # 1.python中如何使用transforms # 2.為什么需要tensor資料型別:我們要將影像轉為tensor型別,讓神經網路進行訓練 from PIL import Image from torchvision import transforms from torch.utils.tensorboard import SummaryWriter # 用Image.open()讀取的影像為PIL型別,用cv2.imread(影像路徑)打開的為numpy.ndarray型別 img = Image.open("F:\\pytorch\\pytorch01_hello\\dataset\\train\\ants_image\\5650366_e22b7e1065.jpg") # 呼叫transforms中的ToTensor()函式,創建我們自己的工具,我們的工具這里叫做img_trans_tensor img_trans_tensor = transforms.ToTensor() # 使用我們的工具將PIL型別影像轉為tensor img_tensor = img_trans_tensor(img) print(img_tensor) # SummaryWriter中add_image的使用,運行這個py檔案后,在Terminal中輸入命令tensorboard --logdir=code/logs --port=6007查看運行效果 writer = SummaryWriter("logs") # 引數一:自定義的標簽,引數二:要加載的影像 writer.add_image("ToTensor", img_tensor) # transforms中使用Normalize()進行資料歸一化,計算公式為output[channel] = (input[channel] - mean[channel]) / std[channel] # input[channel]:輸入,mean[channel]:均值,std[channel]:標準差 print(img_tensor[0][0][0]) # Normalize()需要兩個引數,均值和標準差 # output = (0.3804-0.5)/0.2 = -0.2392 trans_noram = transforms.Normalize(0.5, 0.2) img_noram = trans_noram(img_tensor) print(img_noram[0][0][0]) # 在Terminal中輸入命令tensorboard --logdir=code/logs --port=6007查看運行效果 writer.add_image("Normalize", img_noram, 2) writer.close()
2.2效果圖,在Terminal中輸入命令tensorboard --logdir=code/logs --port=6007查看運行效果,點擊第一張圖顯示的連接即可從瀏覽器查看效果圖



轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/479352.html
標籤:R
