天天看點

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

就像手機安裝應用一樣簡單,學委帶着你在主機上安裝pip,再安裝虛拟環境(virualenv),最後簡單試水深度學習架構 tensorflow !知識量很多,耐心看吧。

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

學委想說,Python其實就跟白開水一樣,沒有那麼難,把握住了,上面的東西随便玩!

你本來就學會了Python就是沒有找到好玩的庫,結果半路跑去玩遊戲了,或者半路跑去學Java/C++了多麼浪費天賦啊!哈哈哈

(聲明一下,除了中文,Java是學委最愛的語言,Java的朋友直接來個三連吧)

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

什麼是pip

先說Python 庫, 它就像一個手機App

小白可以這樣了解,一個python庫,就像手機裡面的一個App,一個普通應用一樣。

一個python 庫就是将Python代碼組織在一個檔案夾或者多個作為一個整體機關發行出去的代碼庫。

很多開發者做了一個優秀的庫之後會釋出到pypi網站(如下),這也是python開源的基礎。

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

再說 pip, 它就像應用寶

對小白來說pip就像你的華為手機裡面的應用市場App或者像騰訊應用寶App一樣的玩意。

它能夠給你搜尋下載下傳其他App。pip是一個用來安裝python庫的工具,類似NodeJS的npm。

開發者可以貢獻自己開發好的代碼到pypi,再使用pip就從pypi查找下載下傳一個python 子產品。

這樣我們就能在項目中引入其他人的python 庫的子產品了。

比如requests這個子產品,可以引入用來通路http(s)連結。

下面是pip的使用幫助提示:

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

下面給我們的手機安裝應用寶

沒打錯,給我們的雲主機安裝pip。

先檢視版本号,很多伺服器預設都會安裝python 2.7(沒辦法,圖友善,也有很多懶人不更新python的,而且依然還有不少項目仍在用python2的)

python -V #檢視版本号
      
學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

Centos 安裝pip for python2

雷學委準備了下面的腳本,隻要你有一個Linux作業系統(雲/虛拟機都行),執行下面的腳本可以安裝pip。

#!/bin/sh
#雷學委建議懂得朋友修改下面代碼,安裝pip for python3
#python3
#getPip=https://bootstrap.pypa.io/get-pip.py
#python2
getPip=https://bootstrap.pypa.io/pip/2.7/get-pip.py

pipFile=./get-pip.py
if [ ! -e ${pipFile} ] ; then 
    echo "download pip"
    wget ${getPip} -O ${pipFile}
fi

python ${pipFile}
      

安裝效果圖:

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

好了,其實到這裡,你一樣安裝了第一個python應用,可以三連了。

試用pip來安裝庫

檢視版本:pip -V

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

其實pip本身也是python社群裡面的一款爆品應用。

它本身也是一個python 庫。

#pip 搜尋requests這個庫
pip search requests
#pip 安裝requests這個庫
pip install requests
      

配置國内的Pypi鏡像倉庫

因為學委這台主機是騰訊雲的,是以配了騰訊的倉庫!

複制下面内容儲存為pip.conf ,放置在使用者的home目錄下(使用者目錄下)的pip目錄。(比如/User/leiXueWei/.pip/pip.conf)

[global]
index-url = http://mirrors.tencentyun.com/pypi/simple
trusted-host = mirrors.tencentyun.com
      

國内的一些Pypi鏡像

校驗是否配置生效:

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

檢視你安裝的應用 - pip 查本地庫

比如下面的指令:

#檢視本地安裝的python庫
pip list
#比如你裝了tensorflow,可以檢視這個庫的詳細資訊,版本依賴等
pip show tensorflow
      
學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

檢視

這個深度學習庫的資訊

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

試用pip安裝其他’應用‘

安裝virtualenv

virtualenv 是一個提供了一個獨立的項目環境,它隔離了python項目跟系統python的依賴(比如site-packages)内的一些非官方發行的包。

當然,它也是一個python module。擁有它,你可以讓自己的每個項目獨立管理自己依賴的python庫。

簡單來說,virtualenv就相當于,送您一部備用手機。

你在上面安裝其他應用,随便亂裝都不會影響到主手機的使用。

同理,你可以使用virtualenv來建立多個備用手機環境。

下面是比較繞的正式說法(小白可以不看)。

有了virtualenv,就能實作單個項目(自己)的庫自己管理,而不跟系統Python公共庫路徑混起來! 多個Python 項目也能互相獨立使用不同版本的python庫。

雷學委希望大家都有這個好習慣,多使用virtualenv來隔離不同python項目!

看到這裡,繼續安裝吧

pip install virtualenv
      

安裝效果如下,pip幫我們下載下傳安裝virtualenv庫,并下載下傳安裝到本機了。這就是應用市場下載下傳安裝一個應用一樣一樣的!

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

玩轉深度學習架構

使用virtualenv 建立一個項目并進入目錄,激活切換到虛拟環境

virtualenv tensorflow-demo 
cd  tensorflow-demo
source bin/activate
      
學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

下面先看運作效果

總共執行5個疊代,訓練模型,最後評估出來的模型準确度為0.9768(比第一代 0.9147提高了6個百分點)

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

具體操作和項目配置

安裝tensorflow

pip install tensorflow
      

雷學委建議大夥先收藏,懶人直接複制代碼:

import tensorflow as tf

#http://yann.lecun.com/exdb/mnist/ - mnist資料集,就是一些專業人員整理的友善機器學習初學者做學習訓練的一些資料
mnist = tf.keras.datasets.mnist

#加載訓練資料(60K個樣本)和測試資料(10K個樣本)
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train, x_test = x_train / 255.0, x_test / 255.0

#定義一個模型
model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(input_shape=(28, 28)),
  tf.keras.layers.Dense(128, activation='relu'),
  tf.keras.layers.Dropout(0.2),
  tf.keras.layers.Dense(10, activation='softmax')
])
#編譯配置模型的優化器,損耗函數,以及檢驗名額
model.compile(optimizer='adam',
              loss='sparse_categorical_crossentropy',
              metrics=['accuracy'])

#開始訓練,執行5個疊代
model.fit(x_train, y_train, epochs=5)
#評估模型,verbose=2表示每一代處理當作一行輸出
model.evaluate(x_test,  y_test, verbose=2)
      

這個模型對60K圖檔樣本進行識别,進行5輪疊代的模型訓練。(官方寫的60K,下一篇給大夥數數)

最後再使用測試資料集對訓練好的模型進行評估。

是不是上面的代碼看不懂?過來看看下面的人話吧。

這個過程就相當于整個字庫裡面有100個字,你拿了90個字來臨摹,臨摹了5遍毛筆字,每次都看一下跟标準字型貼合率(準确率)。

最後在把另外10個字丢給你寫,寫完看看你寫字的準确率,寫的夠不夠标準。

你就像一個被不斷訓練的模型,字庫/測試字庫都是用來訓練的資料

隻要給你訓練的足夠多,你就能夠寫出更好看更标準的字,懂了嗎?學習知識也是一樣的。

好了,本文的重點是安裝掌握pip,順便玩第一個DL應用。

再看看這個圖,你懂了嗎?請記住這個圖!

學會Python等于擁有整個世界!秒懂精通pip并快速體驗深度學習應用吧!【多圖建議收藏】下面給我們的手機安裝應用寶玩轉深度學習架構tensorflow

先寫到這裡了。恭喜你,看到這裡已經超值了,幾分鐘到功夫,學到這麼多。