PyTorch-安裝 & 代碼自動補全解決方案

pip3 install torch torchvision  安裝命令
# 構造一個未初始化的5x3矩陣
x = torch.empty(5, 3)
print(x)
# 運行結果
tensor([[ 0.0000e+00,  2.0000e+00,  1.3795e+15],
        [ 8.5920e+09, -1.8056e-34,  4.5745e-41],
        [-3.9593e-33,  4.5745e-41, -4.9454e-33],
        [ 4.5745e-41,  1.6954e-29,  1.6428e+27],
        [ 1.3790e+15, -2.5250e-29,  1.3789e+15]])

安裝完PyTorch後,運行程序輸出正常,但是發現PyCharm卻有錯誤提示,what the fuck?
答案就是:由於PyTorch的絕大部分代碼使用C++實現,因此其Python接口都是在import torch執行之後動態加載進來的,所以類型推導在執行之前是無法知道torch模塊中具體有哪些函數、每個函數的參數類型和返回值了。

那麼如何解決這個問題,實現自動補全函數?
方法就是寫一個.pyi文件。這個文件裏把你的函數、類的輸入輸出等定義好,PyCharm會自動識別。而在Python運行時又會直接忽略這個文件。因此我們就可以在完全不影響PyTorch本身的情況下爲其增加類型提示。

所幸GitHub上已經有人寫好了PyTorch類型提示的文件(需翻牆)
https://gist.github.com/t-vi/0d0ae013072f96f50fa11fbc2287e33b
文件存放路徑:${PYTHON_PATH}/site-packages/torch/_init_.pyi

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章