Python 深度学习,你的 Keras 准备好了吗?

Python 深度学习,你的 Keras 准备好了吗?


点击上方“AI有道”,选择“置顶”公众号
html

重磅干货,第一时间送达image.pngpython


前天我在公众号推荐了《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/


就能看到最新的下载版本:

image.png


选择 Python 3.7 version 下载。下载完成后直接运行 Anaconda 的安装文件,按照提示一步一步安装就能够了。


安装完成后,会在 win10 的开始菜单发现 Anaconda 这些组件:

image.png


由于我是较早安装的,因此是 Anaconda3,没必要在乎。可直接安装最新版本。另外,其中的 Jupyter Notebook(tensorflow) 是我后面安装获得的。大家暂时看不到正常。


2. 建立 tensorflow 的虚拟环境


Python 为不一样的项目需求建立不一样的虚拟环境很是常见。由于在实际项目开发中,咱们一般会根据本身的需求去下载各类相应的框架库,可是可能每一个项目使用的框架库并不同,或使用框架的版本不同,这样须要咱们根据需求不断的更新或卸载相应的库,管理起来至关麻烦。因此经过建立虚拟环境,至关于为不一样的项目建立一块独立的空间,在这个空间里,你安装任何库和框架都是独立的,不会影响到外部环境。


为了建立咱们 keras 的开发环境,首先打开 Anaconda 组件 Anaconda Prompt,这是一个相似 cmd 的界面,便于咱们对 Python 库的安装和管理。界面以下:

image.png


而后,建立虚拟环境并安装 Python。在 Anaconda Prompt 界面中输入:


conda create --name tensorflow python=3.5.2


这里,虚拟变量的名称咱们取 tensorflow,固然你能够换个名字。Python 版本这里选择 3.5。


最后,激活并进入到虚拟环境 tensorflow 中:


activate tensorflow


进入后,提示符前会显示 (tensorflow):

image.png



3. 安装 TensorFlow


可能有的同窗会问咱们不是安装 Keras 吗?怎么安装起 TensorFlow 了?这里解释一下。Keras 是一个模型级(model-level)的库,为开发深度学习模型提供了高层次的构建模块。 它不处理张量操做、求微分等低层次的运算。相反,它依赖于一个专门的、高度优化的张量库来完成这些运算,这个张量库就是 Keras 的后端引擎(backend engine),例如 TensorFlow、Theano、CNTK等均可以无缝嵌入到 Keras 中。以下图所示:

image.png


因此先要安装 Keras 的后端引擎 TensorFlow,首先须要升级一下你的 pip。一样是在 Anaconda Prompt 中输入如下命令:


python -m pip install -U pip


而后直接使用 pip 安装便可:


pip install tensorflow


若是没有报错,表示安装没有问题。进一步验证安装是否成功,输入 Python,在 Python 命令行中输入:import tensorflow as tf。若没有任何提示,则代表 TensorFlow 安装成功,以下图所示:

image.png


4. 安装 Keras


一样,打开 Anaconda Prompt,进入 tensorflow 虚拟环境,使用 pip 安装 Keras:


pip install keras


若是没有报错,表示安装没有问题。


5. 安装 MinGW


最后你还能够安装 MinGW,一样是在虚拟环境 tensorflow 中,输入如下命令:


conda install mingw libpython


进一步验证整个 Keras 安装是否成功,输入 Python,在 Python 命令行中输入:import keras。若出现下面提示,则代表 Keras安装成功:

image.png


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) 了。

image.png


这样,点击 Jupyter Notebook(tensorflow),就能够直接打开 Jupyter Notebook,能够直接在 cell 中导入 Keras 了。


image.png

这样就不用每次使用 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



【推荐阅读】

干货 | 公众号历史文章精选(附资源)

个人深度学习入门路线

个人机器学习入门路线图

相关文章
相关标签/搜索