PyTorch
Ultralytics YOLO26を動かす中心的なライブラリであるPyTorchを探求します。動的グラフ、GPUアクセラレーション、そして効率的なディープラーニングモデルの構築方法について学びましょう。
PyTorchは、主にMeta AIによって開発されたオープンソースの機械学習ライブラリであり、ディープラーニング分野の研究者や開発者にとって不可欠な基盤となっています。柔軟性と使いやすさで知られており、動的な計算グラフを使用して複雑なneural networksを構築およびトレーニングすることができます。「Eager execution」とも呼ばれるこの機能により、コードが即座に評価されるため、静的なグラフ定義に依存するフレームワークと比較して、debuggingやプロトタイピングが大幅に直感的になります。Pythonプログラミング言語とシームレスに統合され、標準的な科学計算ツールの自然な拡張のように感じられます。
中核となる仕組みと重要性#
このフレームワークの中心にあるのがtensorsであり、これはNumPy documentationにあるものに似た多次元配列です。ただし、標準的な配列とは異なり、PyTorchテンソルはNVIDIA CUDAが提供するGPU accelerationを活用するように設計されています。このハードウェアアクセラレーションは、現代のartificial intelligence (AI)モデルを効率的にトレーニングするために必要な大規模な並列処理にとって不可欠です。
computer vision (CV)および自然言語処理のための広範なツールエコシステムをサポートしています。事前に構築された豊富なレイヤー、オプティマイザ、損失関数のセットを提供することにより、image classificationやシーケンスモデリングなどのタスクのアルゴリズムを作成するプロセスを簡素化します。
実社会での応用#
このフレームワークの多用途性は、インパクトの大きいAIソリューションを実現するために、さまざまな業界で採用される結果につながっています。
-
Autonomous Vehicles: 業界のリーダーたちはPyTorchを活用して、車のカメラからのビデオフィードを処理するディープラーニングモデルを構築しています。これらのモデルはリアルタイムのobject detectionを実行して車線、標識、歩行者を識別し、より安全なナビゲーションを実現します。
-
Medical Diagnostics: 研究者はこのフレームワークを使用して、高度なヘルスケアアプリケーションを開発しています。たとえば、MRIスキャンやX線を分析するシステムを強化し、医師が正確なimage segmentationを介して腫瘍を検出するのを支援します。
関連ツールとの比較#
その役割をよりよく理解するために、AIスタック内の他の一般的なツールとPyTorchを区別すると役立ちます。
- Vs. TensorFlow: Googleによって開発されたTensorFlowは、歴史的に静的な計算グラフに依存していたため、デバッグが難しくなる一方で展開が最適化されていました。両方のフレームワークの機能は収束していますが、PyTorchはその直感的なインターフェースにより、迅速なプロトタイピングや研究で好まれることがよくあります。
- Vs. OpenCV: OpenCVは、ニューラルネットワークのトレーニングではなく、従来の画像処理機能(リサイズ、フィルタリング、色変換など)に特化したライブラリです。一般的なワークフローでは、開発者は画像を分析のためにPyTorchモデルにフィードする前に、data preprocessingのためにOpenCVを使用します。
Ultralyticsとの統合#
最先端のYOLO26や広く使われているYOLO11を含むUltralyticsモデルファミリ全体が、PyTorchをベースにネイティブ構築されています。この基盤により、ユーザーはフレームワークのスピード、安定性、および豊富なコミュニティサポートの恩恵を受けることができます。カスタムtraining dataでtransfer learningを実行する場合でも、エッジデバイス用にモデルをエクスポートする場合でも、基盤となるアーキテクチャはPyTorchのテンソルと勾配に依存しています。
今後のUltralytics Platformは、この体験をさらに簡素化し、データセットの調達、トレーニング、デプロイメントを、広範なボイラープレートコードを書くことなく管理するための統合インターフェースを提供します。
以下の例は、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)





