日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras

系統(tǒng) 2067 0

ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras + tensflow

  • 一、硬件信息
    • 查看cpu型號(hào)
    • 查看顯卡型號(hào)
    • 查看系統(tǒng)版本
  • 二、軟件安裝
    • 2.1安裝anaconda3
    • 2.2 安裝keras
    • 2.3 設(shè)置GPU支持
      • 2.3.1 安裝驅(qū)動(dòng)
      • 2.3.2 安裝CUDA
      • 2.3.3 安裝cuDNN
    • 4.安裝tensorflow-gpu
    • 5.安裝keras

一、硬件信息

深度學(xué)習(xí)需要訓(xùn)練模型,一塊英偉達(dá)的顯卡必不可少。初學(xué)者,資金不太充裕,就買了一塊navida RTX系列顯卡。

查看cpu型號(hào)

            
                cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

            
          

12 Intel? Core? i7-7800X CPU @ 3.50GHz

查看顯卡型號(hào)

            
                nvidia-smi

            
          

ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras + tensflow_第1張圖片

查看系統(tǒng)版本

            
              uname -a

            
          

Linux ubun 4.15.0-50-generic #54~16.04.1-Ubuntu SMP Wed May 8 15:55:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

二、軟件安裝

2.1安裝anaconda3

anaconda指的是一個(gè)開源的Python發(fā)行版本,其包含了conda、Python等180多個(gè)科學(xué)包及其依賴項(xiàng)。可以幫助python開發(fā)者省去很多安裝科學(xué)包的工作。下面我們就來簡單介紹如何在Ubuntu16.04環(huán)境下安裝Anaconda3。
從2019.04.16日起,應(yīng)anacoanda官方要求,清華源下架了anaconda3的鏡像。自此下載此工具需要到官方網(wǎng)站下載。
提醒一點(diǎn),鏡像500M左右,使用迅雷下載鏡像,會(huì)稍微快一點(diǎn)。
下載完成后,從命令行進(jìn)入到Anaconda3-5.0.1-Linux-x86_64.sh文件所在的路徑下:
sudo bash Anaconda3-5.0.0-Linux-x86_64.sh
接下來,它會(huì)提示你是否接受協(xié)議,這里直接輸入yes,再按回車即可(不要直接按回車,這樣默認(rèn)是no)
接下來,會(huì)提示你指定安裝路徑,這里可以使用默認(rèn)的,也可以自己指定。
然后就是等待安裝進(jìn)程完成,完成后會(huì)提示你是否要將Anaconda的安裝路徑添加到PATH環(huán)境變量中,輸入yes就好了。
如果輸入no,那么我們就需要自己手動(dòng)在.bashrc文件中添加export PATH="/opt/anaconda3/bin:$PATH",然后再在命令行中輸入source ~/.bashrc

至此,Anaconda就安裝好了,在測試Anaconda是否安裝成功之前,我們需要先關(guān)閉當(dāng)前的終端,重啟開啟另一個(gè)終端后,才可以進(jìn)行測試,輸入python來查看是否安裝成功

            
              $ python
Python 3.6.2 |Anaconda, Inc.| (default, Sep 22 2017, 02:03:08) 
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()

            
          

2.2 安裝keras

如果此時(shí)你打開了jupyther-notebook,想測試一下mnist數(shù)據(jù)集,那么你會(huì)失望的,不要問我為什么,不然不會(huì)有這一步了。哈哈。
conda install keras
安裝keras的時(shí)候,他的后端相關(guān)的所有依賴(比如tensorflow)都會(huì)安裝好。此時(shí)再測試就是OK的。此處提供一個(gè)網(wǎng)上的代碼:

            
              '''Trains a simple deep NN on the MNIST dataset.
Gets to 98.40% test accuracy after 20 epochs
(there is *a lot* of margin for parameter tuning).
2 seconds per epoch on a K520 GPU.
'''
 
from __future__ import print_function
 
import keras
from keras.datasets import mnist
from keras.models import Sequential
from keras.layers import Dense, Dropout
from keras.optimizers import RMSprop
 
batch_size = 128
num_classes = 10
epochs = 20

import numpy as np 
# 內(nèi)置load_data() 多次加載數(shù)據(jù)都是失敗 于是下載數(shù)據(jù)后 自定義方法
def load_data(path="/home/ubuntu/1-AI/mnist.npz"):
    f = np.load(path)
    x_train, y_train = f['x_train'], f['y_train']
    x_test, y_test = f['x_test'], f['y_test']
    f.close()
    return (x_train, y_train), (x_test, y_test)

