Как оптимизировать "нет. скрытых слоев 'и' нет. нейронов с использованием байесовской оптимизации в pytorch? - PullRequest
0 голосов
/ 03 августа 2020

Я пытаюсь найти оптимальные гиперпараметры для моей модели глубокого обучения. Я смог оптимизировать 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
...