Ubuntu20.04環境安裝tensorflow2的方法步驟

一、TensorFlow介紹

1、簡介

  TensorFlow是一個基於數據流編程(dataflow programming)的符號數學系統,被廣泛應用於各類機器學習(machine learning)算法的編程實現,其前身是谷歌的神經網絡算法庫DistBelief 。Tensorflow擁有多層級結構,可部署於各類服務器、PC終端和網頁並支持GPU和TPU高性能數值計算,被廣泛應用於谷歌內部的產品開發和各領域的科學研究 。TensorFlow由谷歌人工智能團隊谷歌大腦(Google Brain)開發和維護,擁有包括TensorFlow Hub、TensorFlow Lite、TensorFlow Research Cloud在內的多個項目以及各類應用程序接口(Application Programming Interface, API)。自2015年11月9日起,TensorFlow依據阿帕奇授權協議(Apache 2.0 open source license)開放源代碼 。

2、TensorFlow 支持的系統

  以下 64 位系統上測試過 TensorFlow 並且這些系統支持 TensorFlow:

  • Python 3.5–3.8
  • Ubuntu 16.04 或更高版本
  • Windows 7 或更高版本(含 C++ 可再發行軟件包)
  • macOS 10.12.6 (Sierra) 或更高版本(不支持 GPU)
  • Raspbian 9.0 或更高版本

二、安裝步驟

1、檢查確認python版本

root@ubuntuvm:~# python3 -V
Python 3.8.5

2、安裝venv模塊

root@ubuntuvm:/home# apt install python3-venv python3-dev
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following additional packages will be installed:
libc-dev-bin libc6 libc6-dbg libc6-dev libcrypt-dev libexpat1-dev libpython3-dev libpython3.8-dev linux-libc-dev manpages-dev python-pip-whl
python3-distutils python3.8-dev python3.8-venv zlib1g zlib1g-dev
Suggested packages:
glibc-doc
The following NEW packages will be installed:
libc-dev-bin libc6-dev libcrypt-dev libexpat1-dev libpython3-dev libpython3.8-dev linux-libc-dev manpages-dev python-pip-whl python3-dev
python3-distutils python3-venv python3.8-dev python3.8-venv zlib1g-dev
The following packages will be upgraded:
libc6 libc6-dbg zlib1g
3 upgraded, 15 newly installed, 0 to remove and 233 not upgraded.
Need to get 21.2 MB of archives.
After this operation, 56.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] y

3、創建項目目錄

bdsc@ubuntuvm:~$ mkdir mytensorflow
bdsc@ubuntuvm:~$ cd mytensorflow/

4、創建虛擬環境

bdsc@ubuntuvm:~/mytensorflow$ python3 -m venv tenf

5、激活虛擬環境

bdsc@ubuntuvm:~/mytensorflow$ source tenf/bin/activate
(tenf) bdsc@ubuntuvm:~/mytensorflow$

6、升級pip

(tenf) bdsc@ubuntuvm:~/mytensorflow$ pip3 -V
pip 20.0.2 from /home/bdsc/mytensorflow/tenf/lib/python3.8/site-packages/pip (python 3.8)
(tenf) bdsc@ubuntuvm:~/mytensorflow$ pip install --upgrade pip
Collecting pip
Downloading pip-21.0-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 1.0 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.0.2
Uninstalling pip-20.0.2:
Successfully uninstalled pip-20.0.2
Successfully installed pip-21.0
(tenf) bdsc@ubuntuvm:~/mytensorflow$ pip3 -V
pip 21.0 from /home/bdsc/mytensorflow/tenf/lib/python3.8/site-packages/pip (python 3.8)

7、安裝tensorflow

(tenf) bdsc@ubuntuvm:~/mytensorflow$ pip3 install tensorflow
Collecting tensorflow
Downloading tensorflow-2.4.1-cp38-cp38-manylinux2010_x86_64.whl (394.4 MB)
|████████████████████████████████| 394.4 MB 4.9 kB/s

