我们专注攀枝花网站设计 攀枝花网站制作 攀枝花网站建设
成都网站建设公司服务热线:400-028-6601

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

register_backward_hook(hook)和register_forward_hook(hook)怎么使用

这篇文章主要讲解了“register_backward_hook(hook)和register_forward_hook(hook)怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“register_backward_hook(hook)和register_forward_hook(hook)怎么使用”吧!

你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站设计、成都网站制作、企业网站建设、手机网站制作、网页设计、品牌网站建设、网页制作、做网站、建网站。创新互联拥有实力坚强的技术研发团队及素养的视觉设计专才。

register_backward_hook(hook)
	Registers a backward hook on the module.
	将一个反向传播的钩子函数登记注册到一个模块上.
	The hook will be called every time the gradients with 
	respect to module inputs are computed. The hook should 
	have the following signature:
	每次计算模型输入的梯度时都会调用这个钩子函数.该钩子函数应该具有
	如下签名形式:
	hook(module, grad_input, grad_output) -> Tensor or None
	
	The grad_input and grad_output may be tuples if the module 
	has multiple inputs or outputs. The hook should not modify 
	its arguments, but it can optionally return a new gradient 
	with respect to input that will be used in place of 
	grad_input in subsequent computations.
	如果模块的输入数据和输出数据有多个的话,那么grad_input和
	grad_output可能是一个元组.该钩子函数,不应该修改它的参数,但是
	它可以可选地返回一个新的相对于输入input的梯度,该梯度可以被用来
	在随后的计算中代替grad_input.
	
	Returns 返回
    a handle that can be used to remove the added hook by 
    calling handle.remove()返回一个句柄,该句柄通过调用handle.remove()可以移除已添加
    的钩子函数.
	Return type 返回类型
    torch.utils.hooks.RemovableHandle

Warning 警告

The current implementation will not have the presented behavior 
for complex Module that perform many operations. In some failure
cases, grad_input and grad_output will only contain the gradientsfor a subset of the inputs and outputs. For such Module, you 
should use torch.Tensor.register_hook() directly on a specific 
input or output to get the required gradients.当前的实现没有展现执行许多操作的复杂模块的行为.在某些错误的例子中,grad_input和grad_output只能包含输入数据和输出数据子集的梯度.对于
这样的模块,你应该在特定的输入和输出数据上直接使用
torch.Tensor.register_hook()来获得所需的梯度.
register_forward_hook(hook)
	Registers a forward hook on the module.

	The hook will be called every time after forward() 
	has computed an output. It should have the following signature:
	hook(module, input, output) -> None or modified output
	
	The hook can modify the output. It can modify the input inplace
	but it will not have effect on forward since this is called 
	after forward() is called.

	
	Returns

    	a handle that can be used to remove the added hook by 
    	calling handle.remove()
	Return type	torch.utils.hooks.RemovableHandle

感谢各位的阅读,以上就是“register_backward_hook(hook)和register_forward_hook(hook)怎么使用”的内容了,经过本文的学习后,相信大家对register_backward_hook(hook)和register_forward_hook(hook)怎么使用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!


当前名称:register_backward_hook(hook)和register_forward_hook(hook)怎么使用
文章网址:http://mswzjz.cn/article/jcceii.html

其他资讯