Python 深度学习,你的 Keras 准备好了吗?
點擊上方“AI有道”,選擇“置頂”公眾號
重磅干貨,第一時間送達
前天我在公眾號推薦了《Python Deep Learning》這本書。該書是由?Keras 作者寫的,所以全書基本圍繞著 Keras 講深度學習的各種實現,從 CNN,RNN 到 GAN 等,偏入門,但理論和實戰部分都講的還不錯,承載著很多作者對深度學習整體性的思考。目前該書的中英文版包括源碼見下面的鏈接:
鏈接:
https://pan.baidu.com/s/1kTTGpzQo-p5ZfeSI6HlbEA?
提取碼:mnz9?
我花了幾天時間快速過了這本書,當然少不了跑跑書上的代碼。代碼的完整性很高,難易程度作者都分層次介紹得比較清楚??傊?#xff0c;Keras 非常適合大家快速上手深度學習項目。
好了,今天從基礎開始,教大家在 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 1sreturn 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
【推薦閱讀】
干貨 | 公眾號歷史文章精選(附資源)
我的深度學習入門路線
我的機器學習入門路線圖
喜歡請點贊!總結
以上是生活随笔為你收集整理的Python 深度学习,你的 Keras 准备好了吗?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员从幼稚到成熟会经历哪些变化?你都知
- 下一篇: 优秀的程序员应该掌握多少门编程语言?