PyTorch は、次の 2 つの高レベル機能を提供する Python パッケージです。 強力な GPU アクセラレーションによる Tensor 計算 (NumPy に類似) を使用する テープベースの自動グラッドシステム上に構築されたディープニューラルネットワーク 必要に応じて、お気に入りの Python パッケージ (numpy、scipy、Cython など) を再利用して PyTorch を拡張することもできます。現在、このバージョンは初期ベータ版であり、すぐにさらに多くの機能が追加される予定です。 PyTorch の紹介 細かいレベルでは、PyTorch ライブラリは次のコンポーネントで構成されています。 PyTorch を使用する理由は通常 2 つあります。 強力な GPU を使用するための numpy の代替として; これまでにない柔軟性とスピードを提供するディープラーニング研究プラットフォームと考えてください。 さらに詳しく説明すると次のようになります。 GPU対応のTensorライブラリ NumPy を使用する場合は、Tensor (別名 ndarray) を使用します。 PyTorch は、CPU と GPU をサポートする Tensor を提供しており、計算を大幅に高速化できます。 スライス、インデックス作成、数学演算、線形代数、リダクションなど、さまざまな科学計算ニーズを満たすために、さまざまな高速テンソル ルーチンを提供しています。そして超速いです! 動的ニューラルネットワーク: テープベースの Autograd PyTorch には、テープレコーダーを使用して再生するという、ニューラル ネットワークを構築するための独自のアプローチがあります。 TensorFlow、Theano、Caffe、CNTK などのほとんどのフレームワークは、世界に対して静的な視点を持っているため、ニューラル ネットワークを構築し、同じ構造を何度も使用する必要があります。ネットワークの動作を変更したい場合は、最初からやり直す必要があります。 しかし、PyTorch では、「リバースモード自動微分化」と呼ばれる手法により、遅延やコストをゼロにしてネットワークの動作を任意に変更できます。私たちは、このトピックに関する多くの研究論文や、autograd、autograd、Chainer などの現在および過去の研究からインスピレーションを得ました。 オートグラッド: https://github.com/twitter/torch-autograd オートグラッド: https://github.com/HIPS/autograd チェイナー: http://chainer.org/ この手法は PyTorch に固有のものではありませんが、それでも現時点では最速の実装です。クレイジーな研究に究極のスピードと究極の柔軟性をもたらします。 Pythonファースト PyTorch は、単なるモノリシック C++ フレームワーク上の Python バインディングではありません。これは Python 上に深く構築されています。 PyTorch は、numpy/scipy/scikit-learn と同じくらい簡単に使用できます。 Cython や Numba などのお気に入りのライブラリやパッケージを使用して、Python で新しいニューラル ネットワーク レイヤーを作成できます。私たちの目標は、できる限り車輪の再発明をしなくて済むようにすることです。 必須の経験 PyTorch は、直線的で直感的、そして使いやすいように設計されています。実行する必要があるコード行がある場合、忠実に実行されます。 PyTorch には、世界に対する非同期のビューがありません。デバッガーを開いたり、エラー コードとスタック トレースを受け取ったりすると、この情報が非常に簡単に理解できることがわかります。スタック トレースは、コードが定義された正確な場所を直接指します。誤った方向や非同期で不透明なエンジンのせいで、デバッグに時間を無駄にしてほしくありません。 ファストリーン PyTorch には軽量フレームワークがあります。速度を最適化するために、Intel MKL、NVIDIA の CuDNN、NCCL などのさまざまなアクセラレーション ライブラリを統合します。本質的には、CPU および GPU テンソルとニューラル ネットワーク バックエンド (TH、THC、THNN、THCUNN) は、C99 API を備えたスタンドアロン ライブラリとして記述されています。 この構成は成熟しており、長年にわたって使用されてきました。 その結果、実行する必要があるニューラル ネットワークのサイズに関係なく、PyTorch は非常に効率的になります。 PyTorch では、メモリの使用は Torch や他の方法よりも効率的です。ディープラーニング モデルが実行時に最高のメモリ効率を発揮できるように、GPU 用のカスタム メモリ アロケータを作成しました。つまり、同じハードウェアを使用して、以前よりも複雑なディープラーニング モデルをトレーニングできるということです。 拡張が簡単 新しいニューラル ネットワーク モジュールの作成や PyTorch の Tensor API とのインターフェイスは簡単で、それほど抽象的ではありません。 Torch API または Scipy などのお気に入りの numpy ベースのライブラリを使用して、Python で新しいニューラル ネットワーク レイヤーを作成できます。 ネットワーク層を C++ で記述したい場合は、非常に効率的で定型文が少ない cffi (http://cffi.readthedocs.io/en/latest/) に基づく拡張 API が提供されます。 ラッパーコードを記述する必要はありません。ここに例があります: https://github.com/pytorch/extension-ffi インストール バイナリ アナコンダ conda をインストール pytorch torchvision -c soumith 出典 Anaconda環境の説明 CUDA サポートを使用してコンパイルする場合は、以下をインストールします。 NVIDIA CUDA 7.5 以降 NVIDIA CuDNN v5.x オプションの依存関係をインストールする
PyTorchをインストールする
始める PyTorch の使い方の学習は、次の 3 つのポイントから始めましょう。 チュートリアル: PyTorch を使い始めるためのチュートリアル。 例: すべてのドメインにわたる PyTorch コードを簡単に理解します。 API リファレンス: http://pytorch.org/docs/ 通信する フォーラム: 実装、研究などについて議論します (http://discuss.pytorch.org) GitHub の問題: バグ通知、機能リクエスト、インストールの問題、RFC、アイデアなど。 Slack: 一般的なチャット、オンラインディスカッション、コラボレーションなど (https://pytorch.slack.com/)。 電子メールの購読 迷惑メールはありません。PyTorch の重要な通知を一方的に電子メールでプッシュします。購読: http://eepurl.com/cbG0rv. リリースと貢献 PyTorch のリリース サイクル (メジャー バージョン) は 90 日です。現在のバージョンは v0.1.6 ベータ版であり、リリース前にバグを最小限に抑えることを期待しています。バグを見つけた場合は、下記までご報告ください: pytorch の最新バージョンは、pytorch.org から入手可能です。 PyTorch に新しい機能、ユーティリティ関数、またはコア拡張機能を追加したい場合は、問題を開いて全員と話し合ってください。注意: 議論なしで送信された PR は、別の方法で解決される可能性があるため、拒否される可能性があります。 次のバージョンでは、次の 3 つの新機能を導入する予定です。 分散型 PyTorch (すでに試用実装がここにあります: https://github.com/apaszke/pytorch-dist) Backward of Backward: バックプロパゲーション プロセス中にプロセス最適化を実行します。 Double Backprop や Unrolled GAN などの過去および最近の研究では、このプロパティが必要です。 autograd の遅延実行エンジン: これにより、キャッシュと JIT コンパイラを導入して autograd コードを最適化できるようになります。 開発チーム PyTorch は、経験豊富なエンジニアと研究者によって開発されたコミュニティ主導のプロジェクトです。 現在、PyTorch は Adam Paszke、Sam Gross、Soumith Chintala によって主導されています。その他の主な寄稿者には、Sergey Zagoruyko、Adam Lerer、Francisco Massa、Andreas Kopf、James Bradbury、Zeming Lin、Tian Yuandong、Guillaume Lample、Marat Dukhan、Natalia Gimelshein などが含まれます。 |
<<: TensorFlow から Theano まで: 7 つのディープラーニング フレームワークの水平比較
>>: ハードウェアクラッキングに耐えられるハッシュアルゴリズムにはどのようなものがありますか?
「本を読む」ことしかできない大規模な言語モデルは、現実世界の視覚的認識を備えているのでしょうか?文字...
機械学習の分野では、コンセプトドリフトという問題が長い間研究者を悩ませてきました。つまり、データの分...
アメリカン・エキスプレスは長年にわたり、人工知能と認知技術のリーダーとして活躍してきました。大規模で...
ChatGPTの一般公開の1か月前に、OpenAIはケニアの弁護士Boru Golloを雇い、AIモ...
Horizon Roboticsは1月22日、純粋な視覚ベースの自動運転アルゴリズムであるSpa...
小売業界は急速に進化しています。フロントエンドの入り口とバックエンドのテクノロジーは、変革のたびに絶...
MySQL には、有名なネスト ループ結合という結合アルゴリズムが 1 つだけあります。他の多くのデ...
機械学習に携わるほとんどの人にとって、ニューラル ネットワークの設計は芸術作品の作成に似ています。ニ...
厳選記事 | 呉嘉楽翻訳 | 黄年校正 | フェン・チェン、ヤオ・ジアリンマイク・ボストック出典 |...
10月24日、チップ大手のNvidiaが人工知能(AI)コンピューティングチップ市場を独占した。現在...
現在の「顔認識システム」は老化防止能力が非常に弱く、人の顔が老化すると認識性能が大幅に低下し、一定期...
スターヒューマノイドロボット企業フィギュアがハイライトの瞬間を迎えました!先ほど、OpenAIとFi...
この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...