print("1--------------------------")
# the data, split between train and test sets
(x_train, y_train), (x_test, y_test) = load_data()
 
x_train = x_train.reshape(60000, 784)
x_test = x_test.reshape(10000, 784)
x_train = x_train.astype('float32')
x_test = x_test.astype('float32')
x_train /= 255
x_test /= 255
print(x_train.shape[0], 'train samples')
print(x_test.shape[0], 'test samples')
 
# convert class vectors to binary class matrices
y_train = keras.utils.to_categorical(y_train, num_classes)
y_test = keras.utils.to_categorical(y_test, num_classes)
 
model = Sequential()
model.add(Dense(512, activation='relu', input_shape=(784,)))
model.add(Dropout(0.2))
model.add(Dense(512, activation='relu'))
model.add(Dropout(0.2))
model.add(Dense(num_classes, activation='softmax'))
 
model.summary()
 
model.compile(loss='categorical_crossentropy',
              optimizer=RMSprop(),
              metrics=['accuracy'])
 
history = model.fit(x_train, y_train,
                    batch_size=batch_size,
                    epochs=epochs,
                    verbose=1,
                    validation_data=(x_test, y_test))
score = model.evaluate(x_test, y_test, verbose=0)
print('Test loss:', score[0])
print('Test accuracy:', score[1])

            
          

上述代碼中l(wèi)oad_data()函數(shù)沒有用mnist對(duì)象內(nèi)置的函數(shù),而是自己實(shí)現(xiàn)的。如果你直接下載該數(shù)據(jù)集很慢,不妨嘗試load絕對(duì)路徑,mnist數(shù)據(jù)及其測試程序可以參考該鏈接,下載分?jǐn)?shù)想改為0,但是一直改不過來。也可以隨便找一個(gè)。(https://download.csdn.net/download/dongqing27/11247395)
細(xì)心的同學(xué)會(huì)發(fā)現(xiàn),anaconda安裝好以后,ubuntu終端命令行前多了一個(gè)“(base)”,這是因?yàn)閍naconda自動(dòng)加入了命令到 .bashrc中, 在我們打開終端的時(shí)候自動(dòng) 執(zhí)行了 conda activate base 命令,進(jìn)入到了base環(huán)境下。此時(shí),使用的pythons, pip, tensorflow 都是此環(huán)境中的版本。如果想換一種版本,需要重新配置環(huán)境,創(chuàng)建新環(huán)境名稱,這個(gè)后邊再說。

2.3 設(shè)置GPU支持

上邊的代碼運(yùn)行過后,發(fā)現(xiàn),每一個(gè)Epoch需要8s左右的計(jì)算時(shí)間。這說明設(shè)備的GPU沒有被調(diào)用。此時(shí)想辦法設(shè)置GPU支持。
步驟是:安裝顯卡驅(qū)動(dòng) + 安裝CUDA(GPU加速) + 安裝cuDNN(深度學(xué)習(xí)加速庫)。

2.3.1 安裝驅(qū)動(dòng)

到英偉達(dá)官網(wǎng)下載顯卡對(duì)應(yīng)驅(qū)動(dòng)。

ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras + tensflow_第2張圖片
到此界面中產(chǎn)品類型,型號(hào)等會(huì)自己填充。自己只需選擇操作系統(tǒng)即可。點(diǎn)擊搜索,會(huì)出現(xiàn)推薦的驅(qū)動(dòng)程序,點(diǎn)擊進(jìn)入驅(qū)動(dòng)程序信息頁面,下載:NVIDIA-Linux-x86_64-430.14.run ,然後其他網(wǎng)頁說明進(jìn)行安裝:

            
              1.卸載系統(tǒng)默認(rèn)英偉達(dá)驅(qū)動(dòng)
sudo apt-get remove –purge nvidia*
2.安裝下載好的驅(qū)動(dòng)
 Ctrl-Alt+F1  //進(jìn)入命令行界面
sudo chmod a+x  ./NVIDIA-Linux-x86_64-430.14.run
sudo ./NVIDIA-Linux-x86_64-430.14.run –no-x-check –no-nouveau-check –no-opengl-files
    –no-x-check 安裝驅(qū)動(dòng)時(shí)關(guān)閉X服務(wù)
    –no-nouveau-check 安裝驅(qū)動(dòng)時(shí)禁用nouveau
    –no-opengl-files 只安裝驅(qū)動(dòng)文件,不安裝OpenGL文件
    安裝過程中可能會(huì)提示警告不匹配之類的,不用管只管安裝就行。
3.卸載
安裝出現(xiàn)問題,可以執(zhí)行下面命令卸載:
sudo ./NVIDIA-Linux-x86_64-430.14.run --uninstall

            
          

