如果我想在tensorflow中获得正常张量的形状,并将值存储在列表中,我将使用以下内容
a_shape=[a.shape[0].value , a.shape[1].value]
如果我没记错的话,使用.value可以将张量中的元素转换为实数。
使用稀疏张量,输入以下
a_sparse_shape=[a.dense_shape[0].value, a.dense_shape[1].value]
但是,我收到错误消息 “'Tensor'对象没有属性'value'”
有人有其他替代解决方案吗?
答案 0 :(得分:1)
是的,还有一种选择:
import tensorflow as tf
tensor = tf.random_normal([2, 2, 2, 3])
tensor_shape = tensor.get_shape().as_list()
print(tensor_shape)
# [2, 2, 2, 3]
对于稀疏张量相同:
sparse_tensor = tf.SparseTensor(indices=[[0,0], [1, 1]],
values=[1, 2],
dense_shape=[2, 2])
sparse_tensor_shape = sparse_tensor.get_shape().as_list()
print(sparse_tensor_shape)
# [2, 2]