Pytorch基础(一) —— tensorboard的应用
一、簡介與安裝方法
1.1 概念
Tensorboard 是 TensorFlow 的一個工具包,用于展示網(wǎng)絡(luò)圖、張量的指標(biāo)變化和分布情況,如權(quán)重W、偏置B、卷積層數(shù)、全連接層數(shù)等參數(shù),使用該工具可以方便觀察神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程,分析學(xué)習(xí)模型訓(xùn)練的效果。
大概自Pytorch1.1.0版本發(fā)布后,我們就可以直接在Pytorch環(huán)境直接安裝Tensorboard工具包。
1.2安裝方法
安裝最新版本:
pip install tensorboard查看版本號:
tensorboard --version當(dāng)然也可以指定版本號安裝
pip install tensorboard==2.6.0刪除
pip uninstall tensorboard二、簡單示例
from torch.utils.tensorboard import SummaryWriterwriter = SummaryWriter("log") for i in range(100):writer.add_scalar("y=x", i, i)writer.close()運行完后再命令行輸入
tensorboard --logdir=logs --port=6007點擊可以直接打開網(wǎng)頁如下:
2.1 SummaryWriter
SummaryWriter官方定義:將條目直接寫入 log_dir 中的事件文件以供 TensorBoard 使用。SummaryWriter 類提供了一個高級 API,用于在給定目錄中創(chuàng)建事件文件并向其中添加摘要和事件。 該類異步更新文件內(nèi)容。 這允許訓(xùn)練程序直接從訓(xùn)練循環(huán)調(diào)用方法將數(shù)據(jù)添加到文件中,而不會減慢訓(xùn)練速度。
我們可以通過ctrl+左鍵點擊SummaryWriter類名查看定義。
一般我們只需要定義一個路徑名log_dir即可。如果沒有參數(shù)的話,會默認保存在runs/日期時間 路徑。
2.2 add_scalar
def add_scalars(self, main_tag, tag_scalar_dict, global_step=None, walltime=None):該方法用于將許多標(biāo)量數(shù)據(jù)添加到summary中。
main_tag:數(shù)據(jù)名
tag_scalar_dict:數(shù)字常量值
global_step:訓(xùn)練步數(shù)
walltime:記錄發(fā)生的時間,可以不寫。
2.3 導(dǎo)入圖像add_image
def add_image(self, tag, img_tensor, global_step=None, walltime=None, dataformats='CHW'):該方法用于添加圖片到summary中。
img_tensor:圖像數(shù)據(jù),格式要求為(torch.Tensor, numpy.array, or string/blobname)
dataformats : 圖像數(shù)據(jù)格式,默認為 ‘CHW’(Channel x Height x Width)
寫一個小例子:
2.3.1 安裝opencv
因為沒有Tensor數(shù)據(jù)的圖片,所以用opencv生成numpy的圖片。
pip install opencv-python2.3.2 寫代碼
from torch.utils.tensorboard import SummaryWriter import numpy as np from PIL import Imagewriter = SummaryWriter("log") image_path = "dataset/train/image/1.jpg" img_PIL = Image.open(image_path) img_array = np.array(img_PIL)writer.add_image("test", img_array, 1, dataformats='HWC')for i in range(100):writer.add_scalar("y=2x", i, i)writer.close()在terminal中輸入:
tensorboard --logdir=logs --port=6007點擊打開,即可顯示圖片。
總結(jié)
以上是生活随笔為你收集整理的Pytorch基础(一) —— tensorboard的应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python种子数是什么意思_Pytho
- 下一篇: 基于docker创建的Jenkins,s