一文讓你秒懂精通pip並快速體驗深度學習應用【建議收藏】

前言

學會Python很重要,懂瞭基礎,再學會pip更加重要!

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

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

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

什麼是pip

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

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

一個python 庫就是將Python代碼組織在一個文件夾或者多個作為一個整體單位發行出去的代碼庫。

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

再說 pip, 它就像應用寶

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

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

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

這樣我們就能在項目中引入其他人的python 庫的模塊瞭。

比如requests這個模塊,可以引入用來訪問http(s)鏈接。

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

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

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

先查看版本號,很多服務器默認都會安裝python 2.7(沒辦法,圖方便,也有很多懶人不升級python的,而且依然還有不少項目仍在用python2的)

python -V #查看版本號

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來安裝庫

查看版本:pip -V

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

它本身也是一個python 庫。

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

配置國內的Pypi鏡像倉庫

因為學委這臺主機是騰訊雲的,所以配瞭騰訊的倉庫!(如果騰訊雲看到瞭這篇文章,希望給博主多一些優惠,哈哈哈)

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

國內的一些Pypi鏡像

阿裡雲

mirrors.aliyun.com/pypi/simple…

清華大學

pypi.tuna.tsinghua.edu.cn/simple/

校驗是否配置生效:

查看你安裝的應用 – pip 查本地庫

比如下面的命令:

#查看本地安裝的python庫
pip list
#比如你裝瞭tensorflow,可以查看這個庫的詳細信息,版本依賴等
pip show tensorflow

查看tensorflow這個深度學習庫的信息

試用pip安裝其他’應用‘

安裝virtualenv

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

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

簡單來說,virtualenv就相當於,送您一部備用手機。
你在上面安裝其他應用,隨便亂裝都不會影響到主手機的使用。
同理,你可以使用virtualenv來創建多個備用手機環境。

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

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

雷學委希望大傢都有這個好習慣,多使用virtualenv來隔離不同python項目!(其實這個小技巧就應該給三連瞭!)
看到這裡,繼續安裝吧

pip install virtualenv

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

玩轉深度學習框架tensorflow

使用virtualenv 創建一個項目並進入目錄,激活切換到虛擬環境

virtualenv tensorflow-demo 
cd  tensorflow-demo
source bin/activate

下面先看運行效果

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

具體操作和項目配置

安裝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共享中心倉庫
  • VirtualEnv
  • TensorFlow初學者快速入門

總結

到此這篇關於pip快速體驗深度學習應用的文章就介紹到這瞭,更多相關pip快速體驗學習應用內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: