欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python中torch可以成功引用但無法訪問屬性的解決辦法

 更新時間:2024年01月22日 10:56:05   作者:竹底蜉蝣  
這篇文章給大家介紹了我們在python中運行程序時遇到一個奇怪的報錯,torch可以成功引用但無法訪問屬性,這是比較奇怪的一件事,因為torch肯定是可以訪問Tensor,所以本文給大家介紹了torch可以成功引用但無法訪問屬性的解決辦法,需要的朋友可以參考下

運行程序時遇到了一個奇怪的報錯:

# ... 省略 ...
AttributeError: module 'torch' has no attribute 'Tensor'

意思是模塊torch沒有Tensor屬性。這是比較奇怪的一件事,因為torch肯定是可以訪問Tensor。

后來在stackoverflow上找到了一個類似的錯誤,底下有人回復說這是因為python在執(zhí)行import torch時引入的并不是torch包,而是一個命名空間(對應一個名為torch的文件夾)。

驗證

首先查看一下是不是torch的引用真的有問題:

$ python
>>> import torch
>>> torch.Tensor
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'torch' has no attribute 'Tensor'
>>> torch.nn
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'torch' has no attribute 'nn'

引入torch沒有問題,但是不僅不能訪問Tensor,連nn也不能訪問。這說明我們的確引入了一個錯誤的torch。

>>> print(torch)
<module 'torch' (namespace)>
>>> print(torch.__path__)
_NamespacePath(['.../python3.8/site-packages/torch'])

果然,這個torch不是我們期望的torch,而是一個命名空間,而且我們也可以定位到問題所在的路徑。

解決

沿著路徑找下去,的確有一個名為torch的目錄,其中包含很多東西,應該是正常torch所需要的那些。但是其中沒有__init.py__,不知道是什么原因導致的。

位于模塊搜索路徑上的任何不存在 __init__.py 文件的目錄都將被視為命名空間。
(在搜索路徑的其他任何位置都沒有同名模塊或包)

所以,在torch目錄下創(chuàng)建一個__init__.py是不是就好啦?

我沒有選擇這樣做,因為我不確定torch目錄下的其他文件是不是完好的。我選擇刪除掉這個 torch目錄,然后pip重新安裝torch。最后問題成功解決。

當然,也有可能你本身是有正確的torch包,只不過有了額外的名為torch的目錄導致這個問題。那你可以選擇將目錄改名來規(guī)避該問題。

結果

重新安裝torch后,再測試一下。這回對了,python清楚地知道這是一個package,而不是一個namespace。

>>> import torch
>>> print(torch)
<module 'torch' from '.../lib/python3.8/site-packages/torch/__init__.py'>
>>> print(torch.__path__)
['.../lib/python3.8/site-packages/torch']

到此這篇關于python中torch可以成功引用但無法訪問屬性的解決辦法的文章就介紹到這了,更多相關python torch可以引用但無法訪問內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • pytest使用@pytest.mark.parametrize()實現參數化的示例代碼

    pytest使用@pytest.mark.parametrize()實現參數化的示例代碼

    這篇文章主要介紹了pytest使用@pytest.mark.parametrize()實現參數化,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Python +Selenium解決圖片驗證碼登錄或注冊問題(推薦)

    Python +Selenium解決圖片驗證碼登錄或注冊問題(推薦)

    這篇文章主要介紹了Python Selenium解決圖片驗證碼登錄或注冊問題,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • python3新特性函數注釋Function Annotations用法分析

    python3新特性函數注釋Function Annotations用法分析

    這篇文章主要介紹了python3新特性函數注釋Function Annotations用法,結合實例形式分析了Python3函數注釋的定義方法與使用技巧,需要的朋友可以參考下
    2016-07-07
  • Numpy判斷數組是否全0的三種方法

    Numpy判斷數組是否全0的三種方法

    本文介紹了三種判斷NumPy數組是否全為零的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-12-12
  • 詳解python變量的命名和使用

    詳解python變量的命名和使用

    變量名只能包含字母、數字和下劃線,本文主要介紹了詳解python變量的命名和使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-12-12
  • Django中外鍵ForeignKey介紹使用

    Django中外鍵ForeignKey介紹使用

    本文主要介紹了Django中外鍵ForeignKey介紹使用,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • python實現的防DDoS腳本

    python實現的防DDoS腳本

    實現原理是,查詢netstat的連接數,同IP超過一定連接的用iptables封禁一定時間,自動封禁,自動解封。
    2011-02-02
  • 如何解決MNIST數據集下載速度較慢并失敗的問題

    如何解決MNIST數據集下載速度較慢并失敗的問題

    這篇文章主要介紹了如何解決MNIST數據集下載速度較慢并失敗的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • 探索Python數據可視化庫中Plotly Express的使用方法

    探索Python數據可視化庫中Plotly Express的使用方法

    在數據分析和可視化領域,數據的有效呈現是至關重要的,python作為一種強大的編程語言,提供了多種數據可視化工具和庫,本文將介紹Plotly Express的基本概念和使用方法,幫助讀者快速入門并掌握數據可視化的技巧
    2023-06-06
  • 三個Python常用的數據清洗處理方式總結

    三個Python常用的數據清洗處理方式總結

    這篇文章主要為大家詳細介紹了python數據處理過程中三個主要的數據清洗說明,分別是缺失值/空格/重復值的數據清洗,感興趣的小伙伴可以了解一下
    2022-12-12

最新評論