####質問
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
よろしくお願いします。
tensorflowの2以上では、a.numpy()でできるようですが、ver. 1.13.1にこだわる理由は何かあるのでしょうか?
複数人で環境を統一してコードを共有しているためです。
よろしくお願いします。
1.13.1の情報は、ぐぐってもあまり出てこないし、インストールもしていないので、確かめるのが難しいです。
こういう場合、私なら
import numpy as np
print(np.array(a))
を試してみます。
ダメ元でやってみてはいかがですか。
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))
回答ありがとうございます。
上記スクリプトの場合動作したのですが、定数でない場合動作しませんでした。
下記の形式の場合、どのような操作が必要でしょうか。
Tensor("model/Squeeze:0", shape=(60, 60, 3), dtype=float32)
なお、定数の場合のprint(a)は下記の出力となります。
Tensor("Const_4:0", shape=(2, 2, 3), dtype=int32
どうぞよろしくお願いします。
質問に書いてあるコードに付いては解決したと思うので、
> 下記の形式の場合、どのような操作が必要でしょうか。
は、別の質問にしてください
解決したい条件が複数あるのなら、後出しで条件増やさないで、最初から書いて下さい
回答1件
あなたの回答
tips
プレビュー