【问题标题】:Tensorflow Tf.tf.squared_difference is showing a value errorTensorflow Tf.tf.squared_difference 显示值错误
【发布时间】:2019-08-16 08:01:30
【问题描述】:

我正在使用 Keras 输入层,然后添加一个嵌入层。每当我尝试执行以下代码时

vector = tf.reduce_sum(tf.squared_difference(user, book), 1, name="pos_distances")

ValueError:输入 0 与层预测不兼容:预期 min_ndim=2,发现 ndim=1

这是输入张量的形状

user :   Tensor("Shape:0", shape=(2,), dtype=int32) 

book :   Tensor("Shape_1:0", shape=(2,), dtype=int32) 

它给了我这个错误

vector = tf.reduce_sum(tf.squared_difference(user, book), 1, name="pos_distances")

【问题讨论】:

    标签: tensorflow keras


    【解决方案1】:

    您的张量没有 axis=1,您尝试在其上执行归约(tf.reduce_sum() 的第二个参数)。应该是

    sqrt_diff = tf.squared_difference(user, book)
    vector = tf.reduce_sum(sqrt_diff, 0, name="pos_distances")
    

    【讨论】:

    • 所以结果会不一样。因为,据我所知 x = tf.constant([[1, 1, 1], [1, 1, 1]]) tf.reduce_sum(x) # 6 tf.reduce_sum(x, 0) # [2 , 2, 2] tf.reduce_sum(x, 1) # [3, 3]
    猜你喜欢
    • 2019-12-24
    • 2021-07-30
    • 2020-06-19
    • 2019-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-31
    相关资源
    最近更新 更多