pytorch之 bulid_nn_with_2_method
1 import torch 2 import torch.nn.functional as F 3 4 5 # replace following class code with an easy sequential network 6 class Net(torch.nn.Module): 7 def __init__(self, n_feature, n_hidden, n_output): 8 super(Net, self).__init__() 9 self.hidden = torch.nn.Linear(n_feature, n_hidden) # hidden layer 10 self.predict = torch.nn.Linear(n_hidden, n_output) # output layer 11 12 def forward(self, x): 13 x = F.relu(self.hidden(x)) # activation function for hidden layer 14 x = self.predict(x) # linear output 15 return x 16 17 net1 = Net(1, 10, 1) 18 19 # easy and fast way to build your network 20 net2 = torch.nn.Sequential( 21 torch.nn.Linear(1, 10), 22 torch.nn.ReLU(), 23 torch.nn.Linear(10, 1) 24 ) 25 26 27 print(net1) # net1 architecture 28 """ 29 Net ( 30 (hidden): Linear (1 -> 10) 31 (predict): Linear (10 -> 1) 32 ) 33 """ 34 35 print(net2) # net2 architecture 36 """ 37 Sequential ( 38 (0): Linear (1 -> 10) 39 (1): ReLU () 40 (2): Linear (10 -> 1) 41 ) 42 """