目录
一.常见的卷积神经网络模型
卷积神经网络(Convolutional Neural Networks, CNN)以及常见的网络模型具体介绍可移步下面链接了解。
二.CNN常见的储存格式
三.CNN模型保存为ONNX文件
如果只是自己测试或训练一些小模型需要用到ONNX文件,可以直接去GitHub搜索"模型.onnx"(比如lenet.onnx),一般可以直接找到对应的文件,下载使用即可。下图是我自己之前在GitHub上搜索到的一些模型。
下面提供可以实现将特定的CNN模型存储为ONNX文件的方法,以VGGNet-16为例
import torchvision
import torch
data = torch.rand(1, 3, 224, 224)
net=torchvision.models.vgg16()
output = net(data)
onnx_path = "vgg16.onnx"
input_names = ["input data"]
output_names = ["output Prediction"]
torch.onnx.export(net, data, onnx_path,input_names=input_names, output_names=output_names)
四.可视化ONNX文件
4.1 python代码调用netron库可视化
netron 是一个用于深度学习模型可视化的工具,有助于直观地查看、分析和理解CNN模型的结构和参数。netron支持下面格式的模型可视化。
①命令行直接调用
pip install netron
netron name.onnx
②pycharm中代码调用
#pip install netron
import netron
netron.start("name.onnx")
运行后同样会在localhost:8080界面中显示可视化模型结构图。
4.2 网页直接打开模型文件
Netron 该网站支持上传模型文件,可直接转换为对应的模型结构图,与代码调用显示结果相同。
除在线网站外,netron也有桌面应用程序,如有需要可以自行搜索下载使用。