我在训练期间使用下面的代码使用梯度剪切
variables = tf.trainable_variables()
enc_vars = [v for v in variables if v.name.startswith('encoder')]
enc_opt = tf.train.AdamOptimizer()
gvs = enc_opt.compute_gradients(loss, var_list=enc_vars)
capped_gvs = [(tf.clip_by_value(grad, -10., 10.), var) for grad, var in gvs]
train_enc = enc_opt.apply_gradients(capped_gvs)
我检查了
enc_vars
,gvs
都不为空。但是我在上面这段代码的第六行中遇到了错误ValueError: None values not supported.
我究竟做错了什么?提前致谢。
最佳答案
gvs列表中的grad值之一应该是None
。再次交叉检查。您可能会找到它。
关于python - Tensorflow v1.14中的渐变裁剪错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58202708/