パドルGPUトレーニング

フライングパドル

パドル公式サイト: https: //www.paddlepaddle.org.cn/

公式サイト紹介

深層学習の出現により、今日の機械はますます「スマート」になってきており、人工知能の最も影響力のある重要な共通技術として、画像分類と音声認識で大きな強みを発揮しています。

このような奇跡的な機能を実現するには、非常に複雑な作業が必要ですよね。

確かにそうです!それだけ…

オープンソースの深層学習プラットフォームの機能を使用して問題を解決できるようになりました。

  • 開発者は、オープンソースのディープラーニング プラットフォーム上のビルディング ブロックのように独自の AI アプリケーションを構築するため、研究開発の敷居が大幅に下がり、効率が向上します。

ここに画像の説明を挿入

  • Flying Paddle は、Baidu によって開発された、テクノロジーをリードするフル機能の産業レベルの深層学習オープンソースオープン プラットフォームです。

ここに画像の説明を挿入

  • これは、深層学習のコア フレームワーク、基本モデル ライブラリ、エンドツーエンドの開発キット、ツール コンポーネント、サービス プラットフォームを統合し、業界のインテリジェント化を支援し、深層学習の革新と応用を容易にすることに取り組んでいます
    ここに画像の説明を挿入
  • これらは、フライング パドルの 4 つの主要なテクノロジーに基づいています。

ここに画像の説明を挿入

  • Paddle は、開発者が AI のアイデアを迅速に実現し、AI サービスを迅速に開始できるように支援します。より多くの業界がAI の強化を完了し、産業のインテリジェントなアップグレードを実現できるように支援します。
  • フライングパドルのプロセスの加速により、小型からインテリジェント桃選別機、部品品質検査、大型から都市計画、害虫監視、無人運転、予防医療などの業界に力を与えています。

ここに画像の説明を挿入

  • 空飛ぶパドルは、工業、農業、サービス業、小売、通信、不動産、医療、インターネットなど多くの産業で活用されています。

ここに画像の説明を挿入

マニュアル

ここに画像の説明を挿入
ここに画像の説明を挿入

paddle —— Paddle の深層学習コア フレームワーク

ディープ ラーニング プラットフォームは、PaddleBaidu によって開発されたオープンソースのディープ ラーニング フレームワークです。

  • 動的グラフと静的グラフの 2 つのモードをサポートします。
  • 豊富なアルゴリズム モデル ライブラリ、エンドツーエンドの開発キット、ツール コンポーネントを提供します。
  • 超大規模並列ディープラーニング機能も備えています。

ローカルパドルパドルのインストールとアンインストール

知らせ!
パドル プラットフォームでプロジェクトが作成されると、対応するバージョンのパドルパドルが自動的にインストールされますが、これはローカルに手動でインストールする必要があるチュートリアルです。

詳細については、「Flying Propeller のクイック インストール」を参照してください。

インストール

ここに画像の説明を挿入

paddlepaddle の最新の安定バージョンをインストールするには、次のコマンドを直接実行できます。

# CPU:
# pip install paddlepaddle

# GPU:
pip install paddlepaddle-gpu

現在インストールされているバージョンを確認する

現在インストールされている PaddlePaddle のバージョンを確認します。

import paddle
print(paddle.__version__)

アンインストール

ここに画像の説明を挿入

GPUトレーニングを開始する

パドル上の GPU を使用したトレーニングには次のものが必要です

  • まず、GPU バージョンの paddlepaddle をインストールします。
  • 次に、GPU デバイスを使用するようにコード内で指定します (例: ) paddle.device.set_device('gpu:0')

GPUを指定する

paddle使用して、GPU を取得および設定します。deviceget_device()set_device()

import paddle
print(paddle.device.get_device())

ここに画像の説明を挿入

paddle.device.set_device('gpu:0') 
print(paddle.device.get_device())

知らせ!以下のようなエラーが発生した場合、

ValueError: The device should not be 'gpu', since PaddlePaddle is not compiled with CUDA

この時点で、Cuda のバージョンを確認してください。
ここに画像の説明を挿入

エラーの理由:

  • このエラー メッセージは、深層学習タスクに PaddlePaddle を使用する場合、線形層での GPU 計算が指定されているが、PaddlePaddle は CUDA をコンパイルしないため、計算に GPU を使用できないことを意味します。このエラーは、PaddlePaddle で GPU コンピューティングが有効になっていない場合に、GPU の使用中にトレーニングまたは推論を実行しようとすると発生する可能性があります。
  • インストールされているpaddlepaddleバージョンは CPU バージョンであり、GPU トレーニングをサポートしていません。

