【问题标题】:Tensorflow cost function张量流成本函数
【发布时间】:2017-10-04 23:37:34
【问题描述】:

我有一个形状为 (10,1000)、10 个输入和 1000 行的输入数据集 x,以及一个具有 (1,1000)、1 个输出和 1000 行的输出 y。

我定义的代价函数是

cost = tf.square(Y - prediction, name="cost")

预测是单个预测输出值,Y是输出值的占位符。我使用下面的代码来获取成本的值。

cost_value = sess.run(cost, feed_dict ={ X: x, Y : y })

那么输出代价函数值是一个 (1000,1000) 矩阵,因为 Y 的馈送是一个 (1,1000) 向量。

问题是我如何制作一个成本函数来计算矩阵的一个数字瞬间的成本,而不用逐行循环所有输入。

【问题讨论】:

    标签: python tensorflow deep-learning cost-based-optimizer


    【解决方案1】:

    tf.reduce_sum(cost) 将对矩阵中的所有值求和。

    https://www.tensorflow.org/api_docs/python/tf/reduce_sum

    【讨论】:

      【解决方案2】:

      还有tf.reduce_sum(cost)会做你想做的事,我认为最好使用tf.reduce_mean()。以下是一些原因:

      • 无论您的矩阵大小如何,您都会获得一致的损失。平均而言,对于两倍大的矩阵,reduce_sum 会大 4 倍
      • 通过溢出获得nan 的机会更少

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-13
        • 1970-01-01
        • 1970-01-01
        • 2018-11-20
        相关资源
        最近更新 更多