Collecting tensorflow-estimator<2.5.0,>=2.4.0
Downloading tensorflow_estimator-2.4.0-py2.py3-none-any.whl (462 kB)
|████████████████████████████████| 462 kB 24 kB/s
Collecting astunparse~=1.6.3
Downloading astunparse-1.6.3-py2.py3-none-any.whl (12 kB)
Collecting protobuf>=3.9.2
Downloading protobuf-3.14.0-cp38-cp38-manylinux1_x86_64.whl (1.0 MB)
|████████████████████████████████| 1.0 MB 35 kB/s
Collecting gast==0.3.3
Downloading gast-0.3.3-py2.py3-none-any.whl (9.7 kB)
Collecting flatbuffers~=1.12.0
Downloading flatbuffers-1.12-py2.py3-none-any.whl (15 kB)
Collecting absl-py~=0.10
Downloading absl_py-0.11.0-py3-none-any.whl (127 kB)
|████████████████████████████████| 127 kB 52 kB/s
Collecting wheel~=0.35
Downloading wheel-0.36.2-py2.py3-none-any.whl (35 kB)
Collecting termcolor~=1.1.0
Downloading termcolor-1.1.0.tar.gz (3.9 kB)
Collecting wrapt~=1.12.1
Downloading wrapt-1.12.1.tar.gz (27 kB)
Collecting grpcio~=1.32.0
Downloading grpcio-1.32.0-cp38-cp38-manylinux2014_x86_64.whl (3.8 MB)
|████████████████████████████████| 3.8 MB 35 kB/s
Collecting six~=1.15.0
Downloading six-1.15.0-py2.py3-none-any.whl (10 kB)
Collecting typing-extensions~=3.7.4
Downloading typing_extensions-3.7.4.3-py3-none-any.whl (22 kB)
Collecting tensorboard~=2.4
Downloading tensorboard-2.4.1-py3-none-any.whl (10.6 MB)
|████████████████████████████████| 10.6 MB 46 kB/s
Collecting keras-preprocessing~=1.1.2
Downloading Keras_Preprocessing-1.1.2-py2.py3-none-any.whl (42 kB)
|████████████████████████████████| 42 kB 43 kB/s
Collecting h5py~=2.10.0
Downloading h5py-2.10.0-cp38-cp38-manylinux1_x86_64.whl (2.9 MB)
|████████████████████████████████| 2.9 MB 46 kB/s
Collecting opt-einsum~=3.3.0
Downloading opt_einsum-3.3.0-py3-none-any.whl (65 kB)
|████████████████████████████████| 65 kB 45 kB/s
Collecting google-pasta~=0.2
Downloading google_pasta-0.2.0-py3-none-any.whl (57 kB)
|████████████████████████████████| 57 kB 26 kB/s
Collecting numpy~=1.19.2
Downloading numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl (14.9 MB)
|████████████████████████████████| 14.9 MB 65 kB/s
Collecting markdown>=2.6.8
Downloading Markdown-3.3.3-py3-none-any.whl (96 kB)
|████████████████████████████████| 96 kB 66 kB/s
Collecting google-auth-oauthlib<0.5,>=0.4.1
Downloading google_auth_oauthlib-0.4.2-py2.py3-none-any.whl (18 kB)
Collecting werkzeug>=0.11.15
Downloading Werkzeug-1.0.1-py2.py3-none-any.whl (298 kB)
|████████████████████████████████| 298 kB 44 kB/s
Requirement already satisfied: setuptools>=41.0.0 in ./tenf/lib/python3.8/site-packages (from tensorboard~=2.4->tensorflow) (44.0.0)
Collecting tensorboard-plugin-wit>=1.6.0
Downloading tensorboard_plugin_wit-1.8.0-py3-none-any.whl (781 kB)
|████████████████████████████████| 781 kB 43 kB/s
Collecting requests<3,>=2.21.0
Downloading requests-2.25.1-py2.py3-none-any.whl (61 kB)
|████████████████████████████████| 61 kB 57 kB/s
Collecting google-auth<2,>=1.6.3
Downloading google_auth-1.24.0-py2.py3-none-any.whl (114 kB)
|████████████████████████████████| 114 kB 37 kB/s
Collecting rsa<5,>=3.1.4
Downloading rsa-4.7-py3-none-any.whl (34 kB)
Collecting pyasn1-modules>=0.2.1
Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
|████████████████████████████████| 155 kB 34 kB/s
Collecting cachetools<5.0,>=2.0.0
Downloading cachetools-4.2.1-py3-none-any.whl (12 kB)
Collecting requests-oauthlib>=0.7.0
Downloading requests_oauthlib-1.3.0-py2.py3-none-any.whl (23 kB)
Collecting pyasn1<0.5.0,>=0.4.6
Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
|████████████████████████████████| 77 kB 42 kB/s
Collecting chardet<5,>=3.0.2
Downloading chardet-4.0.0-py2.py3-none-any.whl (178 kB)
|████████████████████████████████| 178 kB 47 kB/s
Collecting idna<3,>=2.5
Downloading idna-2.10-py2.py3-none-any.whl (58 kB)
|████████████████████████████████| 58 kB 31 kB/s
Collecting urllib3<1.27,>=1.21.1
Downloading urllib3-1.26.2-py2.py3-none-any.whl (136 kB)
|████████████████████████████████| 136 kB 33 kB/s
Collecting certifi>=2017.4.17
Downloading certifi-2020.12.5-py2.py3-none-any.whl (147 kB)
|████████████████████████████████| 147 kB 26 kB/s
Collecting oauthlib>=3.0.0
Downloading oauthlib-3.1.0-py2.py3-none-any.whl (147 kB)
|████████████████████████████████| 147 kB 36 kB/s
Using legacy ‘setup.py install' for termcolor, since package ‘wheel' is not installed.
Using legacy ‘setup.py install' for wrapt, since package ‘wheel' is not installed.
Installing collected packages: urllib3, pyasn1, idna, chardet, certifi, six, rsa, requests, pyasn1-modules, oauthlib, cachetools, requests-oauthlib, google-auth, wheel, werkzeug, tensorboard-plugin-wit, protobuf, numpy, markdown, grpcio, google-auth-oauthlib, absl-py, wrapt, typing-extensions, termcolor, tensorflow-estimator, tensorboard, opt-einsum, keras-preprocessing, h5py, google-pasta, gast, flatbuffers, astunparse, tensorflow
Running setup.py install for wrapt … done
Running setup.py install for termcolor … done
Successfully installed absl-py-0.11.0 astunparse-1.6.3 cachetools-4.2.1 certifi-2020.12.5 chardet-4.0.0 flatbuffers-1.12 gast-0.3.3 google-auth-1.24.0 google-auth-oauthlib-0.4.2 google-pasta-0.2.0 grpcio-1.32.0 h5py-2.10.0 idna-2.10 keras-preprocessing-1.1.2 markdown-3.3.3 numpy-1.19.5 oauthlib-3.1.0 opt-einsum-3.3.0 protobuf-3.14.0 pyasn1-0.4.8 pyasn1-modules-0.2.8 requests-2.25.1 requests-oauthlib-1.3.0 rsa-4.7 six-1.15.0 tensorboard-2.4.1 tensorboard-plugin-wit-1.8.0 tensorflow-2.4.1 tensorflow-estimator-2.4.0 termcolor-1.1.0 typing-extensions-3.7.4.3 urllib3-1.26.2 werkzeug-1.0.1 wheel-0.36.2 wrapt-1.12.1

