【超簡単】PyTorchで計算グラフを表示する方法|ネットワークを可視化しよう!
本記事では、PyTorchのネットワーク(計算グラフ)を可視化する方法を初心者の方でも理解できるように説明します。
目次
- 計算グラフを表示する準備
- torchvisの導入
- ライブラリをインポート
- torchvisで計算グラフを表示
- 可視化するネットワークを定義
- 計算グラフを表示
- 参考資料|おすすめ教材
- 参考文献|おすすめ参考書
- 参考講座
- まとめ
計算グラフを表示する準備
まずは、計算グラフを表示する準備をしましょう。
torchvisの導入
Notebookで以下を入力して実行してください。
!pip install torchvizライブラリをインポート
今回使用するライブラリをインポートしてください。
import numpy as np import matplotlib.pyplot as plt import torch import torch.nn as nn import torch.optim as optim import torch.nn.functional as F from torchviz import make_dot from IPython.display import display
これで準備は完了です。
torchvisで計算グラフを表示
これで準備が整ったので実際にtorchvisを使用して計算グラフを可視化してみましょう。
可視化するネットワークを定義
当ブログの『【入門】PyTorchの使い方をMNISTデータセットで学ぶ(15分)』で使用したネットワークを可視化します。
具体的には以下のようなネットワークを使用します。
num_classes = 10 class Net(nn.Module): def __init__(self): super(Net, self).__init__() self.fc1 = nn.Linear(28*28, 1024) self.fc2 = nn.Linear(1024, 512) self.fc3 = nn.Linear(512, num_classes) def forward(self, x): x = F.relu(self.fc1(x)) x = F.relu(self.fc2(x)) x = self.fc3(x) return x計算グラフを表示
計算グラフを表示するためには、一度適当な値を入力して出力を得てから、その出力とネットワークのパラメータを辞書形式にしてmake_dot関数に入力します。
具体的な例を以下に示します。
model = Net() # 適当な入力 x = torch.randn(1, 28*28) # 出力 y = model(x) # 計算グラフを表示 img = make_dot(y, params=dict(model.named_parameters())) display(img)
<出力>
計算グラフの具体例
こんな感じに綺麗な計算グラフを表示できます。
参考資料|おすすめ教材
参考文献|おすすめ参考書
本記事を作成する際に利用した参考文献を下記にまとめました。
PyTorchのおすすめ参考書
参考講座
UdemyのPyTorchコースがマジでおすすめです!
PyTorchのおすすめUdemy講座はこちら
私は受講した中で特におすすめな講座を厳選しています。
PyTorch以外も講座もぜひ受講してみてください!
まとめ
本記事では、PyTorchを用いて計算グラフを可視化する方法を紹介しました。
PyTorchに関する他の記事は下記を参考にしてください。
PyTorchの他の記事はこちら
ABOUT ME 努力のガリレオ 【運営者】 : 東大で理論物理を研究中(経歴)東京大学, TOEIC950点, NASA留学, カナダ滞在経験有り, 最優秀塾講師賞, オンライン英会話講師試験合格, ブログと独自コンテンツで収益6桁達成 【編集者】: イングリッシュアドバイザーとして勤務中(経歴)中学校教諭一種免許取得[英語],カナダ留学経験あり, TOEIC650点 Python学習を効率化させるサービス
Pythonを学習するのに効率的なサービスを紹介していきます。
まず最初におすすめするのは、Udemyです。
Udemyは、Pythonに特化した授業がたくさんあり、どの授業も良質です。
また、セール中は1500円定義で利用することができ、コスパも最強です。
下記の記事では、実際に私が15個以上の講義を受講して特におすすめだった講義を紹介しています。
【最新】UdemyでおすすめのPythonコース|東大生が厳選!10万を超える講座があるUdemyの中で、Pythonに関係する講座を厳選しました。また、本記事では、Udemyを使用しながらPythonをどのような順番で勉強するべきかを紹介しました。ぜひ参考にしてください。...
他のPythonに特化したオンライン・オフラインスクールも下記の記事でまとめています。
【最新】Pythonに強いプログラミングスクール7選|東大生が厳選Pythonの流行と共に、Pythonに強いプログラミングスクールが増えてきました。本記事では、特にPythonを効率的に学ぶことができるプログラミングスクールを経験をもとに厳選して、内容を詳しく解説しています。...
自分の学習スタイルに合わせて最適なものを選びましょう。
また、私がPythonを学ぶ際に使用した本を全て暴露しているので参考にしてください。
- 【レベル別】Pythonを学ぶための本を厳選しました|入門〜上級者まで
- 【レベル別】Pythonで機械学習を学ぶための本|最短実務応用を目指せ!