Python で Tensor を NumPy 配列に変換する
-
Python の
Tensor.numpy()
関数を使用して Tensor を NumPy 配列に変換する -
Python の
Tensor.eval()
関数を使用して Tensor を NumPy 配列に変換する -
Python の
TensorFlow.Session()
関数を使用して Tensor を NumPy 配列に変換する
このチュートリアルでは、Python で Tensor を NumPy 配列に変換する方法を紹介します。
Python の Tensor.numpy()
関数を使用して Tensor を NumPy 配列に変換する
TensorFlow ライブラリの Eager Execution
を使用して、Python でテンソルを NumPy 配列に変換できます。Eager Execution
を使用すると、TensorFlow ライブラリの操作の動作が変更され、操作がすぐに実行されます。Eager Execution
を使用して Tensor オブジェクトに対して NumPy 操作を実行することもできます。Tensor.numpy()
関数は、Python で Tensor を NumPy 配列に変換します。TensorFlow 2.0 では、Eager Execution
がデフォルトで有効になっています。したがって、このアプローチは TensorFlow バージョン 2.0 に最適です。次のコード例を参照してください。
import tensorflow as tf
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.numpy()
print("Array = ", array)
出力:
Tensor = tf.Tensor(
[[1 2 3]
[4 5 6]
[7 8 9]], shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
上記のコードでは、最初に Tensor オブジェクト tensor
を Python の tf.constant()
関数で作成して初期化しました。tensor
を出力し、Python の tensor.numpy()
関数を使用して NumPy 配列 array
に変換しました。最後に、配列
を出力しました。
Python の Tensor.eval()
関数を使用して Tensor を NumPy 配列に変換する
Tensor.eval()
関数を使用して、Python で Tensor を NumPy 配列に変換することもできます。このメソッドは、TensorFlow バージョン 2.0 ではサポートされていません。そのため、TensorFlow の以前のバージョン 1.0 を維持するか、TensorFlow ライブラリのバージョン 2.0 のすべての動作を無効にする必要があります。次のコード例を参照してください。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tensor.eval(session=tf.Session())
print("Array = ", array)
出力:
Tensor = Tensor("Const_1:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
上記のコードでは、Python の tensor.eval()
関数を使用して、Tensor オブジェクト tensor
を NumPy 配列 array
に変換しました。最初に TensorFlow ライブラリのバージョン 1.0 をインポートし、バージョン 2.0 のすべての動作を無効にしました。次に、tf.constant()
関数を使用して tensor
を作成および初期化し、値を tensor
に出力しました。次に、tensor.eval()
関数を実行し、戻り値を array
内に保存し、値を array
に出力しました。
Python の TensorFlow.Session()
関数を使用して Tensor を NumPy 配列に変換する
TensorFlow.Session()
は、Python で Tensor を NumPy 配列に変換するために使用できるもう 1つのメソッドです。このメソッドは、Tensor.eval()
関数を使用した以前のアプローチと非常によく似ています。このアプローチは、TensorFlow ライブラリのバージョン 2.0 でもサポートされていません。TensorFlow ライブラリのバージョン 1.0 をインストールするか、TensorFlow ライブラリのバージョン 2.0 のすべての動作を無効にする必要があります。Tensor オブジェクトを TensorFlow.Session().run()
関数に渡して、その Tensor オブジェクトを Python の NumPy 配列に変換できます。次のコード例を参照してください。
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()
tensor = tf.constant([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("Tensor = ", tensor)
array = tf.Session().run(tensor)
print("Array = ", array)
出力:
Tensor = Tensor("Const_6:0", shape=(3, 3), dtype=int32)
Array = [[1 2 3]
[4 5 6]
[7 8 9]]
上記のコードでは、Python の tf.Session.run(tensor)
関数を使用して、Tensor オブジェクト tensor
を NumPy 配列 array
に変換しました。最初にバージョン 1.0 互換の TensorFlow ライブラリをインポートし、バージョン 2.0 のすべての動作を無効にしました。次に、Tensor オブジェクト tensor
を作成し、tensor
の値を出力しました。次に、tf.Session.run(tensor)
関数を使用して tensor
Tensor を array
NumPy 配列に変換し、値を array
に出力しました。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn