眾所周知,學(xué)習(xí)深度學(xué)習(xí)和人工智能技術(shù)的科技工作者對(duì)Tensorflow的安裝一直是件麻煩的事情,其實(shí)也沒(méi)那么難,只是在于操作的方法是否合理和規(guī)范而已。合理正確的安裝命令和正確的操作環(huán)節(jié)是成功的關(guān)鍵因素。為此,我們?cè)诒疚闹袑⒃敿?xì)說(shuō)明linux和windows兩種OS系統(tǒng)關(guān)于TensorFlow的安裝教程,并且將重點(diǎn)說(shuō)明目前最新版本TensorFlow2.1.0的安裝要素和測(cè)試檢驗(yàn)。 (注意:本文的linux系統(tǒng)教程適用于deepin和ubuntu 18.04兩種,其他系統(tǒng)安裝類(lèi)似) TensorFlow簡(jiǎn)介 https://baike.baidu.com/item/Tensorflow/18828108 https://www.tensorflow.org/
一、在Windows10系統(tǒng)開(kāi)展如下操作 安裝前提: 已經(jīng)安裝好Anaconda3, 由于國(guó)外的鏡像文件下載較慢,所以我選擇了國(guó)內(nèi)的鏡像——https://mirrors.tuna./anaconda/archive/ 
以上請(qǐng)自行安裝....
1、前期準(zhǔn)備:Anaconda3的終端上的過(guò)渡 打開(kāi)已經(jīng)安裝好的Anaconda3 
運(yùn)行 Anaconda Prompt,輸入如下命令檢驗(yàn)是否安裝成功 輸出: 
再次輸入清華鏡像檢驗(yàn)一下
conda config --add channels https://mirrors.tuna./anaconda/pkgs/free/ conda config --set show_channel_urls yes
這里是因?yàn)槲乙呀?jīng)安裝過(guò)了,所以結(jié)果是這樣的。

2、開(kāi)始安裝TensorFlow (1)運(yùn)行 Anaconda Prompt,輸入以下命令,創(chuàng)建版本為python 3.7.4的tensorflow 環(huán)境: conda create -n tensorflow python=3.7.4
這里的TensorFlow我以前已經(jīng)安裝過(guò)了,所以下面再給大家安裝另一個(gè)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
然后打開(kāi)Anaconda Navigator,進(jìn)入點(diǎn)擊中間的選項(xiàng)applications on可以看到我們剛剛創(chuàng)建的TensorFlow2,這里的TensorFlow是我以前安裝的環(huán)境: 
打開(kāi)上述左側(cè)菜單欄,也就是開(kāi)始菜單下的Anaconda Navigator 左邊的 Environments,點(diǎn)擊之后可看到此環(huán)境: 
(2)啟動(dòng)tensorflow2環(huán)境 這里有兩種啟動(dòng)方式:第一種是連續(xù)剛剛的 Anaconda Prompt終端輸入 輸出

