张量流E型

2024-10-01 19:20:30 发布

您现在位置:Python中文网/ 问答频道 /正文

TensorFlow代码出现奇怪类型错误:

curMaxAbs = tf.Variable(-1.0, tf.float32)
maxi = tf.Variable(-1, tf.int32)
for i, g in enumerate(grads):
    maxG = tf.reduce_max(tf.abs(g))            
    oCurMaxAbs = curMaxAbs            
    curMaxAbs = tf.cond(tf.greater(maxG,oCurMaxAbs),
                        lambda: maxG,
                        lambda: oCurMaxAbs)
    maxi = tf.cond(tf.greater(maxG,oCurMaxAbs),
                   lambda: maxi,
                   lambda: i)

正在获取第if not tf.equal(curMaxAbs,tf.maximum(curMaxAbs, maxG))行的错误

TypeError: Input 'y' of 'Maximum' Op has type float32 that does not match type int32 of argument 'x'

当只使用curMaxAbs = tf.maximum(curMaxAbs, maxG)语句重新赋值,tf.maximum函数返回与第一个参数相同的类型时,curMaxAbs怎么可能有{}类型?(根据https://www.tensorflow.org/api_docs/python/tf/maximum)。在


Tags: lambda类型tf错误notvariablegreaterfloat32

热门问题