Код: Выделить всё
import torch.nn.functional as F
from torch import nn
from skorch import NeuralNetClassifier
class MyModule(nn.Module):
def __init__(self, num_units=10, nonlin=F.relu):
super(MyModule, self).__init__()
self.dense0 = nn.Linear(20, num_units)
self.nonlin = nonlin
self.dropout = nn.Dropout(0.5)
...
...
self.output = nn.Linear(10, 2)
...
...
Код: Выделить всё
# copied from the documentation
net = NeuralNetClassifier(
MyModule,
max_epochs=10,
lr=0.1,
# Shuffle training data on each epoch
iterator_train__shuffle=True,
)
# any general Pipeline interface
pipeline = Pipeline([
('transformation', AnyTransformer()),
('net', net)
])
gs = GridSearchCV(net, params, refit=False, cv=3, scoring='accuracy')
gs.fit(X, y)
Я неправильно понял, как это происходит? должно работать или иначе, что было бы предложенным решением (я думал об указании конструкторов в методе вперед, где у вас уже есть X, доступный для подгонки, но я не уверен, что это хорошая практика )?
Подробнее здесь: https://stackoverflow.com/questions/600 ... ch-wrapper
Мобильная версия