8、驗證tensoflow2是否安裝成功

1、查看安裝模塊及版本

(tenf) bdsc@ubuntuvm:~/mytensorflow$ pip3 show tensorflow
Name: tensorflow
Version: 2.4.1
Summary: TensorFlow is an open source machine learning framework for everyone.
Home-page: https://www.tensorflow.org/
Author: Google Inc.
Author-email: [email protected]
License: Apache 2.0
Location: /home/bdsc/mytensorflow/tenf/lib/python3.8/site-packages
Requires: typing-extensions, google-pasta, protobuf, wrapt, gast, tensorboard, opt-einsum, flatbuffers, numpy, wheel, astunparse, keras-preprocessing, six, termcolor, tensorflow-estimator, grpcio, absl-py, h5py
Required-by:

2、查看import tensorflow是否報錯

在這裡插入圖片描述

3、使用TensorFlow打印hello,Tensorflow

(tenf) bdsc@ubuntuvm:~/mytensorflow$ python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import os
>>> os.environ[‘TF_CPP_MIN_LOG_LEVEL'] = ‘2'
>>> import tensorflow as tf
>>> tf.compat.v1.disable_eager_execution()
>>> hello = tf.constant(‘Hello, Tensorflow!')
>>> sess = tf.compat.v1.Session()
>>> print(sess.run(hello))
b'Hello, Tensorflow!'

三、FAQ

1、import tensorflow時報錯無法加載動態庫libcudart.so.11.0

在這裡插入圖片描述

解決方法:
在import tensorflow as tf語句前加上如下語句

import os
os.environ[‘TF_CPP_MIN_LOG_LEVEL'] = ‘2'
import tensorflow as tf

在這裡插入圖片描述

2、報錯session屬性找不到

在這裡插入圖片描述

原因:
報錯AttributeError: module ‘tensorflow’ has no attribute ‘Session’。這其實不是安裝錯誤,是因為在新的Tensorflow 2.0版本中已經移除瞭Session這一模塊。
解決方法:
改換運行代碼,tf.compat.v1.Session()

到此這篇關於Ubuntu20.04環境安裝tensorflow2的實現的文章就介紹到這瞭,更多相關Ubuntu20.04安裝tensorflow2內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: