微信公眾號:[雷學委]關注開源,關注技術。問題或建議,請公眾號留言。
學會Python很重要,懂了基礎,再學會pip更加重要!
就像手機安裝應用一樣簡單,學委帶著你在主機上安裝pip,再安裝虛擬環境(virualenv),最後簡單試水深度學習框架tensorflow!知識量很多,耐心看吧。學委想說,Python其實就跟白開水一樣,沒有那麼難,把握住了,上面的東西隨便玩!
你本來就學會了Python就是沒有找到好玩的庫,結果半路跑去玩遊戲了,或者半路跑去學Java/C++了多麼浪費天賦啊!哈哈哈
(聲明一下,除了中文,Java是學委最愛的語言,Java的朋友直接來個三連吧)
什麼是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鏡像倉庫因為學委這臺主機是騰訊雲的,所以配了騰訊的倉庫!
複製下面內容保存為pip.conf ,放置在用戶的home目錄下(用戶目錄下)的pip目錄。(比如/User/leiXueWei/.pip/pip.conf)
[global]
index-url = http://mirrors.tencentyun.com/pypi/simple
trusted-host = mirrors.tencentyun.com
國內的一些Pypi鏡像
校驗是否配置生效:
查看你安裝的應用 - pip 查本地庫比如下面的命令:
#查看本地安裝的python庫
pip list
#比如你裝了tensorflow,可以查看這個庫的詳細信息,版本依賴等
pip show tensorflow
查看tensorflow這個深度學習庫的信息
試用pip安裝其他』應用『安裝virtualenvvirtualenv 是一個提供了一個獨立的項目環境,它隔離了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共享中心倉庫VirtualEnvTensorFlow初學者快速入門
微信公眾號:[雷學委]持續學習持續開發。問題或建議,請公眾號留言。