PyTorchでネットワークのトレーニングを監視するためのツールはありますか? tensorflowのテンソルボードのように。
tensorboardX を使用しています。 TensorBoardのほとんどの(すべてではないにしても)機能をサポートします。スカラー、画像、分布、ヒストグラム、テキストを使用しています。オーディオやグラフなど、残りの部分は試していませんが、リポジトリにはこれらのユースケースの例も含まれています。インストールはpip
で簡単に行えます。これはすべて、リポジトリのREADMEファイルで説明されています。
PyTorch(および他の言語/フレームワーク)のラッパーをテンソルボードに実装する他のgithubリポジトリもあります。私の知る限り、サポートする機能は少なくなっています。しかし、見てください:
PyTorch 1.1.0は、TensorBoardをネイティブにサポートします torch.utils.tensorboard
。 APIはtensorboardXと非常によく似ています。詳細については、 ドキュメント を参照してください。
私は以前にフォーラムでこの質問をしました。 TensorboardはTensorflowにとって非常に便利なようで、ライブラリ/フレームワーク自体の一部にもなっています。ただし、PyTorchは同じアプローチを取りません。しかし、Facebookからリリースされているvisdom
here というライブラリがあり、トレーニング情報を記録するのに役立ちます。これにより、必要な方法で情報をログに記録できる柔軟性が得られます。これは多くの柔軟性を意味しますが、それはまた、物事を機能させるためにいくつかの追加のコードを書く必要があることを意味します。
Minetorch 過去2回のKaggleコンペティションで大いに役立ちました。他の人が使う準備ができていると思います。組み込みのtensorboardまたはmatplotlibがサポートされています。そして、作業を簡単にする他の多くの機能には、次のものが含まれます。
それはまだ開発中であるので、どんな問題やPRも大歓迎です:)
Blckbirdの回答をフォローアップすると、私はTensorboard-PyTorchの大ファンでもあります。ただし、そのAPIは比較的低レベルであり、ロギングを行うために同様のコードを何度も書いていました。そこで(恥知らずなプラグイン)最小限のコードでネットワークトレーニング実験の監視を自動化するために、その上に小さなパッケージを作成しました。うまくいけば、他の誰かがそれが役立つと思うでしょう。 pytorch-monitor