2.3.2 安裝CUDA

(1)首先,在CUDA官網(wǎng)選擇適合自己系統(tǒng)的版本下載。
ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras + tensflow_第3張圖片 (2)推薦安裝步驟如下:

            
                  sudo dpkg -i cuda-repo-ubuntu1604-10-1-local-10.1.168-418.67_1.0-1_amd64.deb
    sudo apt-key add /var/cuda-repo-
              
                /7fa2af80.pub   //此處
                
                  是10-1-local-10.1.168-418.67
    sudo apt-get update
    sudo apt-get install cuda

                
              
            
          

(3)添加環(huán)境變量:

            
              sudo vim  ~/.bashrc
   	 export CUDA_HOME=/usr/local/cuda 
    	export PATH=$PATH:$CUDA_HOME/bin 
    	export LD_LIBRARY_PATH=/usr/local/cuda-10.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    source ~/.bashrc

            
          

(4) 查看安裝
nvcc -V
在這里插入圖片描述
看到版本V10.1.168便知安裝包安裝成功。

2.3.3 安裝cuDNN

在官網(wǎng)下載安裝包。值得注意的是需要注冊(cè)登錄才能下載,是注冊(cè),而不是選擇qq或者微信登錄。
選擇適合自己的版本(選擇deb安裝包,可直接安裝完成,而不需要人為拷貝):在這我選擇:cuDNN Runtime Library for Ubuntu16.04 (Deb),下載下來的文件是:libcudnn7_7.6.0.64-1+cuda10.1_amd64.deb。
ubutnu16.04搭建深度學(xué)習(xí)環(huán)境: python3 + keras + tensflow_第4張圖片 安裝:
sudo dpkg -i libcudnn7_7.6.0.64-1+cuda10.1_amd64.deb

4.安裝tensorflow-gpu

訓(xùn)練模型時(shí),配置好nvidia顯卡還不夠,還需要選擇的backend支持。默認(rèn)安裝的tensorflow是cpu版本的,參照安裝說明,安裝gpu版本:

在這里插入圖片描述

安裝命令:
pip install tensorflow-gpu
如果你的下載速度十分慢,那這裏有一個(gè)方法可以試一下:

            
              具體操作步驟:
1、敲開終端
2、敲命令
~$ mkdir ~/.pip
~$ vim ~/.pip/pip.conf     //vim使用方法十分簡單,請(qǐng)自行百度。
3、編輯文件內(nèi)容
  [global]
  index-url = http://mirrors.aliyun.com/pypi/simple
  [install]
  trusted-host=mirrors.aliyun.com

            
          

5.安裝keras

sudo pip3 install keras

現(xiàn)在你可以嘗試運(yùn)行一個(gè) Keras 腳本,比如這個(gè) MNIST 示例。
python examples/mnist_cnn.py
注意,完整運(yùn)行這個(gè)示例可能需要幾分鐘。因此,在確認(rèn) Keras 可以正常運(yùn)行之后,你可
以隨時(shí)強(qiáng)制退出(按 Ctrl-C)。
運(yùn)行 Keras 至少一次之后,就可以在 ~/.keras/keras.json 找到 Keras 的配置文件。你可以編
輯這個(gè)文件,選擇運(yùn)行 Keras 的后端: tensorflow 、 theano 或 cntk 。你的配置文件應(yīng)該是
這樣的。

            
              {
"image_data_format": "channels_last",
"epsilon": 1e-07,
"floatx": "float32",
"backend": "tensorflow"
}

            
          

運(yùn)行 examples/mnist_cnn.py 這個(gè) Keras 腳本時(shí),你可以在另一個(gè) shell 窗口中監(jiān)控 GPU 利
用率。
$ watch -n 5 NVIDIA-smi -a --display=utilization
一切安裝完成,恭喜你!現(xiàn)在可以開始構(gòu)建深度學(xué)習(xí)應(yīng)用了。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 温宿县| 大冶市| 南平市| 都江堰市| 海林市| 宾川县| 廊坊市| 黑龙江省| 长子县| 辽阳市| 金昌市| 池州市| 保定市| 西安市| 宁陵县| 富宁县| 方正县| 菏泽市| 贵州省| 金堂县| 疏附县| 高平市| 元江| 南城县| 盐源县| 库尔勒市| 柳河县| 宁津县| 庐江县| 南昌市| 蒙阴县| 泰顺县| 潍坊市| 汪清县| 关岭| 大邑县| 海伦市| 新龙县| 兴山县| 布尔津县| 沁阳市|