動的計算グラフとGPU対応操作

動的計算グラフとGPU対応操作

[[409431]]

動的計算グラフ

ディープラーニングに PyTorch を使用する主な理由の 1 つは、定義した関数の勾配/導関数を自動的に取得できることです。

入力を操作すると、計算グラフが自動的に作成されます。この図は、動的な計算プロセスが入力から出力までどのように進行するかを示しています。

計算グラフの概念を理解するために、次の関数のグラフを作成します。

ここにパラメータがあり、出力を最適化(最大化または最小化)したいと考えています。これを行うには、勾配を取得する必要があります。

次のコードでは、[1,2,3]を入力として使用します。

  1. # 浮動小数点テンソルのみが勾配を持つ
  2. x = torch.arange(1,4, dtype=torch.float32, requires_grad= True )
  3. print( "X" 、x)
  4.  
  5. # X テンソル([1., 2., 3.], requires_grad= True )

ここで、計算グラフを段階的に構築し、各操作が計算グラフにどのように追加されるかを理解しましょう。

  1. a = x + 2
  2. b = a ** 2
  3. c = b + 3
  4. y = c.mean()
  5. 印刷( "Y" , y)
  6. # Yテンソル(19.6667, grad_fn=<MeanBackward0>)

上記のステートメントを使用して、次のような計算グラフを作成します (Tensorboard で表示)。

入力 x と定数 2 に基づいて a を計算し、b は a の 2 乗、などとなります。計算グラフは、多くの場合、逆方向に視覚化されます (矢印は結果から入力を指します)。

最後の出力で backward() 関数を呼び出すことで、計算グラフでバックプロパゲーションを実行できます。この関数は、属性 requires_grad=True を持つ各テンソルの勾配を計算します。

  1. y.後方()

最後に、x.grad を印刷して対応するグラデーションを表示します。

GPUサポート操作

Pytorch では、GPU は数千の小さな操作を並行して実行できるため、ニューラル ネットワークで大規模な行列演算を実行するのに最適です。

「CPUとGPUの違い」

PyTorch は GPU を使用するため、NVIDIA の CUDA と cuDNN をインストールする必要があります。

次のコードは、GPU が使用可能かどうかを確認します。

  1. gpu_avail = torch.cuda.is_available()
  2. print( "GPUは利用可能ですか? %s" % str(gpu_avail))

次に、テンソルを作成し、それを GPU デバイスにプッシュします。

  1. デバイス = torch.device( "cuda" ) torch.cuda.is_available() の場合、そうでない場合はtorch.device( "cpu" )
  2. print( "デバイス" , デバイス)
  3. x = x.to (デバイス)
  4. print( "X" 、x)
  5.  
  6. # デバイスcuda
  7. # X テンソル([1., 1., 1.], デバイス= 'cuda:0' )

cuda の横のゼロは、これがコンピューター上の 0 番目の GPU デバイスであることを示します。したがって、PyTorch はマルチ GPU システムもサポートします。

以下は、CPU での大規模な行列乗算の実行時間と GPU での操作の比較です。

システムの構成に応じて、GPU アクセラレーションによりモデルのトレーニング速度が向上します。

<<:  市場規模は100億を超え、マシンビジョンはブルーオーシャンの傾向を示す

>>:  AI+教育はさまざまなシナリオに適用されていることをご存知ですか?

ブログ    

推薦する

人工知能は地球規模の気候危機に対処するために何ができるでしょうか?

インフレは世界的な問題であり、気候変動によって悪化しています。これは、異常気象の頻度と深刻度が増した...

世界はとても広い。AIがあなたと一緒に世界を旅します

[オリジナル記事は51CTO.comより] 私の周りには、「世界は広いから、外に出て旅をしたい」と言...

2020年のIEEEフェローリストが発表:約30%が中国人で、葉潔平、張同、周博文、熊慧などのAI専門家が選出

本日、IEEE 2020フェローのリストが発表されました。統計によると、280人以上が選出され、その...

内部テスト中です! Word、Excel、Outlookに機械学習が搭載される

マイクロソフトは、機械学習を使用して人々がより効率的に仕事を遂行できるよう支援する、多数の新機能を ...

ディープラーニングを専門家以外の人に説明するにはどうすればよいでしょうか?

昨年から、AIの普及に関わる仕事がたくさん必要になりました。私は長い間、ディープラーニングがなぜ特に...

...

Nvidiaの生成AIスーパーチップGH200はH100の2倍の計算能力を持つ。黄仁訓:それは狂ったように推論できる

アーキテクチャの革新を待つことができず、Nvidia は生成 AI 専用のチップを「先行して」リリー...

気候変動と闘うためのAIの8つのガイドライン

気候変動の緩和は緊急の優先課題になりつつあります。時間を無駄にすることはできません。大気中の二酸化炭...

機械学習モデルで機密データの忘却を実現するにはどうすればよいでしょうか?

I. 概要サイバーセキュリティ分野のデータ分析では機械学習手法がますます使用されるようになっていま...

...

mPLUG-Damo アカデミー オープンソース マルチモーダル対話モデル技術とアプリケーション分析

大規模な純粋テキストモデルが増加しており、マルチモーダル分野ではマルチモーダル対話の大規模モデルも登...

LLVM の創始者、クリス・ラトナー: AI インフラ ソフトウェアを再構築する必要がある理由

かつて人々は AI の美しいビジョンを思い描いていましたが、現状は満足できるものではありません。 A...

...

自動運転スタートアップのAuroraは、テスト用によりリアルな仮想世界を構築するために元ピクサーのベテランを雇用

来週ナスダックに上場する予定の自動運転車スタートアップ企業、オーロラは、自動運転システムのテストとト...

協働ロボットがインダストリー4.0戦略の中核となる理由

[[402166]]今日、ロボットを自動化やインダストリー 4.0 戦略にシームレスに統合する方法に...