pytorch构建深度学习算法网络的方式(简单)

pytorch中所有的网络都是实现为类,子类要调用nn.Module并实现__init__和forward方法。在__init__方法中初始化层,在forward方法中,把输入数据传给init方法中初始化的层,并返回最终的输出。非线性函数经常被forward函数直接调用,如下所示简单的实现:

class FirstNet(nn.Module):
    def __init__(self,input_size,hidden_size,output_size):
        super(firstNet,self).__init__()
        self.layer1 = nn.Linear(input.size,hidden_size)
        self.layer2 = nn.Linear(hidden.size,output_size)
    def __forward__(self,input):
        out = self.layer1(input)
        out = nn.ReLU(out)
        out = self.layer2(out)
        return out

这部分代码做的工作就是继承一个父类,并实现父类中的两个方法。通过将父类的名字作为参数传入来创建子类。init方法相当于python中的构造器,super方法用于将子类的参数传给父类。

你可能感兴趣的:(代码)