Hi I am new to Pyttorch and may be the question be simple,
I want to create Sequential model that have multiple Sequential segment or slice so that is my code
class Net(nn.Module):
def __init__(self):
super(Net, self).__init__()
#input 3 32 32
self.slic1=nn.Sequential()
self.slic1.add_module('conv1', nn.Conv2d(3, 6, 7,padding=3))
self.layers = nn.Sequential()
self.layers.add_module('slic1',self.slic1)
self.layers.add_module('Act1',torch.nn.ReLU())
self.layers.add_module('pool1',nn.MaxPool2d(2, 2))
self.layers.add_module('conv2', nn.Conv2d(6, 16 ,5,padding=2))
self.layers.add_module('Act2',torch.nn.ReLU())
self.layers.add_module('pool2',nn.MaxPool2d(2, 2))
self.layers.add_module('flat',nn.Flatten())
self.layers.add_module('lin1',nn.Linear(16 * 8 * 8, 500))
self.layers.add_module('Act4',torch.nn.ReLU())
self.layers.add_module('lin3',nn.Linear(500, 10))
def forward(self, x):
x_out = self.layers(x)
return x_out
But conv layer at self.slic1 TWO time added to main model !!! when execute
net = Net()
weightlist=net.state_dict()
weightlist HAVE TWO time conv1 layer (layer defined in self.slic1) parameter,
what Is wrong ? and how I can create Sequential model with multiple segment