Ultralytics YOLO26を支えるコアライブラリであるPyTorchを探ります。その動的グラフ、GPU acceleration、そして効率的な深層学習モデルを構築する方法について学びましょう。
PyTorchは、主にMeta AIによって開発されたオープンソースの機械学習ライブラリであり、深層学習分野の研究者や開発者にとっての基盤となっています。その柔軟性と使いやすさで知られ、動的計算グラフを使用して複雑なニューラルネットワークを構築・トレーニングすることを可能にします。「Eager Execution」と呼ばれるこの機能により、コードは即座に評価され、静的グラフ定義に依存するフレームワークと比較して、デバッグとプロトタイピングが大幅に直感的になります。pythonプログラミング言語とシームレスに統合されており、標準的な科学計算ツールの自然な拡張のように感じられます。
このフレームワークの核心にあるのは、テンソルです。これは、 NumPyドキュメントにあるような多次元配列です。しかし、標準的な 配列とは異なり、PyTorchのテンソルはNVIDIA CUDAが提供する GPUアクセラレーションを活用するように設計されています。この ハードウェアアクセラレーションは、現代の 人工知能(AI)モデルを 効率的に訓練するために必要な大規模並列処理にとって不可欠です。
このライブラリは、コンピュータービジョン (CV)と自然言語処理のための広範なツールエコシステムをサポートしています。豊富な事前構築済みレイヤー、オプティマイザー、損失関数を提供することで、画像分類やシーケンスモデリングのようなタスクのアルゴリズム作成プロセスを簡素化します。
このフレームワークの汎用性により、多様な業界で影響力の大きい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)

未来の機械学習で、新たな一歩を踏み出しましょう。