import matplotlib
matplotlib.use('TkAgg') # Set backend in Matplotlib;
# A backend is a program for producing the image object, and generally showing image
seaborn
Seaborn是基于matplotlib进行高级封装的可视化库,其示例如下
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5,6,7])
y=np.array([100,50,25,12.5,6.25,3.125,1.5625])
plt.plot(x, y)
plt.title("Curve plotted using the given points")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
import matplotlib.pyplot as plt
import numpy as np
train_loss = np.arange(100)
train_epochs_loss = train_loss *2
valid_epochs_loss = train_loss *3
plt.figure(figsize=(12,4)) # (12,4): 6inches × 12inches
plt.subplot(121)
plt.plot(train_loss[:])
plt.title("train_loss")
plt.subplot(122)
plt.plot(train_epochs_loss[1:],'-o',label="train_loss")
plt.plot(valid_epochs_loss[1:],'-o',label="valid_loss")
plt.title("epochs_loss")
plt.legend()
plt.show()
关于函数曲线图的绘制,可以参考文章《Matplotlib 绘制平滑曲线》
import numpy as np
import matplotlib.pyplot as plt
x=np.array([1,2,3,4,5,6,7])
y=np.array([100,50,25,12.5,6.25,3.125,1.5625])
plt.plot(x, y)
plt.title("Curve plotted using the given points")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()
参考图模板:MMYOLO: OpenMMLab YOLO series toolbox and benchmark.
参考图模板:《YOLOv5网络详解_太阳花的小绿豆的博客-CSDN博客》
使用TensorBoard,可以参考教程《PyTorch TensorBoard Support》;
首先需要安装TensorBoard
使用conda命令安装,
conda install pytorch torchvision -c pytorch
可以使用TorchStudio来对网络结构进行可视化;
安装过程:
tqdm
graphviz
(注意最后一个字母是z,不是s)python-graphviz
关于TorchStudio的基本使用方法,请参考《TorchStudio | Get Started》
我们可以使用TorchStudio的Build功能来对网络进行可视化:
Step1:首先要Load数据集才能可视化网络结构图,所以首先点击Load (Ctrl+L);
Step2:在右上角选择** Custom Model **表示选择自定义的模型,然后在其右侧列表中选中准备进行可视化的模型,这里“MyModel”就是选中模型的类名;
在构建网络计算图时,测试张量的输入通道数为1;
TorchStudio也支持.py
文件的导入,也可以编写好MyModelAdapter
类之后再导入到TorchStudio中进行可视化;
Netron对PyTorch的支持有限,
Netron has experimental support for PyTorch, TensorFlow, TorchScript…
我们在使用netron
可视化YOLOv5n时也只能看到部分网络图,
像上面这样,不过完整的网络图应该是这样:
上图是用yolov5n.onnx文件可视化的网络结构图;
可以使用ConvNetDraw来绘制网络运算过程中张量大小变化的示意图;
支持六种组件:
input(28, 28, 1)
conv(24, 24, 8)
relu(24, 24, 8)
pool(12, 12, 8)
fullyconn(1, 1, 10)
softmax(1, 1, 10)
plt.imshow(heat_map)
plt.show()
PCA
UMAP(请参见《Python—UMAP流形数据降维工具简介》)
from torch.utils.tensorboard import SummaryWriter
# 新建SummaryWriter实例,可以设置日志路径
writer = SummaryWriter()
# Writer will output to ./runs/ directory by default
# 启动Tensorboard
tensorboard --logdir=<directory_name>
add_hparams()
[doc]add_hparams()
本来是用来显示超参数的方法,这里我们也可以用它来显示训练指标;
安装VisualDL:[Install by PiP]
可以自动绘制训练参数曲线图;