第二種打開(kāi)方式,啟動(dòng)剛剛的Anaconda Navigator,進(jìn)入環(huán)境點(diǎ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./packages/34/d5/ce8c17971067c0184c9045112b755be5461d5ce5253ef65a367e1298d7c5/tensorflow-2.1.0-cp37-cp37m-win_amd64.whl Collecting protobuf>=3.8.0 Using cached https://files./packages/30/c6/286db43e2d0d4b89d328a222365c7a253a99a24067812253f0d4f8eb0f1c/protobuf-3.11.2-cp37-cp37m-win_amd64.whl Collecting six>=1.12.0 Using cached https://files./packages/65/26/32b8464df2a97e6dd1b656ed26b2c194606c16fe163c695a992b36c11cdf/six-1.13.0-py2.py3-none-any.whl Collecting keras-applications>=1.0.8 Using cached https://files./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./packages/a9/38/f6d6d8635d496d6b4ed5d8ca4b9f193d0edc59999c3a63779cbc38aa650f/numpy-1.18.1-cp37-cp37m-win_amd64.whl Collecting wheel>=0.26; python_version >= '3' Using cached https://files./packages/00/83/b4a77d044e78ad1a45610eb88f745be2fd2c6d658f9798a15e384b7d57c9/wheel-0.33.6-py2.py3-none-any.whl Collecting astor>=0.6.0 ....(由于太長(zhǎng),因此這里省略了)
這樣就安裝成功了,當(dāng)不使用TensorFlow時(shí),可以通過(guò)deactivate來(lái)關(guān)閉TensorFlow環(huán)境: (不過(guò)先不要著急關(guān)閉,我們下面還有進(jìn)行檢驗(yàn),如果最后不用,再關(guān)掉) 
(4)測(cè)試tensorflow 創(chuàng)建一個(gè)項(xiàng)目:
import tensorflow as tf tf.compat.v1.disable_eager_execution() hello = tf.constant('hello,tensorflow') #初始化一個(gè)TensorFlow的常量 sess= tf.compat.v1.Session() #啟動(dòng)一個(gè)會(huì)話 print(sess.run(hello))
執(zhí)行結(jié)果顯然是可行的,測(cè)試成功:
提示:如果遇到No module named ‘tensorflow’,那是因?yàn)闆](méi)有在tensorflow的環(huán)境下打開(kāi)它們,所以記得激活tensorflow的環(huán)境。 (5)解決你安裝的Tensorflow環(huán)境不能安裝ipython,spyder等插件錯(cuò)誤提示如下圖:
“無(wú)法定位程序輸入點(diǎn)OPENSSL_sk_new_reserve于動(dòng)態(tài)鏈接庫(kù)...... libssl-1_1-x64.dll上的問(wèn)題”‘’  解放方法:互換 libssl-1_1-x64.dll文件,時(shí)間必須一樣
第一步 打開(kāi)D:\Anaconda\Library\bin文件夾下面的 libssl-1_1-x64.dll 第二步 D:\Anaconda\DLLs 文件夾下面的 libssl-1_1-x64.dll 如果兩個(gè)文件夾時(shí)間不一樣的話,把兩個(gè)文件換成一樣的就可以了。 注意:為了避免系統(tǒng)出錯(cuò),要事先備份好一樣的文件,以避免修改后出錯(cuò)而找不會(huì)原來(lái)的文件。最簡(jiǎn)單的方法就是復(fù)制換成另一個(gè)名稱的,例如我加了一個(gè)“源文件”。
互換如下圖:
換文件之后,時(shí)間都是2018/6/28 21:00

下面再次點(diǎn)擊安裝插件就可以了 
安裝成功,如圖下所示

二、在Linux系統(tǒng)開(kāi)展如下操作 這里使用的虛擬機(jī)VMware Workstation Pro 15.0安裝的linux系統(tǒng)進(jìn)行操作的,如圖: 
下面打開(kāi)deepin系統(tǒng)開(kāi)始進(jìn)行安裝 1、先安裝Anaconda3 (1)、下載:https://www./distribution/#linux 
將下載好的anacoda3放在主目錄下(home)

(2)、安裝命令: bash Anaconda3-2019.10-Linux-x86_64.sh
回車(chē)運(yùn)行如下

按回車(chē)鍵繼續(xù),會(huì)讀取許可,出現(xiàn)個(gè)More,一直按回車(chē)以及yes,然后會(huì)出現(xiàn)下圖: 
一直往下回車(chē)和yes 
安裝成功

(3)、配置環(huán)境變量
為了方便編輯環(huán)境變量,這里安裝一個(gè)編輯器gedit,命令 sudo apt-get install gedit

打開(kāi)環(huán)境變量,并使用命令:sudo gedit ~/.bashrc查看系統(tǒng)環(huán)境,文件末尾輸入以下代碼:
在文件的末尾加上下述代碼:
#Anaconda export PATH=$PATH:/home/anaconda3/bin
如下圖

