Такой вопрос. У меня есть класс, который, как я понимаю, создает нейронную сеть. Но как мне сделать так, чтобы я мог задавать количество слоев при инициации объекта? Я пробовал делать типа цикла, который наполняет лист этими слоями, но у меня потом выходила ошибка с gpu/cpu
class BinClass(nn.Module):
def __init__(self, points=64, drop_p=0.1):
super(BinClass, self).__init__()
#number of input features is 12
self.layer_1 = nn.Linear(11, points)
self.layer_2 = nn.Linear(points, points)
self.layer_out = nn.Linear(points, 1)
self.relu = nn.ReLU()
self.dropout = nn.Dropout(p=drop_p)
self.batchnorm = nn.BatchNorm1d(points)
def forward(self, inputs):
x = self.relu(self.layer_1(inputs))
x = self.batchnorm(x)
x = self.relu(self.layer_2(x))
x = self.batchnorm(x)
x = self.dropout(x)
x = self.layer_out(x)
return x