トーチサマリ ライブラリは、ディープ ラーニング ネットワーク構造の視覚化によく使用されるライブラリです:インストール アドレス
トーチサマリ ライブラリは、torchsummary、ライブラリの紹介、およびインストール アドレスの拡張バージョンです。Torchsummary
ライブラリの代わりに、Torch-summary ライブラリをインストールすることをお勧めします。後者から継承した機能の外側 後者の多くのバグも解決
トーチサマリー ライブラリに関する一般的な問題
1. 質問 1: torchsummary を使用してネットワーク構造を表示すると、次のエラーが報告されます: AttributeError: 'list' object has noattribute 'size'
解決:
pip uninstall torchsummary # 卸载原来的torchsummary库
pip install torch-summary==1.4.4 # 安装升级版本torch-summary
例:
from torchvision import models
import torchsummary as summary
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
vgg = models.vgg16().to(device)
summary(vgg,(3,224,224))
質問 2: torchsummary エラー: TypeError: 'module' オブジェクトは呼び出し可能ではありません
解決:
from torchvision import models
import torchsummary as summary
device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')
vgg = models.vgg16().to(device)
summary.summary(vgg,(3,224,224))
トーチサマリーライブラリの一般的な使用法
# 使用样式
from torchsummary import summary
summary(model, input_size=(channels, H, W))
# 多输入情况并且打印不同层的特征图大小
from torchsummary import summary
summary(model,first_input,second_input)
# 打印不同的内容
import torch
import torch.nn as nn
from torch-summary import summary
class LSTMNet(nn.Module):
""" Batch-first LSTM model. """
def __init__(self, vocab_size=20, embed_dim=300, hidden_dim=512, num_layers=2):
super().__init__()
self.hidden_dim = hidden_dim
self.embedding = nn.Embedding(vocab_size, embed_dim)
self.encoder = nn.LSTM(embed_dim, hidden_dim, num_layers=num_layers, batch_first=True)
self.decoder = nn.Linear(hidden_dim, vocab_size)
def forward(self, x):
embed = self.embedding(x)
out, hidden = self.encoder(embed)
out = self.decoder(out)
out = out.view(-1, out.size(2))
return out, hidden
summary(
LSTMNet(),
(100,),
dtypes=[torch.long],
branching=False,
verbose=2,
col_width=16,
col_names=["kernel_size", "output_size", "num_params", "mult_adds"],)
印刷結果: