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

时间:2019-03-18 11:15:44

标签: tensorflow machine-learning deep-learning

如果我想在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'”

有人有其他替代解决方案吗?

1 个答案:

答案 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]