PyTorch
Ultralytics YOLO26を動かす中心的なライブラリであるPyTorchを探求します。動的グラフ、GPUアクセラレーション、そして効率的なディープラーニングモデルの構築方法について学びましょう。
PyTorchは、主にMeta AIによって開発されたオープンソースの機械学習ライブラリであり、ディープラーニング分野の研究者や開発者にとって不可欠な存在となっています。柔軟性と使いやすさで知られており、ユーザーは動的な計算グラフを使用して複雑なニューラルネットワークを構築およびトレーニングできます。この機能は「Eager Execution(即時実行)」としばしば呼ばれ、コードを即座に評価できるため、静的なグラフ定義に依存するフレームワークと比較して、デバッグやプロトタイピングが大幅に直感的になります。また、Pythonプログラミング言語とシームレスに統合されており、標準的な科学計算ツールの自然な拡張のように感じられます。
Link to this section中核となる仕組みと重要性#
このフレームワークの中心にあるのは、NumPyドキュメントに見られるものと同様の多次元配列であるテンソルです。ただし、標準的な配列とは異なり、PyTorchのテンソルはNVIDIA CUDAが提供するGPUアクセラレーションを活用できるように設計されています。このハードウェアアクセラレーションは、現代の人工知能 (AI)モデルを効率的にトレーニングするために必要な膨大な並列処理にとって不可欠です。
このライブラリは、コンピュータビジョン (CV)や自然言語処理のための広大なツールエコシステムをサポートしています。豊富なレイヤー、オプティマイザ、損失関数を提供することで、画像分類やシーケンスモデリングといったタスクのためのアルゴリズム作成プロセスを簡素化します。
Link to this section実社会での応用#
このフレームワークの多用途性は、インパクトの大きいAIソリューションを実現するために、さまざまな業界で採用される結果につながっています。
-
自動運転車: 業界のリーダーたちは、車のカメラからの映像フィードを処理するディープラーニングモデルを構築するためにPyTorchを活用しています。これらのモデルは、リアルタイムで物体検出を実行し、車線、標識、歩行者を識別することで、より安全なナビゲーションを可能にします。
-
医療診断: 研究者は、このフレームワークを使用して高度なヘルスケアアプリケーションを開発しています。例えば、MRIスキャンやX線画像を解析し、正確な画像セグメンテーションを通じて医師による腫瘍の検出を支援するシステムを動かしています。
Link to this section関連ツールとの比較#
その役割をよりよく理解するために、AIスタック内の他の一般的なツールとPyTorchを区別すると役立ちます。
- Vs. TensorFlow: Googleによって開発されたTensorFlowは、歴史的に静的な計算グラフに依存していたため、デバッグは困難でしたが、デプロイメントが最適化されていました。両フレームワークの機能は収束していますが、直感的なインターフェースにより、PyTorchは迅速なプロトタイピングや研究において好まれることが多いです。
- Vs. OpenCV: OpenCVは、ニューラルネットワークのトレーニングではなく、伝統的な画像処理機能(リサイズ、フィルタリング、色変換など)に特化したライブラリです。典型的なワークフローでは、開発者は画像を解析のためにPyTorchモデルに渡す前に、OpenCVを使用してデータ前処理を行います。
Link to this sectionUltralyticsとの統合#
The entire Ultralytics model family, including the cutting-edge YOLO26 and the widely used YOLO11, is built natively on PyTorch. This foundation ensures that users benefit from the framework's speed, stability, and extensive community support. Whether performing transfer learning on custom training data or exporting models for edge devices, the underlying architecture relies on PyTorch tensors and gradients.
今後の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)





