YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

PyTorch

Ultralytics YOLO26を支えるコアライブラリであるPyTorchを探ります。その動的グラフ、GPU acceleration、そして効率的な深層学習モデルを構築する方法について学びましょう。

PyTorchは、主にMeta AIによって開発されたオープンソースの機械学習ライブラリであり、深層学習分野の研究者や開発者にとっての基盤となっています。その柔軟性と使いやすさで知られ、動的計算グラフを使用して複雑なニューラルネットワークを構築・トレーニングすることを可能にします。「Eager Execution」と呼ばれるこの機能により、コードは即座に評価され、静的グラフ定義に依存するフレームワークと比較して、デバッグとプロトタイピングが大幅に直感的になります。pythonプログラミング言語とシームレスに統合されており、標準的な科学計算ツールの自然な拡張のように感じられます。

主要なメカニズムと意義

このフレームワークの核心にあるのは、テンソルです。これは、 NumPyドキュメントにあるような多次元配列です。しかし、標準的な 配列とは異なり、PyTorchのテンソルはNVIDIA CUDAが提供する GPUアクセラレーションを活用するように設計されています。この ハードウェアアクセラレーションは、現代の 人工知能(AI)モデルを 効率的に訓練するために必要な大規模並列処理にとって不可欠です。

このライブラリは、コンピュータービジョン (CV)と自然言語処理のための広範なツールエコシステムをサポートしています。豊富な事前構築済みレイヤー、オプティマイザー、損失関数を提供することで、画像分類やシーケンスモデリングのようなタスクのアルゴリズム作成プロセスを簡素化します。

実際のアプリケーション

このフレームワークの汎用性により、多様な業界で影響力の大きいAIソリューションとして採用が進んでいます:

  1. Autonomous Vehicles: 業界のリーダーはPyTorchを活用して、車載カメラからのビデオフィードを処理するディープラーニングモデルを構築しています。これらの モデルはリアルタイムのobject detectionを実行し、 車線、標識、歩行者を識別することで、より安全なナビゲーションを可能にします。
  2. 医療診断: 研究者はこのフレームワークを用いて、高度なヘルスケアアプリケーションを開発しています。例えば、MRIスキャンやX線を解析し、正確な画像セグメンテーションを通じて医師が腫瘍をdetectするのを支援するシステムを動かします。

関連ツールとの比較

その役割をよりよく理解するためには、PyTorch AIスタック内の他の一般的なPyTorch 区別することが有用です:

  • TensorFlow: Google開発したTensorFlow 、TensorFlow 静的な計算グラフに依存していた。これによりデバッグは困難になったが、デプロイは最適化された。両フレームワークの機能は収束しつつあるが、直感的なインターフェースゆえ、迅速なプロトタイピングや研究ではPyTorch 好まれることが多い。
  • OpenCV: OpenCV ニューラルネットワークの学習ではなく、 伝統的な画像処理機能(リサイズ、フィルタリング、色変換など)にOpenCV 典型的なワークフローでは、開発者は画像を分析用のPyTorch に投入する前に、 データ前処理に OpenCV を使用します。

Ultralytics統合

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)

共にAIの未来を築きましょう!

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