日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Pytorch的网络结构可视化:Netron与TensorBoardX

發布時間:2024/10/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Pytorch的网络结构可视化:Netron与TensorBoardX 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Pytorch的網絡結構可視化:Netron與TensorBoardX

  • Pytorch的網絡結構可視化:Netron
  • Pytorch的網絡結構可視化:TensorBoardX
    • 1.TensorBoardX簡介
    • 2. tensorboardX的使用
  • TensorBoard is not found.
  • 參考資料

Pytorch的網絡結構可視化:Netron

最近剛剛發現一個非常好用的顯示模型神器Netron

https://github.com/lutzroeder/Netron

https://www.electronjs.org/apps/netron

借助這個工具可以像windows的軟件一樣導入已經訓練好的模型加權重即可一鍵生成

以下是我的一個模型使用該工具可視化結果,只不過目前該工具對于onnx支持非常好,但是pytorch權重轉變為onnx是非常方便的,只需要torch.onnx.export()命令即可導出onnx權重

以下代碼將resnet18-5c106cde.pth轉化為resnet18.onnx

# -- coding: utf-8 -- import io import torch import torch.onnx import torchvisiondevice = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")def pth2onnx():model = torchvision.models.resnet18(pretrained=False)# pth_file = 'resnet18-5c106cde.pth'# model.load_state_dict(torch.load(pth_file, map_location=device))model.to(device)# data type n*c*h*wdummy_input = torch.randn(1, 3, 256, 256)dummy_input = dummy_input.to(device)input_names = ['actual_input']output_names = ['output']torch.onnx.export(model, dummy_input, 'resnet18.onnx', verbose=True, input_names=input_names,output_names=output_names)if __name__ == '__main__':pth2onnx()

resnet18網絡結構圖

我目前看了下visdom實現pytorch的網絡結構查找還是很困難,在stackflow上有很多人使用自己編寫的基于matplotlib來實現網絡結構可視化適用性也不是很好,后來查找到使用基于tensorboard所開發的tensorboardX可以很方便的實現pytorch網絡結構的可視化,因此決定采用這種方式。

Pytorch的網絡結構可視化:TensorBoardX

1.TensorBoardX簡介

tensorboardX的項目路徑:https://github.com/lanpa/tensorboardX

tensorboardX是基于tensorboard的思想用來寫tensorboard events的工具,可以實現對傳統的tensorboard中 scalar,image,figure,histogram,audio,text,graph,onnx_graph等事件進行編寫。

tensorboardX同時具有論壇供大家提出問題解決問題 ,論壇地址:https://github.com/lanpa/tensorboardX/wiki

2. tensorboardX的使用

tensorboardX的安裝以及依賴如下所示:

pip install tensorboardpip install tensorflowpip install tensorboardX

tensorboardX的路徑下帶的有一個規范的demo,可以供大家參考。我這里公布一個我自己測試過的代碼,代碼來源于:https://blog.csdn.net/sunqiande88/article/details/80155925

# -- coding: utf-8 -- import torch import torch.nn as nn from tensorboardX import SummaryWriterclass LeNet(nn.Module):def __init__(self):super(LeNet, self).__init__()self.conv1 = nn.Sequential( # input size=(1*28*28)nn.Conv2d(in_channels=1, out_channels=6, kernel_size=5, stride=1, padding=2),nn.ReLU(), # (6*28*28)nn.MaxPool2d(kernel_size=2, stride=2), # output_size(6*14*14))self.conv2 = nn.Sequential(nn.Conv2d(in_channels=6, out_channels=16, kernel_size=5),nn.ReLU(), # (16*10*10)nn.MaxPool2d(kernel_size=2, stride=2) # output_size=(16*5*5))self.fc1 = nn.Sequential(nn.Linear(in_features=16 * 5 * 5, out_features=120),nn.ReLU())self.fc2 = nn.Sequential(nn.Linear(in_features=120, out_features=84),nn.ReLU())self.fc3 = nn.Linear(84, 10)def forward(self, x):x = self.conv1(x)x = self.conv2(x)# Linear的輸入和輸出都是維度為1的值,所以要把多維度的tensor展平成一維x = x.view(x.size()[0], -1)x = self.fc1(x)x = self.fc2(x)x = self.fc3(x)return xdummy_input = torch.rand(4, 1, 28, 28) # 假設輸入4張1*28*28的圖片 model = LeNet() with SummaryWriter(comment='LeNet') as w:w.add_graph(model, (dummy_input,))

運行該代碼后會自動生成一個runs文件夾,并且在文件夾下會有一個對應的event,如下圖所示:


