[PYTHON] TensorFlow에서 텐서를 수적으로 배열로 변환하려면 어떻게해야합니까?
PYTHONTensorFlow에서 텐서를 수적으로 배열로 변환하려면 어떻게해야합니까?
파이썬 바인딩을 사용하여 Tensorflow를 사용할 때 텐서를 numpy 배열로 변환하는 방법은 무엇입니까?
해결법
-
==============================
1.Session.run 또는 eval에 의해 반환되는 텐서는 모두 NumPy 배열입니다.
Session.run 또는 eval에 의해 반환되는 텐서는 모두 NumPy 배열입니다.
>>> print(type(tf.Session().run(tf.constant([1,2,3])))) <class 'numpy.ndarray'>
또는:
>>> sess = tf.InteractiveSession() >>> print(type(tf.constant([1,2,3]).eval())) <class 'numpy.ndarray'>
또는, 동등하게 :
>>> sess = tf.Session() >>> with sess.as_default(): >>> print(type(tf.constant([1,2,3]).eval())) <class 'numpy.ndarray'>
편집 : 어떤 텐서 Session.run에 의해 반환 된 또는 eval () NumPy 배열입니다. SparseTensors는 예를 들어 SparseTensorValue로 반환됩니다.
>>> print(type(tf.Session().run(tf.SparseTensor([[0, 0]],[1],[1,2])))) <class 'tensorflow.python.framework.sparse_tensor.SparseTensorValue'>
-
==============================
2.텐서에서 numpy 배열로 다시 변환하려면 변환 된 텐서에서 .eval ()을 간단히 수행하면됩니다.
텐서에서 numpy 배열로 다시 변환하려면 변환 된 텐서에서 .eval ()을 간단히 수행하면됩니다.
-
==============================
3.당신은 다음을해야합니다 :
당신은 다음을해야합니다 :
암호:
import tensorflow as tf import matplotlib.pyplot as plt import PIL ... image_tensor = <your decoded image tensor> jpeg_bin_tensor = tf.image.encode_jpeg(image_tensor) with tf.Session() as sess: # display encoded back to image data jpeg_bin = sess.run(jpeg_bin_tensor) jpeg_str = StringIO.StringIO(jpeg_bin) jpeg_image = PIL.Image.open(jpeg_str) plt.imshow(jpeg_image)
이것은 나를 위해 일했다. 당신은 ipython 노트북에서 그것을 시도 할 수 있습니다. 다음 줄을 추가하는 것을 잊지 마십시오.
%matplotlib inline
-
==============================
4.어쩌면이 방법을 시도해 볼 수 있습니다.
어쩌면이 방법을 시도해 볼 수 있습니다.
import tensorflow as tf W1 = tf.Variable(tf.random_uniform([1], -1.0, 1.0)) init = tf.global_variables_initializer() sess = tf.Session() sess.run(init) array = W1.eval(sess) print (array)
-
==============================
5.나는 cleverhans 라이브러리 / 튜토리얼에서 얻은 (득립자) 이미지를 나타내는 텐서의 특정한 경우에 텐서 -> ndarray 변환을 직면하고 해결했습니다.
나는 cleverhans 라이브러리 / 튜토리얼에서 얻은 (득립자) 이미지를 나타내는 텐서의 특정한 경우에 텐서 -> ndarray 변환을 직면하고 해결했습니다.
내 질문 / 답변 (여기)이 다른 경우에도 도움이 될 수 있다고 생각합니다.
나는 TensorFlow에 익숙하지 않다. 내 경험적 결론이다.
tensor.eval () 메서드는 성공하기 위해 입력 자리 표시 자의 값을 필요로 할 수도 있습니다. Tensor는 출력 값을 반환하기 위해 입력 값 (feed_dict에 제공됨)이 필요한 함수처럼 작동합니다.
array_out = tensor.eval(session=sess, feed_dict={x: x_input})
필자의 경우 자리 표시 자 이름은 x이지만 입력 된 자리 표시 자의 올바른 이름을 찾아야한다고 가정합니다. x_input은 입력 데이터를 포함하는 스칼라 값 또는 배열입니다.
제 경우에는 sess도 제공해야했습니다.
필자의 예제는 matplotlib 이미지 시각화 부분도 다루지 만, 이것은 구약입니다.
from https://stackoverflow.com/questions/34097281/how-can-i-convert-a-tensor-into-a-numpy-array-in-tensorflow by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 교대로 두 목록을 결합하는 Pythonic 방식? (0) | 2018.10.11 |
---|---|
[PYTHON] 리스트 독해력과 생성자 표현에서 산출 (0) | 2018.10.11 |
[PYTHON] DataFrame 열 유형을 문자열에서 datetime으로 변환 (0) | 2018.10.11 |
[PYTHON] 문자의 ASCII 값을 얻는 방법? (0) | 2018.10.11 |
[PYTHON] 팬더 멀티 인덱스를 열로 바꿉니다. (0) | 2018.10.11 |