微信扫一扫打赏支持

《python深度学习》笔记---3.2-3.3、Keras 简介

《python深度学习》笔记---3.2-3.3、Keras 简介

一、总结

一句话总结:

不处理张量操作:Keras 是一个模型级(model-level)的库,为开发深度学习模型提供了高层次的构建模块。 它不处理张量操作、求微分等低层次的运算
Keras张量操作由后端引擎实现:Keras 有三个后端实现:TensorFlow 后端、 Theano 后端和微软认知工具包(CNTK,Microsoft cognitive toolkit)后端。

 

 

1、TensorFlow运算库?

CPU:Eigen:在 CPU 上运行 时,TensorFlow 本身封装了一个低层次的张量运算库,叫作Eigen;
GPU:cuDNN:在GPU 上运行时,TensorFlow 封装了一个高度优化的深度学习运算库,叫作 NVIDIA CUDA 深度神经网络库(cuDNN)。

 

 

2、Keras定义模型两种方法?

Sequential类-线性堆叠:一种是使用 Sequential 类(仅用于层的线性堆叠,这是目前最常 见的网络架构)
函数式API-有向无环图:另一种是函数式 API(functional API,用于层组成的有向无环图,让你可以构 建任意形式的架构)。
这是一个利用 Sequential 类定义的两层模型(注意,我们向第一层传入了输 入数据的预期形状)。
from keras import models 
from keras import layers 
model = models.Sequential() 
model.add(layers.Dense(32, activation='relu', input_shape=(784,))) 
model.add(layers.Dense(10, activation='softmax')) 

用函数式 API 定义的相同模型
input_tensor = layers.Input(shape=(784,)) 
x = layers.Dense(32, activation='relu')(input_tensor) 
output_tensor = layers.Dense(10, activation='softmax')(x) 
model = models.Model(inputs=input_tensor, outputs=output_tensor) 
利用函数式API,你可以操纵模型处理的数据张量,并将层应用于这个张量,就好像这些 层是函数一样。

 

 

3、keras函数式API 特点?

操纵数据张量:利用函数式API,你可以操纵模型处理的数据张量,并将层应用于这个张量,就好像这些 层是函数一样。
input_tensor = layers.Input(shape=(784,)) 
x = layers.Dense(32, activation='relu')(input_tensor) 
output_tensor = layers.Dense(10, activation='softmax')(x) 
model = models.Model(inputs=input_tensor, outputs=output_tensor) 

 

4、keras函数式API 代码特点?

就是需要指定输入:x = layers.Dense(32, activation='relu')(input_tensor)
input_tensor = layers.Input(shape=(784,)) 
x = layers.Dense(32, activation='relu')(input_tensor) 
output_tensor = layers.Dense(10, activation='softmax')(x) 
model = models.Model(inputs=input_tensor, outputs=output_tensor) 

 

 

5、建立深度学习工作站?

推荐使用unix系统:无论在本地还是在云端运行,最好都使用UNIX 工作站。这看起来可能有点麻烦,但从长远来看,使用 Ubuntu 将会为你省去大量时间和麻烦。
三个后端皆可:使用 Keras 需要安装 TensorFlow、CNTK 或Theano(如果你希望能够在三个后端之间 来回切换,那么可以安装三个

 

 

 

二、内容在总结中

博客对应课程的视频位置:

 

 

 
posted @ 2020-10-05 16:15  范仁义  阅读(219)  评论(0编辑  收藏  举报