keras.backend.tensorflow_backend.py中出问题的一段
def l2_normalize(x, axis=None):
"""Normalizes a tensor wrt the L2 norm alongside the specified axis.
# Arguments
x: Tensor or variable.
axis: axis along which to perform normalization.
# Returns
A tensor.
"""
return tf.nn.l2_normalize(x, axis=axis)
return tf.nn.l2_normalize(x, axis=axis)改成 return tf.nn.l2_normalize(x, dim=axis^1)
因为用了异或,用的时候要指定axis的值,不然会报错,
或者也可以在定义的时候干脆把axis默认改成0
def l2_normalize(x, axis=None)改成def l2_normalize(x,axis=0)
改过保存重启IDE并import一下刷新pyc文件
(也不知道是不是我的keras和tensorflow之间版本差异大的原因keras==2.2.0, tensorflow==1.3.0, 不清楚后面的tensorflow版本是不是支持axis参数0.0)
___________________________________________________________________
刚查了一下,是tensorflow官方1.4.1开始弃用dimension,转为axis