NVIDIA Jetson Xavier NX上匯入tensorflow報錯:AttributeError: module ‘wrapt‘ has no att
攜手創作,共同成長!這是我參與「掘金日新計劃 · 8 月更文挑戰」的第2天,點選檢視活動詳情
環境說明:
NVIDIA Xavier NX 開發板
安裝tensorflow==2.3.0
1 問題說明
1、安裝顯示已經成功安裝了tensorflow
2、匯入tensorflow的時候報錯:AttributeError: module 'wrapt' has no attribute 'ObjectProxy'
```python
import tensorflow 2020-10-23 14:09:05.184865: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.2 Traceback (most recent call last): File "
", line 1, in File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/init.py", line 41, in from tensorflow.python.tools import module_util as _module_util File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/init.py", line 45, in from tensorflow.python import data File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/init.py", line 25, in from tensorflow.python.data import experimental File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/experimental/init.py", line 96, in from tensorflow.python.data.experimental import service File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/experimental/service/init.py", line 21, in from tensorflow.python.data.experimental.ops.data_service_ops import distribute File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/experimental/ops/data_service_ops.py", line 25, in from tensorflow.python.data.experimental.ops import compression_ops File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/experimental/ops/compression_ops.py", line 20, in from tensorflow.python.data.util import structure File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/util/structure.py", line 26, in from tensorflow.python.data.util import nest File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/data/util/nest.py", line 41, in from tensorflow.python.framework import sparse_tensor as _sparse_tensor File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/framework/sparse_tensor.py", line 28, in from tensorflow.python.framework import composite_tensor File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/framework/composite_tensor.py", line 27, in from tensorflow.python.util import nest File "/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/util/nest.py", line 1430, in _pywrap_utils.RegisterType("ObjectProxy", _wrapt.ObjectProxy) AttributeError: module 'wrapt' has no attribute 'ObjectProxy' ```
如果你再次匯入:import tensorflow as tf
,還有可能會出現錯誤:TypeError: Value already registered for Mapping
,反正都是一個問題,請繼續看下文吧!
2 解決錯誤
2.1 找到問題的原因
遇到問題,首先是谷歌、百度,但是結果是沒有人遇到這種問題,因此我也就不知道問題該如何解決!
這時候只能從問題的根源尋找問題原因,才能找到解決問題的方式,首先定位到問題出現的程式碼:/home/zhihui/.local/lib/python3.6/site-packages/tensorflow/python/util/nest.py
,於是就到這個檔案中去找_wrapt.ObjectProxy
,然後通過程式碼定位到wrapt是一個python的庫包
在nest.py
程式碼中有匯入:
import wrapt as _wrapt
因此我想到這可能是wrapt版本的問題導致的部分屬性已經不存在了
1、檢視Jetson Xavier NX
上安裝的wrapt的版本
,結果是:1.12.1
python
[email protected]:~$ pip3 show wrapt
Name: wrapt
Version: 1.12.1
Summary: Module for decorators, wrappers and monkey patching.
Home-page: https://github.com/GrahamDumpleton/wrapt
Author: Graham Dumpleton
Author-email: [email protected]
License: BSD
Location: /home/zhihui/.local/lib/python3.6/site-packages
Requires:
Required-by: tensorflow
[email protected]:~$
2、檢視我個人PC上安裝wrapt的版本,結果是:1.11.1
```python C:\Users\93176>pip show wrapt Name: wrapt Version: 1.11.1 Summary: Module for decorators, wrappers and monkey patching. Home-page: https://github.com/GrahamDumpleton/wrapt Author: Graham Dumpleton Author-email: [email protected] License: BSD Location: c:\programdata\anaconda3\lib\site-packages Requires: Required-by: -ensorflow-gpu, tensorflow-gpu, astroid
C:\Users\93176>python Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information.
import wrapt as _wrapt _wrapt.ObjectProxy
```
因此確定是wrapt版本的問題
2.2 最終錯誤的解決方式
1、降低wrapt的版本到1.11.1
pip3 install wrapt==1.11.1
2、再次在NVIDIA Jetson Xavier NX匯入tensorflow
python
python
[email protected]:~$ python
Python 3.6.9 (default, Jul 17 2020, 12:50:27)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
import tensorflow as tf 2020-10-23 14:43:46.641605: I tensorflow/stream_executor/platform/default/dso_loader.cc:49] Successfully opened dynamic library libcudart.so.10.2
```
而且用:tf.test.is_gpu_available()
返回的也是True
,即GPU可用!
- windows上比較好用的截圖軟體 Gif錄製軟體 看圖軟體,建議收藏!
- python使用pyinstaller把程式進行打包
- 深度學習視覺化工具visdom使用
- linux後臺執行命令screen的使用
- NVIDIA Jetson Xavier NX上匯入tensorflow報錯:AttributeError: module ‘wrapt‘ has no att
- 在NVIDIA Jetson Xavier NX上把yolov4-deepsort的模型pb模型轉換為tensorrt模型
- 在NVIDIA Jetson Xavier NX上安裝llvm和numba,以及在Jetxon NX上跑通CenterTrack的目標跟蹤模型
- TensorRT7.0版本在Linux環境安裝,以及安裝python API介面,測試TensorRT中的測試用例
- Jetson nano刷好機之後需要做的準備工作
- 本地直播平臺的搭建—四種方式
- python opencv用電腦呼叫手機攝像頭或其他網路攝像頭
- Linux中gcc的編譯、靜態庫和動態庫的製作
- Linux開機自動啟動python指令碼程式,或 Jetson nano或Jetson Xavier NX開機自動啟動python指令碼程式
- lidar鐳射雷達介紹,以及使用鐳射雷達資料通過深度學習做目標檢測
- Camelot:從pdf中提取表格資料
- python中的h5py開源庫的使用
- python3建立定時任務