Advertisement

Understanding records for maskrcnn_benchmark —— in layers\roi_align.py, using @staticmethod and @once_differentiable for handling the reverse propagation of functions that are not differentiable.

阅读量:

参考:【1】【2】【3】

在调用某一类中的方法时,首先需要创建该类的一个实例对象,随后借助该实例对象来执行对应的方法。Python语言中提供了@staticmethod与@classmethod两个修饰符,允许用户无需实例化即可直接通过类名进行方法调用。

当使用@staticmethod对方法进行声明时,该方法可直接通过类或实例对象进行访问,具体形式为 类||实例.静态方法()。所有经过@staticmethod修饰的方法均无需传入self参数,其调用方式与普通函数的使用方式完全一致。

一:关于torch.autograd.Function

复制代码
 属性(成员变量)

    
 saved_tensors: 传给forward()的参数,在backward()中会用到。
    
 needs_input_grad:长度为 :attr:num_inputs的bool元组,表示输出是否需要梯度。可以用于优化反向过程的缓存。
    
 num_inputs: 传给函数 :func:forward的参数的数量。
    
 num_outputs: 函数 :func:forward返回的值的数目。
    
 requires_grad: 布尔值,表示函数 :func:backward 是否永远不会被调用。
    
  
    
 成

全部评论 (0)

还没有任何评论哟~