此時需要在terminal或者cmd下運行tensorboard --logdir = path
此處千萬要注意,如果按照上面的參考文檔的方式是會報錯的:No graph definition files were found 或者 No definition files were found,總之無法正常顯示網絡結構圖。

此處的path 是event對應的確切,完整的路徑

在運行后會出現一個http url,此時需要將該url 拷貝到chrome下即可看到如下所示框圖

結構框圖如下所示:

此時雙擊紅圈所示的LeNet模塊即可看到LeNet的細節信息,如下所示:

至此即可完成使用tensorboardX 對pytorch網絡結構的可視化

TensorBoard is not found.

Just started using Tensorflow, but I am not able to use tensorboard command on my cmd, it gives the error command

C:\Users\tushar\PycharmProjects>tensorboard --logdir="NewTF" 'tensorboard' is not recognized as an internal or external command,operable program or batch file.

I had the same problem for tensorflow 1.5.0 and windows10.

Following tensor documentation (“Launching TensorBoard” section), you can try:

python -m tensorboard.main --logdir=[PATH_TO_LOGDIR]

參考資料

  • https://blog.csdn.net/xiaoxifei/article/details/82735355
  • https://blog.csdn.net/lei19880402/article/details/103721362
  • 總結

    以上是生活随笔為你收集整理的Pytorch的网络结构可视化:Netron与TensorBoardX的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 日韩av在线一区 | 日韩av高清无码 | xxx老太太| 日本一区二区三区视频在线观看 | 亚洲精品小视频在线观看 | 妺妺窝人体色www在线小说 | 有机z中国电影免费观看 | 中文人妻av久久人妻18 | 久久久精品免费 | а√天堂www在线天堂小说 | 国产怡红院 | 亚色中文 | 国产成人亚洲欧洲在线 | 欧美激情一区 | 成人黄色激情小说 | 国产乱码在线观看 | 亚洲一区二区精品视频 | 天天宗合| 欧美一级做a爰片久久高潮 久热国产精品视频 | 欧美一区二区三区不卡视频 | 正在播放adn156松下纱荣子 | 男女交性视频播放 | 中国黄色a级片 | 天天干天天干天天 | 伊人久久亚洲综合 | 日日干夜夜爱 | 神马午夜在线 | 校霸被c到爽夹震蛋上课高潮 | 波多野结衣久久精品 | 三年中文免费观看大全动漫 | 欧美激情伊人 | 性国产精品 | 亚洲av日韩精品久久久久久久 | 成人免费在线小视频 | 午夜一区二区三区 | 青青草一区二区三区 | 中国黄色片视频 | 毛片xxx | 亚洲欧美日韩精品色xxx | 一区二区三区在线播放 | 人妻丝袜一区二区三区 | 亚洲性视频网站 | 日韩欧美中文字幕一区 | 精品久久久久久久久久久久久久久 | 另类中文字幕 | 免费精品国产 | 日韩欧美xxxx | 黄网站免费大全入口 | 欧美激情15p | 国产精品一区二区av白丝下载 | 婷婷丁香六月 | 足交在线观看 | 正在播放木下凛凛88av | 成人久久久精品乱码一区二区三区 | 日韩精品一区二 | 美国黄色一级大片 | 手机看片福利久久 | 中文字幕1页 | 亚洲精品在线不卡 | 九色国产精品 | 色图综合网 | melody在线高清免费观看 | 尤物在线观看视频 | 日韩r级电影在线观看 | 国产精品美女视频 | 国产精品永久 | 午夜爽爽影院 | 好看的中文字幕av | 天天看天天射 | 黄色片怎么看 | 草草屁屁影院 | 亚洲美女视频网 | 免费在线观看黄色 | 久久久视频在线 | 日本一区二区三区四区在线观看 | 亚洲一区不卡在线 | 性喷潮久久久久久久久 | 欧美激情日韩 | 成人日皮视频 | 天美乌鸦星空mv | 亚洲综合成人亚洲 | 岛国av网址 | 国产成人福利视频 | 欧美日韩成人在线播放 | 日产精品久久久久久久蜜臀 | 国产又爽又黄无码无遮挡在线观看 | 欧美在线看 | 欧美丰满老熟妇xxxxx性 | 综合激情婷婷 | 少妇名器的沉沦 | 粉嫩av一区二区三区四区五区 | 麻豆精品视频免费观看 | 天天摸日日摸狠狠添 | xxav在线| 福利影院av | 91看片黄色 | 无码少妇一级AV片在线观看 | 日本中文字幕网站 | 五月天国产视频 |