pytorch/pytorch

Tensors and Dynamic neural networks in Python with strong GPU acceleration

解決する課題

PyTorchは、ディープニューラルネットワークを構築・訓練するための柔軟な方法を提供する機械学習フレームワークです。NumPyに似た高性能なテンソル演算が必要だが、大幅に高速な処理のためにGPU加速を活用したいという問題を解決します。

仕組み

PyTorchは、リバースモード自動微分のために「テープベースのautograd」システムを使用しています。静的なフレームワークとは異なり、これにより開発者は実行中にオーバーヘッドなしでネットワークの動作を動的に変更できます。Pythonと深く統合されており、ユーザーは標準的なPythonデバッガやNumPy、SciPyなどのライブラリを使用できます。このフレームワークには、最適化可能でシリアル化可能なモデルを作成するためのコンパイルスタック(TorchScript)と、効率的なGPU使用のためのカスタムメモリアロケータが含まれています。

対象者

最大限の柔軟性と速度を必要とするディープラーニング研究者、および科学計算においてNumPyのGPU加速代替を探している開発者向けに設計されています。

ハイライト

  • GPU対応テンソル: CPUまたはGPUのいずれかで動作する、スライシング、インインデックス作成、線形代数のための高性能テンソルルーチン。
  • 動的ニューラルネットワーク: ネットワークの動作を遅延なしに任意に変更できる、柔軟な命令型実行モデル。
  • Pythonファースト設計: Pythonエコシステムと深く統合されており、PythonまたはC++で書かれたカスタムレイヤーが可能です。
  • 効率的なバックエンド: Intel MKL、NVIDIA cuDNN、NCCLなどの加速ライブラリを統合し、速度を最大化しメモリオーバーヘッドを最小限に抑えます。