Python에서 Tensor를 NumPy 배열로 변환

Muhammad Maisam Abbas 2023년12월11일
  1. Python에서Tensor.numpy()함수를 사용하여 Tensor를 NumPy 배열로 변환
  2. Python에서Tensor.eval()함수를 사용하여 Tensor를 NumPy 배열로 변환
  3. Python에서TensorFlow.Session()함수를 사용하여 Tensor를 NumPy 배열로 변환
Python에서 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]]

위 코드에서 우리는 먼저 Python에서tf.constant()함수를 사용하여 Tensor 객체tensor를 만들고 초기화했습니다. 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 배열로 변환하는 데 사용할 수있는 또 다른 메서드입니다. 이 방법은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의 값을 인쇄했습니다. 그런 다음tensor Tensor를tf.Session.run(tensor)함수를 사용하여array NumPy 배열로 변환하고 값을array에 인쇄했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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