ディープラーニングにおける PyTorch と NumPy 間のデータ変換についてどれくらい知っていますか?

ディープラーニングにおける PyTorch と NumPy 間のデータ変換についてどれくらい知っていますか?

ディープラーニングでは、PyTorch と NumPy はデータの処理と変換によく使用される 2 つのツールです。 PyTorch は、ニューラル ネットワークとディープラーニング モデルを構築するための Python ベースの科学計算ライブラリです。 NumPy は、強力な多次元配列オブジェクトとこれらの配列を操作するための関数を提供する科学計算用の Python ライブラリです。

ディープラーニングでは、モデルをトレーニングする前に、データを NumPy 配列から PyTorch テンソルに変換し、データを前処理する必要があることがよくあります。同様に、分析のために PyTorch テンソルからデータ結果を取得する場合も、それらを NumPy 配列に変換する必要があります。以下では、PyTorch と NumPy 間でデータを変換する方法について詳しく説明します。

NumPy 配列を PyTorch テンソルに変換します。

まず、PyTorch ライブラリと NumPy ライブラリをインポートする必要があります。

 import torch import numpy as np

次に、 torch.from_numpy() 関数を使用して、NumPy 配列を PyTorch テンソルに変換できます。

 numpy_array = np.array([1, 2, 3, 4, 5]) torch_tensor = torch.from_numpy(numpy_array)

このようにして、NumPy 配列 numpy_array を PyTorch テンソル torch_tensor に変換しました。

PyTorch テンソルを NumPy 配列に変換します。

PyTorch テンソルを NumPy 配列に変換する場合は、.numpy() メソッドを使用できます。

 torch_tensor = torch.tensor([1, 2, 3, 4, 5]) numpy_array = torch_tensor.numpy()

このようにして、PyTorch テンソル torch_tensor を NumPy 配列 numpy_array に変換します。

データ前処理における変換:

ディープラーニングでは通常、正規化や標準化などのデータの前処理が必要になります。これらのプロセスでは、データを NumPy 配列から PyTorch テンソルに変換し、処理後に NumPy 配列に戻す必要があります。

 # 数据预处理中的转换numpy_array = np.array([1, 2, 3, 4, 5]) torch_tensor = torch.from_numpy(numpy_array) # 对数据进行预处理torch_tensor = torch_tensor.float() # 转换为浮点型torch_tensor = (torch_tensor - torch.mean(torch_tensor)) / torch.std(torch_tensor) # 标准化# 将处理后的张量转换回NumPy数组numpy_array = torch_tensor.numpy()

上記のコードでは、まず NumPy 配列 `numpy_array` を PyTorch テンソル `torch_tensor` に変換しました。次に、テンソルを浮動小数点に変換したり正規化したりするなどの前処理を行いました。最後に、処理されたテンソルを NumPy 配列 `numpy_array` に変換します。

上記は、PyTorch と NumPy 間のデータ変換の基本的な方法です。以下は、PyTorch と NumPy 間でデータを変換する方法を示す完全なサンプル コードです。

 import torch import numpy as np # 将NumPy数组转换为PyTorch张量numpy_array = np.array([1, 2, 3, 4, 5]) torch_tensor = torch.from_numpy(numpy_array) # 将PyTorch张量转换为NumPy数组torch_tensor = torch.tensor([1, 2, 3, 4, 5]) numpy_array = torch_tensor.numpy() # 数据预处理中的转换numpy_array = np.array([1, 2, 3, 4, 5]) torch_tensor = torch.from_numpy(numpy_array) torch_tensor = torch_tensor.float() # 转换为浮点型torch_tensor = (torch_tensor - torch.mean(torch_tensor)) / torch.std(torch_tensor) # 标准化numpy_array = torch_tensor.numpy()

ディープラーニングのために PyTorch と NumPy 間でデータを変換する方法の詳細な説明とソースコードは以上です。これらの方法により、PyTorch と NumPy 間でデータを簡単に変換し、データの前処理と分析を実行できます。

<<: 

>>:  Pandasの魅力:データ処理から機械学習まで

ブログ    

推薦する

Spring Boot 3.2フレームワークはほぼ完成、VMWareは利用が大幅に増加したと主張

ティム・アンダーソン編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat ID:...

...

以前保存した Keras モデルをロードすると結果が異なる理由: 経験と教訓

機械学習モデルは、これまで以上に実稼働環境で広く使用されるようになりました。 Keras は、強力な...

...

ペンシルバニア大学の最新研究:AI はアイデア生成において人間よりも 7 倍効率的であり、GPT の創造力は人間の 99% を上回ります。

囲碁からゲームのプレイ、さまざまな反復作業の完了まで、AI の能力は多くの面で人間をはるかに上回って...

快手科技のY-tech AI Labが「2019 CCF科学技術賞」を受賞

より多くの中級・低級モデルでハイコンピューティングAIタスクを普及させるために、快手が自社開発した「...

香港大学の黄凱斌氏:6G時代のエッジインテリジェンス、シャノンとチューリングの出会い

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

中国の新世代人工知能レポートが発表:中国はAI論文数で世界一

[[266390]] 5月24日、浦江イノベーションフォーラムで「中国の新世代人工知能発展報告書20...

RPAのグローバルリーダーであるUiPathが中国市場への本格参入を発表

UiPath は、世界的なロボティック プロセス オートメーション (RPA) 分野の主要プラットフ...

LLaMA2コンテキストを10万に拡張し、MITと香港中文大学はLongLoRAメソッドを開発

一般的に、大規模なモデルを事前トレーニングする場合、テキストの長さは固定されます。より長いテキストを...

マイクロソフト、人間の編集者をAIに置き換え、ジャーナリスト数名を解雇

[[328414]]マイクロソフトは、マイクロソフトニュースとMSNチームから数十人のジャーナリスト...