點擊上方「AI有道」,選擇「置頂」公衆號
html
重磅乾貨,第一時間送達python
前天我在公衆號推薦了《Python Deep Learning》這本書。該書是由 Keras 做者寫的,因此全書基本圍繞着 Keras 講深度學習的各類實現,從 CNN,RNN 到 GAN 等,偏入門,但理論和實戰部分都講的還不錯,承載着不少做者對深度學習總體性的思考。目前該書的中英文版包括源碼見下面的連接:後端
連接:app
https://pan.baidu.com/s/1kTTGpzQo-p5ZfeSI6HlbEA 框架
提取碼:mnz9 機器學習
我花了幾天時間快速過了這本書,固然少不了跑跑書上的代碼。代碼的完整性很高,難易程度做者都分層次介紹得比較清楚。總之,Keras 很是適合你們快速上手深度學習項目。ide
好了,今天從基礎開始,教你們在 win10 系統中,使用 Anaconda + TensorFlow + Keras,快速搭建一個 Keras 的開發環境(CPU 版本),很是容易。工具
1. 安裝 Anaconda學習
打開 Anaconda 的官方下載地址:測試
https://www.anaconda.com/download/
就能看到最新的下載版本:
選擇 Python 3.7 version 下載。下載完成後直接運行 Anaconda 的安裝文件,按照提示一步一步安裝就能夠了。
安裝完成後,會在 win10 的開始菜單發現 Anaconda 這些組件:
由於我是較早安裝的,因此是 Anaconda3,沒必要在乎。可直接安裝最新版本。另外,其中的 Jupyter Notebook(tensorflow) 是我後面安裝獲得的。大家暫時看不到正常。
2. 建立 tensorflow 的虛擬環境
Python 爲不一樣的項目需求建立不一樣的虛擬環境很是常見。由於在實際項目開發中,咱們一般會根據本身的需求去下載各類相應的框架庫,可是可能每一個項目使用的框架庫並不同,或使用框架的版本不同,這樣須要咱們根據需求不斷的更新或卸載相應的庫,管理起來至關麻煩。因此經過建立虛擬環境,至關於爲不一樣的項目建立一塊獨立的空間,在這個空間裏,你安裝任何庫和框架都是獨立的,不會影響到外部環境。
爲了建立咱們 keras 的開發環境,首先打開 Anaconda 組件 Anaconda Prompt,這是一個相似 cmd 的界面,便於咱們對 Python 庫的安裝和管理。界面以下:
而後,建立虛擬環境並安裝 Python。在 Anaconda Prompt 界面中輸入:
conda create --name tensorflow python=3.5.2
這裏,虛擬變量的名稱咱們取 tensorflow,固然你能夠換個名字。Python 版本這裏選擇 3.5。
最後,激活並進入到虛擬環境 tensorflow 中:
activate tensorflow
進入後,提示符前會顯示 (tensorflow):
3. 安裝 TensorFlow
可能有的同窗會問咱們不是安裝 Keras 嗎?怎麼安裝起 TensorFlow 了?這裏解釋一下。Keras 是一個模型級(model-level)的庫,爲開發深度學習模型提供了高層次的構建模塊。 它不處理張量操做、求微分等低層次的運算。相反,它依賴於一個專門的、高度優化的張量庫來完成這些運算,這個張量庫就是 Keras 的後端引擎(backend engine),例如 TensorFlow、Theano、CNTK等均可以無縫嵌入到 Keras 中。以下圖所示:
因此先要安裝 Keras 的後端引擎 TensorFlow,首先須要升級一下你的 pip。一樣是在 Anaconda Prompt 中輸入如下命令:
python -m pip install -U pip
而後直接使用 pip 安裝便可:
pip install tensorflow
若是沒有報錯,表示安裝沒有問題。進一步驗證安裝是否成功,輸入 Python,在 Python 命令行中輸入:import tensorflow as tf。若沒有任何提示,則代表 TensorFlow 安裝成功,以下圖所示:
4. 安裝 Keras
一樣,打開 Anaconda Prompt,進入 tensorflow 虛擬環境,使用 pip 安裝 Keras:
pip install keras
若是沒有報錯,表示安裝沒有問題。
5. 安裝 MinGW
最後你還能夠安裝 MinGW,一樣是在虛擬環境 tensorflow 中,輸入如下命令:
conda install mingw libpython
進一步驗證整個 Keras 安裝是否成功,輸入 Python,在 Python 命令行中輸入:import keras。若出現下面提示,則代表 Keras安裝成功:
6. 啓動 Keras
整個 Keras 安裝成功了。那麼實際應用中咱們如何啓動 Keras 呢?由於我習慣了使用 Anaconda 自帶的 Jupyter Nootbook,那麼接下來我就教你們使用 Jupyter Notebook 調用 Keras 實例。
由於如今 Anaconda 自帶的 Jupyter Notebook 仍是整個外部 Python 環境下的,咱們以前建立的虛擬環境 tensorflow 並無 Jupyter Notebook。怎們辦?安裝一個就行了。
一樣在 Anaconda Prompt 中,激活 tensorflow 環境,使用 conda 命令安裝,以下所示:
conda install jupyter
很是簡單,安裝成功以後,就能夠在 Anaconda 的工具項裏看到 Jupyter Notebook(tensorflow) 了。
這樣,點擊 Jupyter Notebook(tensorflow),就能夠直接打開 Jupyter Notebook,能夠直接在 cell 中導入 Keras 了。
這樣就不用每次使用 activate 激活 tensorflow 虛擬環境了。
好了,如今 Keras CPU 版本已經安裝成功,能夠開始你的深度學習 Keras 實戰之旅了。
7. Keras 實例
下面,使用 Keras 運行這本書上的一個簡單例子,用來對 IMDB 的正負電影評論進行分類。
import keras
from keras import models
from keras import layers
from keras.datasets import imdb
import numpy as np
(train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000)
def vectorize_sequences(sequences, dimension=10000):
# Create an all-zero matrix of shape (len(sequences), dimension)
results = np.zeros((len(sequences), dimension))
for i, sequence in enumerate(sequences):
results[i, sequence] = 1. # set specific indices of results[i] to 1s
return results
# Our vectorized training data
x_train = vectorize_sequences(train_data)
# Our vectorized test data
x_test = vectorize_sequences(test_data)
# Our vectorized labels
y_train = np.asarray(train_labels).astype('float32')
y_test = np.asarray(test_labels).astype('float32')
model = models.Sequential()
model.add(layers.Dense(16, activation='relu', input_shape=(10000,)))
model.add(layers.Dense(16, activation='relu'))
model.add(layers.Dense(1, activation='sigmoid'))
model.compile(optimizer='rmsprop',
loss='binary_crossentropy',
metrics=['acc'])
model.fit(x_train, y_train, epochs=4, batch_size=512)
result = model.evaluate(x_test, y_test)
print(result)
最後結果,測試集的分類準確率達到了 88.3%。
8. 結語
本文介紹的 Keras 的 CPU 版本的安裝,本書的做者推薦你們儘量使用 GPU 版本,提升運算速度。我跑完本書的代碼發現,CPU 版本下某些模型的訓練時間仍是比較長的。例如使用 VGG 預訓練模型,對 Kaggle 貓狗分類問題進行訓練,並微調 VGG 頂層參數,整個訓練時間達到了 5 個小時左右。
若是安裝 GPU 版本,須要額外安裝 CUDA Toolkit + cuDNN。須要特別注意的是 CUDA+cuDNN 的版本。由於每一個人的 GPU 顯卡型號和安裝版本不盡相同,因此本文再也不贅述,須要的話,咱們下次再專門介紹如下 GPU 版本的安裝。
沒有 GPU,本書的代碼基本也能跑得通,就是大型模型的訓練速度比較慢。
若是有小夥伴對 GPU 版本的 Keras 安裝有好的方法,歡迎留言!
參考文獻:
https://www.cnblogs.com/zeroingToOne/p/8407059.html
【推薦閱讀】