PyTorch スキルを向上させる 7 つの実用的なヒント (例付き)

PyTorch スキルを向上させる 7 つの実用的なヒント (例付き)

[[399124]]

PyTorch は、動的ニューラル ネットワーク (if ステートメントや while ループなどの動的制御フローを活用するネットワークなど) による自動差別化を可能にする、非常に柔軟なディープラーニング フレームワークです。また、GPU アクセラレーション、分散トレーニング、さまざまな最適化タスクもサポートしており、さらに多くの簡潔な機能を備えています。

今年 3 月初旬、公式チームは PyTorch バージョン 1.8 をリリースしました。これは、昨年 10 月のバージョン 1.7 リリース以降の 3,000 件を超えるコミットを統合し、コンパイル、コード最適化、科学計算フロントエンド API のアップデートと新機能を提供しました。このバージョンでは AMD ROCm のサポートも追加されている点は注目に値します。

研究者たちは長い間、PyTorchの特性を十分に探求するために、ディープラーニングモデルのトレーニングの使用を高速化する方法、トレーニング後にモデルを保存する方法、マルチカードトレーニングを使用する方法、トレーニング中に学習率を減衰させる方法など、さまざまなヒントも提案してきました。これらのヒントにより、PyTorch の使用効率が多少向上します。

最近、PyTorch の使用に関するヒントに関する投稿「PyTorch の 7 つの実用的なヒント」が Reddit に掲載され、関連する例も提供され、ネットユーザーの間で白熱した議論が巻き起こりました。

PyTorch スキルを向上させる 7 つのヒント

ポスターには、PyTorch スキルの向上に役立つ 7 つのヒントがまとめられています。これらのヒントは、投稿者がよく間違えたり忘れたりする事柄をまとめたものです。さらに、ポスターではColabでのアプリケーション例やビデオによる説明もいくつか紹介されました。

1. デバイス パラメータを使用して、ターゲット デバイス上にテンソルを直接作成します。

2. シーケンシャル レイヤーを使用して、よりクリーンなコードを取得します。

3. レイヤーは nn.Module クラスによって正しく登録されないため、リストに含めないでください。代わりに、リストは Sequential レイヤーに展開された引数として渡される必要があります。

4. PyTorch はディストリビューション用の優れたオブジェクトと関数をいくつか提供していますが、torch.distribution ではそれらが十分に活用されていません。

5. 2 つのエポック間でテンソル インデックスを保存するときは、メモリ リークを避けるために必ず .detach() を呼び出します。

6. torch.cuda.empty_cache() を使用して GPU キャッシュをクリアします。これは、ノートブックを使用しているときに大きなモデルを削除して再作成する場合に便利です。

7. テストを開始する前に、model.eval() を呼び出すことを忘れないでください。

次の 2 つの例は、ヒント 6 とヒント 7 のコード サンプルです。

ヒント 6: GPU からモデル インスタンスを削除します。

ヒント 7: テストする前に、eval() を呼び出します。

ユーザーレビュー

ネットユーザーも、上記の 7 つの PyTorch 使用のヒントについて独自のコメントを寄せています。あるユーザーは次のようにコメントしました。「何年も PyTorch を使ってきましたが、今でも eval() を呼び出すのを忘れてしまいます。」

別のユーザーはこう言いました。「なぜ nn.Sequential を使わないのですか? 研究目的では、特定のレイヤーの状況をチェックする必要があります。たとえば、重み、勾配、アクティベーションをチェックしたり、条件付きでコードを実行したりします。これらの操作を nn.ModuleList で実行すると非常に直感的です。すべてのレイヤーを配列の要素のように扱い、split を使用して配列インデックス [i:j] を分割するだけなので、こちらの方が優れています。」

別のユーザーはこう言っています。「共有していただきありがとうございます。とても役立ちそうです。ロジスティック回帰、決定木など、仕事でよく使用する一般的なモデルを再現することで、PyTorch についてさらに学んでいます。(ただし、DL を使用した例はまだありません。) PyTorch の ML に関する優れたリソースをご存知ですか。たとえば、sklearn で何ができるかなどです。」

最後に、投稿者は、これらの 7 つのヒントは自分がよく間違えたり忘れたりするものであると強調しました。ただし、これらのヒントはあなたにも当てはまるかもしれません。

Colab の例のアドレス: https://colab.research.google.com/drive/15vGzXs_ueoKL0jYpC4gr9BCTfWt935DC?usp=sharing

<<:  自動化プロジェクトの成功は、ビジネスとITの高度な連携にかかっています。

>>:  中国の機械工、黄永剛氏のチームの新しい研究:脳への光遺伝学インプラントがマウスを一瞬でゲイの友達に変える

ブログ    
ブログ    
ブログ    
ブログ    

推薦する

クレジットカード詐欺を防ぐために、機械学習アルゴリズムがあなたの身元を認識します

クレジットカード詐欺のリスクは、世界中の銀行のクレジットカード部門を悩ませている問題の一つとなってい...

「AI+医療」の強力な発展の勢いが医療革命を引き起こしている

「AI+ヘルスケア」は現在最も注目されている人工知能の応用シナリオの1つであり、人工知能技術は医療・...

...

Fudan DISC、クロスビジュアル言語モダリティ事前トレーニングモデルMVPTRを発表

復旦大学データインテリジェンスおよびソーシャルコンピューティング研究所復旦大学のデータインテリジェン...

...

早く見て! 2022年の建設業界の7つの大きな発展トレンド!

建設業界の市場競争はますます激しくなっています。建設会社は生き残りと発展のために大きなプレッシャーに...

数学を使わずに円の面積を計算する方法

機械学習の手法を使用して円の面積を計算します。円の面積はいくらかと誰かに尋ねると、r²だと答えるでし...

...

性質:大きなモデルは役割を演じているだけで、実際には自己認識を持っていない

大型モデルはどんどん「人間らしく」なってきていますが、本当にそうなのでしょうか?現在、Nature ...

1 つのバグが原因で 200 億ドルの損失が発生しました。ビジネス異常検出システムを構築するにはどうすればよいでしょうか?

【51CTO.comオリジナル記事】 1. AI ビジネス異常検出システムが必要な理由企業は、業務...

IT リーダーが避けるべき 6 つの生成 AI の危険性

多くの場合、さまざまな組織がさまざまな方法で生成 AI テクノロジーを適用しますが、それがもたらす悪...

マイクロソフトはOpenAIに10億ドルを投資:公にはAGIのため、密かにGoogleと競合、クラウドコンピューティングを投資と交換したと非難

[[271493]] AIの巨大競争において、マイクロソフトは本日、新たな重要な一歩を踏み出しました...

NTUは、3枚の画像のみを使用して高品質の3Dシーンを合成するSparseNeRFを提案しています。

ディープラーニングと 3D テクノロジーの発展により、Neural Radiance Fields ...

米国のAI雇用市場の現在の規模を解読する

[[342720]] 人工知能の分野でのこの国の雇用機会はどのようなものでしょうか?私たちはすべてが...

2021年、人工知能は知的ではない

ガートナー曲線について聞いたことがあるかもしれません。新しい技術が初めて導入されたとき、誰も興味を示...