眾所周知,學習深度學習和人工智能技術(shù)的科技工作者對Tensorflow的安裝一直是件麻煩的事情,其實也沒那么難,只是在于操作的方法是否合理和規(guī)范而已。合理正確的安裝命令和正確的操作環(huán)節(jié)是成功的關(guān)鍵因素。為此,我們在本文中將詳細說明linux和windows兩種OS系統(tǒng)關(guān)于TensorFlow的安裝教程,并且將重點說明目前最新版本TensorFlow2.1.0的安裝要素和測試檢驗。
(注意:本文的linux系統(tǒng)教程適用于deepin和ubuntu 18.04兩種,其他系統(tǒng)安裝類似)
TensorFlow簡介
https://baike.baidu.com/item/Tensorflow/18828108
https://www.tensorflow.org/
一、在Windows10系統(tǒng)開展如下操作
安裝前提:
已經(jīng)安裝好Anaconda3, 由于國外的鏡像文件下載較慢,所以我選擇了國內(nèi)的鏡像——https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/
以上請自行安裝....
1、前期準備:Anaconda3的終端上的過渡
打開已經(jīng)安裝好的Anaconda3
運行 Anaconda Prompt,輸入如下命令檢驗是否安裝成功
conda list
輸出:
再次輸入清華鏡像檢驗一下
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
這里是因為我已經(jīng)安裝過了,所以結(jié)果是這樣的。
2、開始安裝TensorFlow
(1)運行 Anaconda Prompt,輸入以下命令,創(chuàng)建版本為python 3.7.4的tensorflow 環(huán)境:
conda create -n tensorflow python=3.7.4
這里的TensorFlow我以前已經(jīng)安裝過了,所以下面再給大家安裝另一個tensorflow2環(huán)境:輸入命令
conda create -n tensorflow2 python=3.7.4
輸出:
(base) C:\Users\kangs>conda create -n tensorflow2 python=3.7.4
Solving environment: done
==> WARNING: A newer version of conda exists. <==
current version: 4.5.11
latest version: 4.8.1
Please update conda by running
$ conda update -n base -c defaults conda
## Package Plan ##
environment location: D:\Anaconda3\envs\tensorflow2
added / updated specs:
- python=3.7.4
The following packages will be downloaded:
package | build
---------------------------|-----------------
setuptools-44.0.0 | py37_0 671 KB defaults
pip-19.3.1 | py37_0 1.9 MB defaults
ca-certificates-2019.11.27 | 0 163 KB defaults
certifi-2019.11.28 | py37_0 157 KB defaults
python-3.7.4 | h5263a28_0 18.2 MB defaults
sqlite-3.30.1 | he774522_0 962 KB defaults
vs2015_runtime-14.16.27012 | hf0eaf9b_1 2.4 MB defaults
openssl-1.1.1d | he774522_3 5.7 MB defaults
wheel-0.33.6 | py37_0 58 KB defaults
------------------------------------------------------------
Total: 30.1 MB
The following NEW packages will be INSTALLED:
ca-certificates: 2019.11.27-0 defaults
certifi: 2019.11.28-py37_0 defaults
openssl: 1.1.1d-he774522_3 defaults
pip: 19.3.1-py37_0 defaults
python: 3.7.4-h5263a28_0 defaults
setuptools: 44.0.0-py37_0 defaults
sqlite: 3.30.1-he774522_0 defaults
vc: 14.1-h0510ff6_4 defaults
vs2015_runtime: 14.16.27012-hf0eaf9b_1 defaults
wheel: 0.33.6-py37_0 defaults
wincertstore: 0.2-py37_0 defaults
Proceed ([y]/n)? y
Downloading and Extracting Packages
setuptools-44.0.0 | 671 KB | ################################################################################################################################################# | 100%
pip-19.3.1 | 1.9 MB | ################################################################################################################################################# | 100%
ca-certificates-2019 | 163 KB | ################################################################################################################################################# | 100%
certifi-2019.11.28 | 157 KB | ################################################################################################################################################# | 100%
python-3.7.4 | 18.2 MB | ################################################################################################################################################# | 100%
sqlite-3.30.1 | 962 KB | ################################################################################################################################################# | 100%
vs2015_runtime-14.16 | 2.4 MB | ################################################################################################################################################# | 100%
openssl-1.1.1d | 5.7 MB | ################################################################################################################################################# | 100%
wheel-0.33.6 | 58 KB | ################################################################################################################################################# | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate tensorflow2
#
# To deactivate an active environment, use
#
# $ conda deactivate
然后打開Anaconda Navigator,進入點擊中間的選項applications on可以看到我們剛剛創(chuàng)建的TensorFlow2,這里的TensorFlow是我以前安裝的環(huán)境:
打開上述左側(cè)菜單欄,也就是開始菜單下的Anaconda Navigator 左邊的 Environments,點擊之后可看到此環(huán)境:
(2)啟動tensorflow2環(huán)境
這里有兩種啟動方式:第一種是連續(xù)剛剛的 Anaconda Prompt終端輸入
activate tensorflow2
輸出
第二種打開方式,啟動剛剛的Anaconda Navigator,進入環(huán)境點擊
(3)安裝cpu版本的tensorflow
有兩種方法可以安裝:
方法一:cpu版本(我推薦的)
pip install --ignore-installed --upgrade tensorflow
方法二:gpu版本, 注意: gpu版要事先選好, 并裝好CUDA和cuDNN
pip install --ignore-installed --upgrade tensorflow-gpu
執(zhí)行結(jié)果:
(tensorflow2) C:\Users\kangs>pip install --ignore-installed --upgrade tensorflow
Collecting tensorflow
Using cached https://files.pythonhosted.org/packages/34/d5/ce8c17971067c0184c9045112b755be5461d5ce5253ef65a367e1298d7c5/tensorflow-2.1.0-cp37-cp37m-win_amd64.whl
Collecting protobuf>=3.8.0
Using cached https://files.pythonhosted.org/packages/30/c6/286db43e2d0d4b89d328a222365c7a253a99a24067812253f0d4f8eb0f1c/protobuf-3.11.2-cp37-cp37m-win_amd64.whl
Collecting six>=1.12.0
Using cached https://files.pythonhosted.org/packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl
Collecting keras-applications>=1.0.8
Using cached https://files.pythonhosted.org/packages/71/e3/19762fdfc62877ae9102edf6342d71b28fbfd9dea3d2f96a882ce099b03f/Keras_Applications-1.0.8-py3-none-any.whl
Processing c:\users\kangs\appdata\local\pip\cache\wheels\d7\de\2e\efa132238792efb6459a96e85916ef8597fcb3d2ae51590dfd\wrapt-1.11.2-cp37-none-any.whl
Collecting numpy<2.0,>=1.16.0
Using cached https://files.pythonhosted.org/packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl
Collecting wheel>=0.26; python_version >= '3'
Using cached https://files.pythonhosted.org/packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl
Collecting astor>=0.6.0
....(由于太長,因此這里省略了)
這樣就安裝成功了,當不使用TensorFlow時,可以通過deactivate來關(guān)閉TensorFlow環(huán)境:
(不過先不要著急關(guān)閉,我們下面還有進行檢驗,如果最后不用,再關(guān)掉)
(4)測試tensorflow
python --version
python
創(chuàng)建一個項目:
import tensorflow as tf
tf.compat.v1.disable_eager_execution()
hello = tf.constant('hello,tensorflow') #初始化一個TensorFlow的常量
sess= tf.compat.v1.Session() #啟動一個會話
print(sess.run(hello))
執(zhí)行結(jié)果顯然是可行的,測試成功:
錯誤提示如下圖:
“無法定位程序輸入點OPENSSL_sk_new_reserve于動態(tài)鏈接庫...... libssl-1_1-x64.dll上的問題”‘’
第一步 打開D:\Anaconda\Library\bin文件夾下面的 libssl-1_1-x64.dll
第二步 D:\Anaconda\DLLs 文件夾下面的 libssl-1_1-x64.dll
如果兩個文件夾時間不一樣的話,把兩個文件換成一樣的就可以了。
注意:為了避免系統(tǒng)出錯,要事先備份好一樣的文件,以避免修改后出錯而找不會原來的文件。最簡單的方法就是復制換成另一個名稱的,例如我加了一個“源文件”。
互換如下圖:
下面再次點擊安裝插件就可以了
安裝成功,如圖下所示
二、在Linux系統(tǒng)開展如下操作
這里使用的虛擬機VMware Workstation Pro 15.0安裝的linux系統(tǒng)進行操作的,如圖:
下面打開deepin系統(tǒng)開始進行安裝
1、先安裝Anaconda3
(1)、下載:https://www.anaconda.com/distribution/#linux
將下載好的anacoda3放在主目錄下(home)
(2)、安裝命令:
bash Anaconda3-2019.10-Linux-x86_64.sh
回車運行如下
按回車鍵繼續(xù),會讀取許可,出現(xiàn)個More,一直按回車以及yes,然后會出現(xiàn)下圖:
一直往下回車和yes
安裝成功
(3)、配置環(huán)境變量
為了方便編輯環(huán)境變量,這里安裝一個編輯器gedit,命令
sudo apt-get install gedit
打開環(huán)境變量,并使用命令:sudo gedit ~/.bashrc查看系統(tǒng)環(huán)境,文件末尾輸入以下代碼:
在文件的末尾加上下述代碼:
#Anaconda
export PATH=$PATH:/home/anaconda3/bin
如下圖
(5)、更新bashrc,并查看Anacoda3的安裝情況
source ~/.bashrc
conda
查詢當前已經(jīng)安裝的conda庫
conda list
安裝庫(這里的***代表庫名稱), 如果沒有你的庫文件,可以選擇這個命令:
conda install ***
更新庫
conda update ***
(5)、(如果你不用還可以卸載),不卸載就跳過此處,建議不要卸載
卸載conda: 直接刪除anaconda文件夾即可:
rm -rf anaconda3
(6)、進入和退出 conda base 環(huán)境
進入 conda base 環(huán)境
conda activate base
退出 conda base 環(huán)境
conda deactivate
編輯 conda 環(huán)境變量
vim ~/.bashrc 或者 sudo gedit ~/.bashrc
2、使用以上Anaconda3安裝Tensorflow
(1)、在linux終端或cmd中輸入以下命令搜索當前可用的tensorflow版本,如果沒有就要創(chuàng)建:
conda search -t conda tensorflow
conda create -n tf
安裝完成之后,最后還提示激活與退出
# To activate this environment, use
#
$ conda activate tf
#
#To deactivate an active environment, use
#
$ conda deactivate
(2)、正式安裝tensorflow
激活虛擬環(huán)境后conda activate tf,我們開始用conda安裝tensorflow吧!
如果你還不知道GPU是什么東東,那你的計算機里肯定沒有安裝cuda、cudnn 、顯卡之類的東西,那就安裝CPU版本;
安裝CPU版本的tensorflow(推薦安裝):
conda install tensorflow
安裝GPU版本
(如果你不理解建議不要安裝,初學者還是卸載CPU版本的tensorflow吧!)
conda install tensorflow-gpu
等待幾分鐘之后,看看自己是否安裝成功:
(3)、測試安裝是否成功:在python3.7.6下導入tensorflow:
(不報錯的話說明成功安裝了)
import tensorflow as tf
至此我們完整地安裝完畢,以下是一些附件資料
附件資料
#conda版本查看
conda -V
conda --version
#更新
conda update conda #更新conda
conda update anaconda #更新anaconda
conda update anaconda-navigator #update最新版本的anaconda-navigator
# 查看已安裝的虛擬環(huán)境
conda env list
conda info -e
conda info --env
# conda -create -n env_name list_of_packages
# env_name是需要創(chuàng)建的環(huán)境名稱,list_of_packages是在新環(huán)境中需要安裝的工具包,有多個時用空格隔開
# 創(chuàng)建一個名為的環(huán)境,指定Python版本是3.5(conda會自動尋找3.5.x中的最新版本)
conda create -n xxxx python=3.5
conda create --name xxxx python=3.5
conda activate xxxx #開啟xxxx環(huán)境
conda deactivate #關(guān)閉環(huán)境
# 克隆環(huán)境,我想創(chuàng)建一個新環(huán)境BBB,完全克隆AAA的環(huán)境配置
conda create -n BBB --clone AAA
# 刪除一個已有的環(huán)境
conda remove -n xxxx --all
# 環(huán)境重命名
# conda沒有重命名的命令,所以可以先 clone 一個環(huán)境,然后刪除原有的環(huán)境
# 查看當前環(huán)境下已安裝的包
conda list
# 查看某個指定環(huán)境(xxxxx)下已安裝的包
conda list -n xxxxx
# 查找package信息,例如查找numpy包信息,會列numpy的所有版本
conda search numpy
# 安裝package,安裝多個包用空格隔開
# 如果不用-n指定環(huán)境名稱,則被安裝在當前活躍環(huán)境
# 也可以通過-c指定通過某個channel安裝
conda install -n xxxxx numpy pandas
# 更新package
conda update numpy # 更新numpy(當前活躍的環(huán)境)
conda update -n xxxxx numpy # 更新指定xxxxx環(huán)境下的numpy
conda update python # 假設(shè)當前環(huán)境是python3.4, conda會將python升級為3.4.x系列的最新版本
# 刪除環(huán)境package
conda uninstall numpy
conda remove numpy # 刪除numpy包(當前活躍的環(huán)境)
conda remove -n xxxxx numpy # 刪除xxxxx環(huán)境下的包
https://blog.csdn.net/qq654129588/article/details/79917515
https://ask.csdn.net/questions/657580
https://www.cnblogs.com/HongjianChen/p/8385547.html
https://blog.csdn.net/qq_45100771/article/details/102868264
https://blog.csdn.net/superjunenaruto/article/details/9539068
-------------------End-------------------