Pytorch-introduction
提供:Dev Guides
PyTorch-はじめに
PyTorchは、Python用のオープンソースの機械学習ライブラリとして定義されています。 自然言語処理などのアプリケーションに使用されます。 最初はFacebookの人工知能研究グループと、その上に構築された確率的プログラミングのためのUberのPyroソフトウェアによって開発されました。
もともと、PyTorchは、トーチフレームワークに基づいたLusJITのPythonラッパーとしてヒューパーキンスによって開発されました。 2つのPyTorchバリアントがあります。
PyTorchは、PythonでTorchを再設計および実装すると同時に、バックエンドコードと同じコアCライブラリを共有します。 PyTorch開発者は、このバックエンドコードを調整して、Pythonを効率的に実行しました。 また、GPUベースのハードウェアアクセラレーションと、Luaベースのトーチを作成した拡張機能も維持しました。
特徴
PyTorchの主な機能は以下に記載されています-
簡単なインターフェイス-PyTorchは使いやすいAPIを提供します。したがって、Pythonでの操作と実行は非常に簡単であると見なされます。 このフレームワークでのコード実行は非常に簡単です。
- Pythonの使用*-このライブラリは、Pythonデータサイエンススタックとスムーズに統合されるPythonicと見なされます。 したがって、Python環境で提供されるすべてのサービスと機能を活用できます。
計算グラフ-PyTorchは、動的計算グラフを提供する優れたプラットフォームを提供します。 したがって、ユーザーは実行時にそれらを変更できます。 これは、開発者がニューラルネットワークモデルの作成に必要なメモリ量が分からない場合に非常に役立ちます。
PyTorchは、以下の3つの抽象化レベルを持っていることで知られています-
- Tensor-GPUで実行される命令型n次元配列。
- 変数-計算グラフのノード。 これはデータと勾配を保存します。
- モジュール-状態または学習可能な重みを格納するニューラルネットワーク層。
PyTorchの利点
以下はPyTorchの利点です-
- コードのデバッグと理解は簡単です。
- トーチとして多くのレイヤーが含まれています。
- 多くの損失関数が含まれています。
- GPUのNumPy拡張と見なすことができます。
- 構造が計算自体に依存するネットワークを構築できます。
TensorFlow vs. パイトーチ
TensorFlowとPyTorchの主な違いを以下で説明します-
PyTorch | TensorFlow |
---|---|
PyTorch is closely related to the lua-based Torch framework which is actively used in Facebook. | TensorFlow is developed by Google Brain and actively used at Google. |
PyTorch is relatively new compared to other competitive technologies. | TensorFlow is not new and is considered as a to-go tool by many researchers and industry professionals. |
PyTorch includes everything in imperative and dynamic manner. | TensorFlow includes static and dynamic graphs as a combination. |
Computation graph in PyTorch is defined during runtime. | TensorFlow do not include any run time option. |
PyTorch includes deployment featured for mobile and embedded frameworks. | TensorFlow works better for embedded frameworks. |