Ultralytics YOLO26を支える中核ライブラリ、PyTorch。動的グラフ、GPU 、効率的な深層学習モデルの構築方法について学びます。
PyTorchはMeta AIが主に開発したオープンソースの機械学習ライブラリPyTorch 深層学習分野の研究者や開発者にとって基盤となる存在となっています。 その柔軟性と使いやすさで知られ、動的な計算グラフを用いて 複雑なニューラルネットワークの構築と学習を可能にします。 この「イージー実行」と呼ばれる機能により、コードは即時評価されるため、 静的グラフ定義に依存するフレームワークと比較して、 デバッグやプロトタイピングが格段に直感的になります。Python 言語とシームレスに統合され、 標準的な科学計算ツールの自然な拡張のように感じられます。
このフレームワークの中核をなすのはテンソルであり、NumPy 多次元配列に類似しています。ただし、標準的な配列とは異なり、CUDA GPU を活用するように設計されています。このハードウェアアクセラレーションは、現代の人工知能(AI)モデルを効率的に訓練するために必要な大規模並列処理において極めて重要です。
このライブラリは、コンピュータビジョン(CV)と自然言語処理(NLP)のための広範なツール群をサポートしています。豊富な事前構築済みレイヤー、オプティマイザ、損失関数を提供することで、画像分類やシーケンスモデリングといったタスク向けのアルゴリズム作成プロセスを簡素化します。
このフレームワークの汎用性により、多様な業界で影響力の大きいAIソリューションとして採用が進んでいます:
その役割をよりよく理解するためには、PyTorch AIスタック内の他の一般的なPyTorch 区別することが有用です:
Ultralytics ファミリー全体、最先端の YOLO26や広く利用されている YOLO11は、PyTorchを基盤としてネイティブに構築されています。この基盤により、ユーザーはフレームワークの高速性、安定性、そして広範なコミュニティサポートの恩恵を受けられます。カスタムトレーニングデータでの転移学習を実行する場合でも、エッジデバイス向けにモデルをエクスポートする場合でも、基盤となるアーキテクチャPyTorch 勾配に依存しています。
近日公開予定Ultralytics 、この体験をさらに簡素化し、データセットの取得、トレーニング、デプロイメントを一元的に管理できるインターフェースを提供します。これにより、膨大な定型コードを記述する必要がなくなります。
以下の例は、GPU 確認しYOLO を用いた推論を実行する方法を示し、 フレームワークが内部でハードウェアアクセラレーションをどのように処理するかを実演します:
import torch
from ultralytics import YOLO
# Check if CUDA (GPU) is available for PyTorch acceleration
device = "cuda" if torch.cuda.is_available() else "cpu"
print(f"PyTorch is using device: {device}")
# Load a YOLO26n model (built on PyTorch)
model = YOLO("yolo26n.pt")
# Perform object detection on an image
# PyTorch handles tensor operations and moves data to the GPU automatically
results = model("https://ultralytics.com/images/bus.jpg", device=device)