You should not instantiate new nn.Sigmoid classes every time, but instead create one object, e.g. self.sigmoid = nn.Sigmoid() and then call it as emb = self.sigmoid(self.linear1(x)), and so on for each layer in your network.
This will call the forward() function of this sigmoid object rather than the constructor of the class nn.Sigmoid.