cuda runtime error (801) : operation not supported

雅痞匪徒(Nike)發表於2020-10-21

今天做了一個介面,想到模型預測佔據大量的運算,會對介面造成影響,很可能會造成介面卡死。所以另外新開一個程式去預測圖片,又考慮到如果在子程式中載入模型,那麼每次預測圖片都需要進行載入模型這個過程,太浪費時間,於是考慮在主程式中開一個執行緒載入模型,然後通過管道來講模型傳遞到子程式中,然後,程式碼執行起來後,報錯了 ,如下:

cuda runtime error (801) : operation not supported at C:\w\b\windows\pytorch\torch/csrc/generic/StorageSharing.cpp:245
THCudaCheck FAIL file=C:\w\b\windows\pytorch\torch/csrc/generic/StorageSharing.cpp line=245 error=801 : operation not supported

這個問題第一次遇見,最後找到解決方法,如下:
首先,在主程式中,我載入模型的時候程式碼如下:

net = models.resnet().to(device)

大家不用關注這裡究竟載入了什麼模型,只需要知道我在主程式中就把模型放到gpu上了,這也是報錯的原因所在,因此,我將程式碼改成下面這種:

net = models.resnet()

然後我再在子程式中將模型放到gpu上,ok,正常執行了。

2020.10.21

相關文章