PyTorch模型期望对象在CPU上,尽管在GPU上

时间:2019-10-10 20:25:08

标签: pytorch

我有一个发送到我的设备(GCS上的GPU)的PyTorch模型:

[AwesomeSheet]:
LOAD
date( 
 date#('201' & left([Date], 1)  & '0101', 'YYYYMMDD') 
 -1 
 + num( mid([Date], 2,4) ) 
) as FormattedDate
FROM [my-awesome-file.csv];

类似地,在训练之前,我也将(批处理的)数据发送到了GPU。但是,当我优化模型时,它似乎与GPU无关:

dnn_regressor = DNNRegressor(n_feature=dataset.X.shape[1], 
                         n_hidden=512, 
                         n_hidden_layers=5,
                         batch_norm=True,
                         n_output=1).to(device)

我确定我做错了明显的事情,但是我看不出它可能是什么。

1 个答案:

答案 0 :(得分:0)

这里的问题似乎与我如何构建模型有关。我天真地以为我可以将图层保留在列表中(以便可以以编程方式生成它们)。事实证明,我需要改用torch.nn.ModuleList,否则似乎没有将它们添加到模型中。不确定为什么会导致模型没有发送到GPU,但是使用ModuleList可以解决此问题。