(5)、更新bashrc,并查看Anacoda3的安裝情況 
查詢當(dāng)前已經(jīng)安裝的conda庫(kù) 安裝庫(kù)(這里的***代表庫(kù)名稱), 如果沒(méi)有你的庫(kù)文件,可以選擇這個(gè)命令: 更新庫(kù) 
(5)、(如果你不用還可以卸載),不卸載就跳過(guò)此處,建議不要卸載 卸載conda: 直接刪除anaconda文件夾即可: (6)、進(jìn)入和退出 conda base 環(huán)境 進(jìn)入 conda base 環(huán)境 退出 conda base 環(huán)境 編輯 conda 環(huán)境變量 vim ~/.bashrc 或者 sudo gedit ~/.bashrc
2、使用以上Anaconda3安裝Tensorflow (1)、在linux終端或cmd中輸入以下命令搜索當(dāng)前可用的tensorflow版本,如果沒(méi)有就要?jiǎng)?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,我們開(kāi)始用conda安裝tensorflow吧! 如果你還不知道GPU是什么東東,那你的計(jì)算機(jī)里肯定沒(méi)有安裝cuda、cudnn 、顯卡之類(lèi)的東西,那就安裝CPU版本; 安裝CPU版本的tensorflow(推薦安裝): 安裝GPU版本 (如果你不理解建議不要安裝,初學(xué)者還是卸載CPU版本的tensorflow吧!) conda install tensorflow-gpu
等待幾分鐘之后,看看自己是否安裝成功:


(3)、測(cè)試安裝是否成功:在python3.7.6下導(dǎo)入tensorflow: (不報(bào)錯(cuò)的話說(shuō)明成功安裝了) 
至此我們完整地安裝完畢,以下是一些附件資料
附件資料
Conda的環(huán)境管理及知識(shí)點(diǎn)#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是需要?jiǎng)?chuàng)建的環(huán)境名稱,list_of_packages是在新環(huán)境中需要安裝的工具包,有多個(gè)時(shí)用空格隔開(kāi) # 創(chuàng)建一個(gè)名為的環(huán)境,指定Python版本是3.5(conda會(huì)自動(dòng)尋找3.5.x中的最新版本)
conda create -n xxxx python=3.5 conda create --name xxxx python=3.5
conda activate xxxx #開(kāi)啟xxxx環(huán)境 conda deactivate #關(guān)閉環(huán)境
# 克隆環(huán)境,我想創(chuàng)建一個(gè)新環(huán)境BBB,完全克隆AAA的環(huán)境配置 conda create -n BBB --clone AAA
# 刪除一個(gè)已有的環(huán)境 conda remove -n xxxx --all
# 環(huán)境重命名 # conda沒(méi)有重命名的命令,所以可以先 clone 一個(gè)環(huán)境,然后刪除原有的環(huán)境
Conda的包管理知識(shí)點(diǎn)# 查看當(dāng)前環(huán)境下已安裝的包 conda list
# 查看某個(gè)指定環(huán)境(xxxxx)下已安裝的包 conda list -n xxxxx
# 查找package信息,例如查找numpy包信息,會(huì)列numpy的所有版本 conda search numpy
# 安裝package,安裝多個(gè)包用空格隔開(kāi) # 如果不用-n指定環(huán)境名稱,則被安裝在當(dāng)前活躍環(huán)境 # 也可以通過(guò)-c指定通過(guò)某個(gè)channel安裝 conda install -n xxxxx numpy pandas
# 更新package conda update numpy # 更新numpy(當(dāng)前活躍的環(huán)境) conda update -n xxxxx numpy # 更新指定xxxxx環(huán)境下的numpy conda update python # 假設(shè)當(dāng)前環(huán)境是python3.4, conda會(huì)將python升級(jí)為3.4.x系列的最新版本
# 刪除環(huán)境package conda uninstall numpy conda remove numpy # 刪除numpy包(當(dāng)前活躍的環(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------------------- 
|