赞
踩
找了好几篇觉得都写得或者说翻译得不能让我很好地理解,所以自己找来官方文档翻译并记录了一下,以便以后自己查阅
说明:该API在v1、v2的Tensoflow中用法一致
接下来进入正文。
tf.clip_by_global_norm(
t_list,
clip_norm,
use_norm=None,
name=None
)
给定张量t_list的元组或列表以及裁剪率clip_norm,此操作将返回裁剪后的list_clipped的张量列表以及t_list中所有张量的全局范数(global_norm)。 或者,如果您已经为t_list计算了全局范数,则可以使用use_norm指定全局范数。
t_list
:梯度张量,tuple或者mixed tensor、IndexedSlices或None的列表。clip_norm
: 标量,表示梯度裁剪的比例因子,在裁剪中,裁剪之后的梯度符合如下公式:clip_norm> global_norm
,则t_list
中的梯度将保持原样,否则它们将被裁剪并按比率缩小;如果global_norm == infinity
,则t_list
中的所有条目均设置为NaN以表示发生了错误;否则,t_list
将保持不变。use_norm
:可选参数,float类型的0-D(标量)张量,如果自己计算了global_norm,则可以利用该参数以提供。 默认为None,则代表Tensorflow将自己计算global_norm()范数。name
:可选参数,设定名字。list_clipped
: 与list_t
类型相同的张量列表,是裁剪后的梯度。global_norm
:一个表示全局范数的0-D(标量)张量。TypeError
:如果t_list
不是序列。注:官方文档中提了这样一句话:但是,它比clip_by_norm()慢,因为在执行剪切操作之前必须准备好所有参数。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。