layer-pytorch

#自定义层
import torch
import  torch.nn.functional as F
from torch import nn

class CenterdLayer(nn.Module):
    def __init__(self):
        super().__init__()

    def forward(self,X):
        return X-X.mean()
layer=CenterdLayer()
print(layer(torch.FloatTensor([1,2,3,4,5])))

net=nn.Sequential(nn.Linear(8,128),CenterdLayer())
Y=net(torch.rand(4,8))
Y.mean()

class MyLinear(nn.Module):
    def __init__(self,in_units,units):
        super().__init__()
        self.weight=nn.Parameter(torch.randn(in_units,units))
        self.bias=nn.Parameter(torch.randn(units,))

    def forward(self,X):
        linear=torch.matmul(X,self.weight.data)+self.bias.data
        return F.relu(linear)

dense=MyLinear(5,3)
print(dense.weight)

猜你喜欢

转载自blog.csdn.net/qq_45828494/article/details/126611207