代码之家  ›  专栏  ›  技术社区  ›  silent_dev

Tensorflow-无法将浮点变量添加到稀疏占位符矩阵

  •  0
  • silent_dev  · 技术社区  · 5 年前

    m_2 = relu(alpha*m + beta)
    

    我试图实现以下目标:

    alpha = tf.get_variable("alpha", shape=[1,], dtype=tf.float32,  initializer = 
                                         tf.contrib.layers.xavier_initializer())
    beta = tf.get_variable("beta", shape=[1, ], dtype=tf.float32,
                                        initializer = tf.contrib.layers.xavier_initializer())
    
    m_2 = tf.nn.relu(alpha * m + beta)
    

    但我得到以下错误:

    TypeError: Expected float32, got <tensorflow.python.framework.sparse_tensor.SparseTensor object at 0x0000026A771AE358> of type 'SparseTensor' instead.
    

    m_2 = tf.nn.relu(alpha * m)
    
    
    
    TypeError: Failed to convert object of type <class 'tensorflow.python.framework.sparse_tensor.SparseTensor'> to Tensor. Contents: SparseTensor(indices=Tensor("Placeholder_2:0", shape=(?, ?), dtype=int64), values=Tensor("mul_1:0", shape=(?,), dtype=float32), dense_shape=Tensor("Placeholder:0", shape=(?,), dtype=int64)). Consider casting elements to a supported type.
    

    最后,如果我不使用tf.nn.relu, m_2 = alpha*m 我的代码运行良好。

    有人能帮我理解发生了什么事,我怎样才能让它工作?

    0 回复  |  直到 5 年前
    推荐文章