🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

5773閲覧

TensorFlow(v1.13.1)でテンソルをnumpy.ndarrayに変換したい

K.F.

総合スコア5

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2021/03/24 05:00

####質問
TensorFlow(ver. 1.13.1)でテンソルをnumpy.ndarrayに変換する方法を教えていただけないでしょうか。

####やってみたこと
下記を実行したところエラーが発生し正常に動作しませんでした。
AttributeError: 'Tensor' object has no attribute 'numpy'

import tensorflow as tf
a = tf.constant([[1, 2], [3, 4]])
print(a.numpy())

なお、上記は2次元のテンソルですが、3次元のテンソルについてもNumpy形式に変換したいと考えています。
https://stackoverflow.com/questions/34097281/convert-a-tensor-to-numpy-array-in-tensorflow

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ppaul

2021/03/24 05:44

tensorflowの2以上では、a.numpy()でできるようですが、ver. 1.13.1にこだわる理由は何かあるのでしょうか?
K.F.

2021/03/24 07:59

複数人で環境を統一してコードを共有しているためです。 よろしくお願いします。
ppaul

2021/03/24 09:28

1.13.1の情報は、ぐぐってもあまり出てこないし、インストールもしていないので、確かめるのが難しいです。 こういう場合、私なら import numpy as np print(np.array(a)) を試してみます。 ダメ元でやってみてはいかがですか。
jbpb0

2021/03/25 09:06 編集

TF 1.15.3では、 https://stackoverflow.com/questions/34097281/convert-a-tensor-to-numpy-array-in-tensorflow に書かれてる方法で、変換できるようです import tensorflow as tf import numpy as np #a = tf.constant([[1, 2], [3, 4]]) a = tf.constant(np.arange(1, 13, dtype=np.int32), shape=[2, 2, 3]) print(type(a)) tf.InteractiveSession() a_np = a.eval() print(a_np) print(a_np.shape) print(type(a_np)) a_np2 = tf.Session().run(a) print(a_np2) print(a_np2.shape) print(type(a_np2))
K.F.

2021/03/25 07:06

回答ありがとうございます。 上記スクリプトの場合動作したのですが、定数でない場合動作しませんでした。 下記の形式の場合、どのような操作が必要でしょうか。 Tensor("model/Squeeze:0", shape=(60, 60, 3), dtype=float32) なお、定数の場合のprint(a)は下記の出力となります。 Tensor("Const_4:0", shape=(2, 2, 3), dtype=int32 どうぞよろしくお願いします。
jbpb0

2021/03/25 10:55

質問に書いてあるコードに付いては解決したと思うので、 > 下記の形式の場合、どのような操作が必要でしょうか。 は、別の質問にしてください 解決したい条件が複数あるのなら、後出しで条件増やさないで、最初から書いて下さい
guest

回答1

0

ベストアンサー

TensorFlow 1.15.3では、
Convert a tensor to numpy array in Tensorflow?
に書かれてる方法で、変換できました

python

1import tensorflow as tf 2import numpy as np 3 4 5# tf.constant 6#a = tf.constant([[1, 2], [3, 4]]) 7a = tf.constant([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) 8print(type(a)) 9 10tf.InteractiveSession() 11a_np = a.eval() 12print(a_np) 13print(a_np.shape) 14print(type(a_np)) 15 16a_np2 = tf.Session().run(a) 17print(a_np2) 18print(a_np2.shape) 19print(type(a_np2)) 20 21 22# tf.Variable 23#b = tf.Variable([[1, 2], [3, 4]]) 24b = tf.Variable([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) 25print(type(b)) 26 27sess = tf.Session() 28sess.run(tf.global_variables_initializer()) 29b_np = b.eval(sess) 30print(b_np) 31print(b_np.shape) 32print(type(b_np)) 33 34sess2 = tf.Session() 35sess2.run(tf.global_variables_initializer()) 36b_np2 = sess2.run(b) 37print(b_np2) 38print(b_np2.shape) 39print(type(b_np2))

投稿2021/03/25 09:06

編集2021/03/26 00:33
jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問