任务要求:
自定义一个层主要是定义该层的实现函数,只需要重载Function的forward和backward函数即可,如下:
import torch
from torch.autograd import Function
from torch.autograd import Variable
定义二值化函数
class BinarizedF(Function):
def forward(self, input):
self.save_for_backward(input)
pytorch中自定义backward()函数。在图像处理过程中,我们有时候会使用自己定义的算法处理图像,这些算法多是基于numpy或者scipy等包。
那么如何将自定义算法的梯度加入到pytorch的计算图中,能使用Loss.backward()操作自动求导并优化呢。下面的代码展示了这个功能`
import torch
import numpy as np
from PIL import Image
from torch.autograd import gradcheck
class Bic