利用Anaconda安裝TensorFlow全過程
相關概念
1、人工智能:作為計算機的一個分支,目的在于利用機器模仿人類智能去完成一定的任務,從上世紀五十年代開始發(fā)展,經過多次起落,直到最近又一次掀起了人工智能的熱潮。
2、機器學習:作為實現人工智能的一種方法,在上世紀八十年代出現。研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,進而重新組織已有的知識結構使之不斷改善自身的性能。與人類的學習過程類似,通過對機器模型輸入大量的相關數據進行訓練,使得機器可以自己對新的輸入做出正確反應。
3、深度學習:是機器學習的一種方法,通過建立具有階層結構的人工神經網絡,在計算系統中實現人工智能。從2010年以后開始變得火熱。
4、機器學習的分類:
- 有監(jiān)督的學習:事先需要準備好輸入和正確的輸入相配套的訓練數據,讓機器進行學習。例如,回歸問題是預測連續(xù)的輸入數據對應的輸出值。分類問題的輸出結果為離散的種類。
- 無監(jiān)督的學習:輸入數據只有特征沒有標記,讓機器自己抽取數據包含的模式與規(guī)則。對于給定的無標簽數據集,無監(jiān)督的聚類算法可以根據數據內部的聯系自動將數據分成不同的聚類。例如聚類算法可以通過大量的
- 用戶數據將用戶自動化分為不同的細分市場,在這之前我們并不知道要劃分成哪些類別。
- 半監(jiān)督的學習:輸入數據大部分沒有標記,通過對小部分有標記的數據規(guī)律總結,推廣應用到其他數據
- 強化學習:無需初始數據,而是由機器根據激勵函數通過接收環(huán)境對動作的獎勵(反饋)獲得學習信息并更新模型參數,錯誤懲罰或正確進行獎勵,以取得最大化的預期利益。
5、人工神經網絡(Artificial Neural Networks)
生物體的神經元通過樹突感受外界刺激,產生信號經過軸突的判斷與處理傳遞到下一個神經元,直到最后對外界刺激做出相應的反應。受此啟發(fā)產生了神經元模型,通過對輸入的自變量經權重參數的處理加權求和,再通過激活函數判斷,產生輸出。
神經網絡由多個神經元組成,在輸入層接受輸入數據后經過處理傳遞到下一層神經元,經過多個隱含層神經元處理后傳遞到輸出層。
激活函數:神經元在處理數據后需要判斷是否達到輸出的閾值,滿足則輸出。常見的激活函數有S型、修正線性單元激活函數
配置Anaconda環(huán)境
1、Anaconda的安裝:Anaconda是一個開源的包、環(huán)境管理器,其包含了conda、Python等180多個科學包及其依賴項,而且還包括Jupyter、Spyder等多個python開發(fā)所需工具。
由于實際中需要使用不同的python環(huán)境,可以通過anaconda創(chuàng)建與管理不同的環(huán)境來運行項目。
在anaconda官網下載Windows版本的安裝包,根據提示點擊下一步完成安裝。
2、添加清華的anaconda鏡像源,通過國內鏡像源下載更快
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
通過如下命令查看conda已經添加的鏡像源
conda config --get channels
3、創(chuàng)建與啟動名為tensorflow的python環(huán)境。
anaconda默認一個名為base的python環(huán)境。
conda create -n tensorflow python=3.7 conda activate tensorflow
4、安裝TensorFlow
查看tensorflow包信息
anaconda show anaconda/tensorflow
根據包信息最后的提示進行安裝:
conda install –channel https://conda.anaconda.org/anaconda tensorflow
5、測試
打開Jupyter Notebook,在右上角new新建一個python3文件,輸入如下代碼,按下Ctrl+Enter,運行顯示TensorFLow版本
import tensorflow as tf tf.__version__
6、修改pip源
python的包管理工具是pip,通過pip可以對包依賴進行管理與下載,可以修改pip源地址使得下載速度更快,例如使用清華的鏡像下載sklearn包:
pip install sklearn -i https://pypi.tuna.tsinghua.edu.cn/simple
也可以修改pip設置一勞永逸地設置鏡像源
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
安裝Tensor FLow的GPU版本
1、安裝tensorflow-gpu
使用TensorFlow時,通過GPU進行運算與CPU相比在速度上具有明顯的提升,因此可以安裝另一個GPU版本的TensorFLow用于比較復雜的機器學習訓練。
首先通過Anaconda創(chuàng)建并激活一個新的環(huán)境,之后命令行切換到新的環(huán)境下(tensorflow-gpu) C:\Users\Super>:
conda create -n tensorflow-gpu python=3.7 conda activate tensorflow-gpu
通過conda info --env可以看到已經創(chuàng)建的環(huán)境,其中帶*的為當前使用的環(huán)境:
通過pip包管理工具安裝tensorflow-gpu版本:
pip install --ignore-installed --upgrade tensorflow-gpu
2、安裝CUDA驅動
此時以及安裝完成tensorflow-gpu版本,但是這時import tensorflow會報錯,提示需要安裝CUDA驅動。CUDA是英偉達顯卡公司推出的通用并行計算架構,該架構使GPU能夠解決復雜的計算問題。不同的Tensor Flow版本需要不同的CUDA版本,其要求可以在Tensor FLow的官網介紹查到:https://www.tensorflow.org/install/gpu#software_requirements
我的tensorflow是1.14版本,選擇CUDA10.0,在CUDA官網:https://developer.nvidia.com/cuda-toolkit-archive選擇對應的版本下載安裝包并按照指示一步一步操作完成安裝。
接著需要安裝cuDNN,NVIDIA cuDNN是用于深度神經網絡的GPU加速庫,它強調性能、易用性和低內存開銷,cuDNN可以集成到更高級別的機器學習框架中。
在官網https://developer.nvidia.com/rdp/cudnn-archive選擇CUDA對應的版本(如左下圖),下載到本地后解壓,產生如下右圖文件夾
將每個文件夾下的內容復制到CUDA對應的安裝目錄下。
例如將其中bin下的文件對應復制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin目錄下。
安裝完成后重啟電腦。
通過如下命令查看設備情況:
from tensorflow.python.client import device_lib device_lib.list_local_devices()
輸出內容如下:
name: "/device:CPU:0" device_type: "CPU" memory_limit: 268435456 locality { } incarnation: 17000744802228690105, name: "/device:GPU:0" device_type: "GPU" memory_limit: 3146829004 locality { bus_id: 1 links { } } incarnation: 13189553194108047445 physical_device_desc: "device: 0, name: GeForce GTX 1050 Ti, pci bus id: 0000:01:00.0, compute capability: 6.1"]
3、配置jupyter notebook
現在我們有兩個anaconda環(huán)境,一個是系統自帶的base,另一個是我們創(chuàng)建的tensorflow-gpu,base中自帶安裝了jupyter notebook而新環(huán)境中沒有。
如果我們希望通過jupyter notebook使用新環(huán)境有兩種方法--在新環(huán)境中再安裝一個notebook或者在base環(huán)境中調用新環(huán)境。
這里選擇第二種,為此我們需要為新環(huán)境tensorflow-gpu安裝ipykernel:
conda activate tensorflow-gpu # 啟動對應的tensorflow-gpu環(huán)境 conda install ipykernel # 在環(huán)境中安裝ipykernel
在base環(huán)境中的jupyter notebook中注入tensorflow-gpu的內核:
conda activate base # 切換回base環(huán)境python -m ipykernel install --user --name tensorflow-gpu --display-name "TF-GPU"
查看jupyter中的kernel
jupyter kernelspec list
刪除指定kernel:
jupyter kernelspec remove kernelname
修改jupyter notebook默認工作目錄
首先輸入如下命令,生成設置文件 C:\Users\Super\.jupyter\jupyter_notebook_config.py:
jupyter notebook --generate-config
找到該配置文件,將如下語句修改為默認工作目錄位置:
c.NotebookApp.notebook_dir = 'D:\\Python\\jupyter'
最后修改桌面快捷方式的啟動位置,右鍵jupyter notebook快捷方式,選擇屬性彈出如下界面,將目標最后的%USERFILE%刪去,保存后點擊快捷方式啟動,工作目錄就是設置的D:\\Python\\jupyter
啟動jupyter notebook并打開項目,可見其中的kernel可以進行切換
通過GPU版本的Tensor FLow運行卷積神經網絡,速度明顯加快,而且可以看到GPU參與運算,并且cpu的負載減少
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python編程itertools模塊處理可迭代集合相關函數
本篇博客將為你介紹Python函數式編程itertools模塊中處理可迭代集合的相關函數,有需要的朋友可以借鑒參考下,希望可以有所幫助2021-09-09pycharm中dgl安裝報錯FileNotFoundError:Could not find&nb
這篇文章主要介紹了pycharm中dgl安裝報錯FileNotFoundError:Could not find module ‘E:\XXXX\XXXX\lib\site-packages\dgl\dgl.dl問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02在Pycharm的Project Files下建立多個項目的操作
這篇文章主要介紹了在Pycharm的Project Files下建立多個項目的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05