TypeError:reduce_sum() 得到了一个意外的关键字参数“reduction_indices”?

Posted

技术标签:

【中文标题】TypeError:reduce_sum() 得到了一个意外的关键字参数“reduction_indices”?【英文标题】:TypeError: reduce_sum() got an unexpected keyword argument 'reduction_indices'? 【发布时间】:2021-12-05 05:19:54 【问题描述】:

使用我在 tf == 1 中编写的这个函数后,我更新了 tensorflow 2.0。我遇到了下面提到的同样的错误

    colors = tf.constant(img, dtype=tf.float32)
    model = tf.keras.models.model_from_json(json.load(open("model.json"))["model"], custom_objects=)
    model.load_weights("model_weights.h5")
    predictions = model.predict(colors, batch_size=32, verbose=0)
    # Output is one-hot vector for 9 class:["red","green","blue","orange","yellow","pink", "purple","brown","grey"]
    predictions = tf.one_hot(np.argmax(predictions, 1), 9)
    # Sum along the column, each entry indicates no of pixels
    res = tf.reduce_sum(predictions, reduction_indices= 0 ).numpy()
    # Threshold is 0.5 (accuracy is 96%) change threshold may cause accuracy decrease
    if res[0] / (sum(res[:-1]) + 1) > 0.5:
        return "red"
    elif res[1] / (sum(res[:-1]) + 1) > 0.5:
        return "green"
    elif res[2] / (sum(res[:-1]) + 1) > 0.5:
        return "blue"
    else:
        return "other"

错误信息如下 TypeError: reduce_sum() got an unexpected keyword argument 'reduction_indices'

【问题讨论】:

【参考方案1】:

我认为您的问题是 reduction_indices 在 Tensorflow 2.x 中已被弃用,所以请尝试这样做:

tf.reduce_sum(predictions, axis= 0)

这是等价的。

【讨论】:

以上是关于TypeError:reduce_sum() 得到了一个意外的关键字参数“reduction_indices”?的主要内容,如果未能解决你的问题,请参考以下文章

tf.reduce_sum函数

tf.reduce_sum()函数

tensorflow 中 reduce_sum 理解

tensorflow的reduce_sum方法学习记录

reduce_sum() 在张量流中是如何工作的?

GPU 上的 tf.reduce_sum 结合占位符作为输入形状失败