Я пытаюсь найти оптимальные гиперпараметры для моей модели глубокого обучения. Я смог оптимизировать LR и BS. Но я бьюсь над оптимизацией количества слоев и нейронов внутри них. Кто-нибудь может мне помочь? Вот то, что я написал, и я ожидаю изменить этот класс, чтобы найти оптимальные input_neurons и output_neurons в каждом слое.
class Net(nn.Module):
def __init__(self, n_lay=2, neur=32, dropout=0.1):
super().__init__()
self.name = "DNN"
self.init_args = {"n_lay": n_lay, "neur": neur}
self.fc = nn.ModuleList([nn.Linear(1105, neur)]) # 1105 data features
self.fc.extend([nn.Linear(neur, neur) for i in range(1, n_lay-1)])
self.fc.append(nn.Linear(neur, 1))
self.dropout = nn.Dropout(p=dropout)
def forward(self, x):
for i, l in enumerate(self.fc):
x = self.dropout(self.fc[i](x))
return x