将稀疏张量密集形状转换为张量流中的整数值

如果我想在张量流中得到正常张量的形状,并将值存储在列表中,我会使用以下

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’”

有没有人有任何替代解决方案?

最佳答案 是的,还有另一种选择:

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]
点赞