解決:

  • 最初に CPU バージョンをアンインストールする必要がありますpaddlepaddle
  • 次に、GPU バージョンをインストールしますpaddlepaddle
  • インストールが成功したら、これを使用してpaddle.device.set_device(‘gpu’)GPU の使用を指定できます (ローカルの場合は GPU が必要です。Paddle でプロジェクトを作成する場合は、GPU コンピューティング リソースを使用する必要があります)。

パドル作成プロジェクト

以下は、コンピューティング能力リソースを使用して、環境のpyhon3.7バージョンを作成します。PaddlePaddle 2.4.00.5点/小时

ここに画像の説明を挿入
ここに画像の説明を挿入

  • nvccNVIDIA CUDA コンパイラは、NVIDIA 社が提供する並列計算用のコンパイラですGPU
  • CUDA を使用してプログラミングする場合は、で実行できるバイナリ実行可能ファイルを生成するためにGPUCUDA コードnvccをコンパイルする必要があります。GPU

PaddlePaddle 2.1.2での比較

pyhon3.7以下では、PaddlePaddle 2.1.2バージョン環境内のさまざまなコンピューティング能力リソースを比較して、違いを確認します。

  1. 以下は、(GPU を使用せずに) コンピューティング リソースを使用して作成された環境のpyhon3.7バージョンです。PaddlePaddle 2.1.2基础版 CPU

ここに画像の説明を挿入

  1. 以下は、コンピューティング能力リソースを使用してpyhon3.7バージョンを作成するための環境ですPaddlePaddle 2.1.20.5点/小时

ここに画像の説明を挿入

  1. 以下は、コンピューティング能力リソースを使用してpyhon3.7バージョンを作成するための環境ですPaddlePaddle 2.1.21.0点/小时

ここに画像の説明を挿入

paddlepaddle2.4.0に修正

ここで、paddlepaddle2.1.2に変更してpaddlepaddle2.4.0違いをもう一度確認してください。

ここに画像の説明を挿入
これは同じプロジェクトですが、PaddlePaddle フレームワークのバージョンのみが変更され、0.5点/小时使用されるコンピューティング リソースが環境に追加されます。

ここに画像の説明を挿入

新しい出力がここに追加されていることに注意してください: Build cuda_11.2.r11.2/compiler.29618528_0

  • このテキストでは、構築されている CUDA ツールキットのバージョン番号について説明しますcuda_11.2.r11.2/compiler.29618528_0
  • cuda_11.2.r11.2CUDA ツールキットのバージョン番号を示します。 は11.2メジャー バージョン番号、 はr11.2マイナー バージョン番号、compiler.29618528_0はビルドされたコンパイラのバージョンを表します。
  • 適切なバージョンの CUDA ツールキットをインストールすることは、コードが実行されているマシンの CUDA バージョンと互換性があり、最高のパフォーマンスと機能が得られることを確認するために非常に重要です。

CUDA

CUDA (Compute Unified Device Architecture) は、並列コンピューティングのために NVIDIA によって開発されたプラットフォームおよびプログラミング モデルです。CUDA プラットフォームは GPU (Graphics Processing Unit、グラフィックス プロセッシング ユニット) に基づいており、GPU の強力な並列コンピューティング機能を使用して、科学技術コンピューティング、機械学習、深層学習、コンピューター ビジョン、自然言語処理などの分野を含む、コンピューティング集約型のアプリケーションを高速化します。

CUDA プラットフォームは、開発者が C/C++ や Python などのプログラミング言語を使用して GPU 高速化アプリケーションを作成できるようにする一連のハードウェアおよびソフトウェア ツールを提供します。その中核CUDA Toolkitには、開発者が効率的な並列アプリケーションを構築するのに役立つ、CUDA コンパイラ、標準数学ライブラリ、デバッガ、パフォーマンス アナライザなどのツールが含まれています。

CUDA は、行列乗算、畳み込みニューラル ネットワーク (CNN)、リカレント ニューラル ネットワーク (RNN) などの大規模なデータ並列処理を行うアプリケーションに特に適しています。GPU の高い並列処理能力とメモリ帯域幅により、従来の CPU コンピューティングと比較して、CUDA を使用すると、これらのアプリケーションのパフォーマンスが大幅に向上し、実行時間が短縮され、科学技術コンピューティングやその他の分野に重要なサポートを提供できます。

おすすめ

転載: blog.csdn.net/xiaoyuting999/article/details/130749533