小编van*_*ani的帖子

类型错误:take():参数“索引”(位置 1)必须是张量,而不是 numpy.ndarray

我是 pytorch 的新手。我正在尝试进行交叉验证,我找到了 skorch 库,它允许用户将 sklearn 函数与火炬模型一起使用。所以,我定义了一个神经网络类:

torch.manual_seed(42)

class Netcross(nn.Module):

    def __init__(self):
        super().__init__()
        self.fc1 = nn.Linear(5,30)
        self.sig1 = nn.Tanh()
        #self.dout = nn.Dropout(0.2)
        self.fc2 = nn.Linear(30,30)
        self.sig2 = nn.Sigmoid()
        self.out = nn.Linear(30, 1)
        self.out_act = nn.Sigmoid()
        #self.fc1.weight = torch.nn.Parameter(torch.rand(50,5))

    def forward(self, x):
        x = self.fc1(x)
        x = self.sig1(x)
        #x = self.dout(x)
        x = self.fc2(x)
        x = self.sig2(x)
        x = self.out(x)
        y = self.out_act(x)

        return y

crossnet1 = NeuralNet(
    Netcross,
    max_epochs = 5,
    criterion=torch.nn.BCELoss,
    #user defined coeff.
    callbacks = [epoch_acc, epoch_f1, epoch_phi], …
Run Code Online (Sandbox Code Playgroud)

python machine-learning scikit-learn skorch gridsearchcv

5
推荐指数
1
解决办法
7702
查看次数