出現上述bug是在第一次查看pytorchhub可用模型的時候發生的
>>torch.hub.list('pytorch/vision')
沒有記錄下來,所以沒辦法重現
解決方法是:
定位到hub.py文件的_remove_if_exists(path)方法,pycharm定位方式是直接點擊bug最后一行顯示bug提示
例如:
該方法原代碼如下:
def _remove_if_exists(path): if os.path.exists(path): if os.path.isfile(path): os.remove(path) else: shutil.rmtree(path)
修改為:
def _remove_if_exists(path): if os.path.exists(path): if os.path.isfile(path): # os.remove(path) pass else: shutil.rmtree(path)
然后執行
>>torch.hub.list('pytorch/vision'),發現能夠成功獲取所有模型
最后再將hub.py修改回來即可。