报错信息:
File "C:\PyCode\venv_torch\lib\site-packages\torch\nn\parallel\data_parallel.py", line 154, in forward
raise RuntimeError("module must have its parameters and buffers "
RuntimeError: module must have its parameters and buffers on device cuda:0 (device_ids[0]) but found one of them on device: cpu
本来是想把cuda都改成cpu以此来找到报错的真正地方,但是一直提示这个报错,原因是nn.DataParallel要求必须要在cuda上运行。
解决方法:
# self.sentence_encoder = nn.DataParallel(my_sentence_encoder, device_ids=None)
# 不使用nn.DataParallel
self.sentence_encoder = my_sentence_encoder