我正在尝试运行脚本lstm_ptb.py,但它会为以下行抛出TypeError:
shrink_factor = ifelse(T.gt(norm_gparams,max_grad_norm),max_grad_norm/norm_gparams,1.)
这就是这条线试图实现的目标:
if norm_gparams > max_grad_norm:
shrink_factor = max_grad_norm/norm_gparams
else:
shrink_factor = 1.
它说:
TypeError:两个分支应该具有相同的类型,但它们分别是TensorType(float64,标量)和TensorType(float32,标量)。例如,如果您在
,则可能会引发此错误then
分支上提供了一个元素列表,但else
分支上的张量
如何解决错误?感谢
答案 0 :(得分:1)
Date startOfToday = new Date().clearTime()
Date startOfTomorrow = startOfToday + 1
def result = criteria.list {
between 'expireDate', startOfToday, startOfTomorrow
}
1.
部分导致的问题。默认情况下,它被指定为else
类型。你只需要转换它:
float32
或转换shrink_factor = ifelse(T.gt(norm_gparams,max_grad_norm),max_grad_norm/norm_gparams,np.float64(1.))
值:
max_grad_norm/norm_gparams
因此两个值都具有相同的类型