Как правильно запустить мой проект с использованием графического процессора? - PullRequest
0 голосов
/ 03 апреля 2020

Я действительно новичок в факеле и машинном обучении. Я пытаюсь запустить свой проект с использованием графического процессора. Я попытался изменить код:

model = Challenge()
    model = model.to(torch.device('cuda'))

Однако, у меня все еще есть ошибка:

Traceback (most recent call last):
  File "C:/Users/ruidong/Desktop/YZR temp/Project2/train_challenge.py", line 112, in <module>
    main()
  File "C:/Users/ruidong/Desktop/YZR temp/Project2/train_challenge.py", line 91, in main
    stats)
  File "C:/Users/ruidong/Desktop/YZR temp/Project2/train_challenge.py", line 40, in _evaluate_epoch
    output = model(X)
  File "C:\Users\ruidong\Anaconda3\envs\EECS445\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\Users\ruidong\Desktop\YZR temp\Project2\model\challenge.py", line 48, in forward
    z = F.relu(self.conv1(x))
  File "C:\Users\ruidong\Anaconda3\envs\EECS445\lib\site-packages\torch\nn\modules\module.py", line 532, in __call__
    result = self.forward(*input, **kwargs)
  File "C:\Users\ruidong\Anaconda3\envs\EECS445\lib\site-packages\torch\nn\modules\conv.py", line 345, in forward
    return self.conv2d_forward(input, self.weight)
  File "C:\Users\ruidong\Anaconda3\envs\EECS445\lib\site-packages\torch\nn\modules\conv.py", line 342, in conv2d_forward
    self.padding, self.dilation, self.groups)
RuntimeError: Expected object of device type cuda but got device type cpu for argument #1 'self' in call to _thnn_conv2d_forward

Есть предложения? очень ценю.

1 Ответ

2 голосов
/ 03 апреля 2020

Модель правильно перенесена в графический процессор. Тем не менее, для модели, размещенной в графическом процессоре, вам необходимо передать и тензоры в графическом процессоре. Ошибка в том, что вы передаете тензор, который помещается в CPU в модели, которая находится в GPU. Просто сделайте то же самое для входных данных, прежде чем передавать их в модель

...