python3.7安装keras教程_Keras教程:Python深度学习终极⼊
门指南
初级工程师spring面试题
原标题:Keras 教程: Python 深度学习终极⼊门指南
我们旨在向你介绍⼀个最流⾏的同时也是功能最强⼤的, ⽤于建⽴神经⽹络的 Python 库. 这意味着我们将跳过许多理论与数学知识, 但我们还是会向你推荐⼀些学习这些的极好的资源.
为什么要⽤ Keras?
大学python入门教程Keras 是我们推荐的 Python 深度学习库, 尤其是对于初学者⽽⾔. 它很简约, 模块化的⽅法使建⽴并运⾏神经⽹络变得轻巧. 你可以在这⾥读到更多关于 Keras 的内容:
Keras, Python 的深度学习库
深度学习究竟是什么?
深度学习是指具有多隐层的神经⽹络, 其可以学习输⼊数据的抽象表⽰. 这个定义显然太简单了, 但对于现在的我们来说, 却是最有实际意义的.
⽐⽅说, 深度学习促进了计算机视觉的巨⼤进步. 现在, 我们能够对图⽚进⾏分类, 识别图⽚中的物体, 甚⾄给图⽚打标签. 要实现这些, 多隐层的深度神经⽹络可以从原始输⼊图⽚中按序学习更复杂的特征:
第⼀层隐层也许只能学习到局部边缘模式.之后, 每⼀个后续层 (或过滤器) 将学习更复杂的表⽰.最后, 最后⼀层可以对图⽚进⾏分类, 是猫还是袋⿏.这类深度神经⽹络就称为卷积神经⽹络.
卷积神经⽹络究竟是什么?
简⽽⾔之, 卷积神经⽹络 (CNN) 就是将输⼊数据假设成图的多层神经⽹络 (有些时候, 会有多达 17 甚⾄更多层).
通过实现这个需求, CNN 可以⼤⼤减少需要调整的参数数量. 因此, CNN 可以⾼效处理⾼维原始图⽚.卷积神经⽹络的底层机制已经超过了本教程的范围, 更多请看这⾥.CS231n: Convolutional Neural Networks for Visual Recognition
Keras 教程⽬录
下⾯是创建你的第⼀个卷积神经⽹络 (CNN) 的步骤:
配置环境 ,安装 Keras ,导⼊库和模块 ,从 MNIST导⼊图⽚数据 ,预处理输⼊数据 ,预处理类标签 ,定义模型架构 ,编译模型 ,⽤训练数据拟合模型 ,⽤测试数据评估模型
第⼀步: 配置环境
⾸先, 挂⼀张励志海报:
可能没什么⽤- -.
然后, 确保你的计算机上已经安装了以下软件:
Python 2.7+ (Python 3 也可以, 但总体⽽⾔, Python 2.7 在数据科学领域依旧更受欢迎.)
Scipy 和 NumPy
Matplotlib (可选的, 推荐⽤于探索性分析)
Theano* (安装指南)
强烈建议使⽤ Anaconda 发⾏版 来安装 Python, NumPy, SciPy. 它⾃带所有这些包.
注意: ⽤ TensorFlow 也可以 (作为 Theano 的替代), 但我们将坚持使⽤ Theano, 以保持程序⾜够简单. 使⽤ TensorFlow 和 Theano 的主要区别在于, 数据输⼊神经⽹络之前, 需要简单地重塑.
你可以检查⼀下是否都正确安装了:
koreasnb第⼆步: 安装 Keras
如果你使⽤的 Anaconda, 你已经安装好了⼀个超赞的包管理系统: pip.
你可以在命令⾏输⼊ $ pip 确认安装. 这条命令将打印⼀个命令和选项的列表. 如果你还没有安装 pip, 参照这⾥进⾏安装.
第三步: 导⼊库和模块
第四步: 从 MNIST 加载图⽚数据
MNIST 是深度学习和计算机视觉⼊门很好的数据集. 它很⼤, 这对于神经⽹络是⼀个巨⼤的挑战, 但它在单台计算机上⼜是可管理的. 我们将在另⼀个⽂章中对此进⾏更多的讨论: 6 Fun Machine Learning Projects for Beginners.
输出的图⽚是这样的:
总的来说, 做计算机视觉的, 在进⾏任何算法⼯作之前, 可视地绘制数据很有帮助. 这是⼀个快速明智的检查, 可以防⽌可避免的错误 (⽐如对数据维度的误解).
第五步: 输⼊数据预处理
在后端使⽤ Theano 时, 你必须显式地声明⼀个维度, ⽤于表⽰输⼊图⽚的深度. 举个例⼦, ⼀幅带有 RGB 3 个通道的全彩图⽚, 深度为 3.
img是视频格式吗
MNIST 图⽚的深度为 1, 因此必须显式地进⾏声明.
换⾔之, 我们要将数据集从 (n, width, height) 转换成 (n, depth, width, height).
第六步: 预处理类标签
第七步: 定义模型架构
enable是什么意思啊现在, 我们就可以定义我们的模型架构了. 在实际研发⼯作中, 研究员会花⼤量的时间研究模型架构.在这⾥, 为了教程的继续, 我们不会讨论理论或数学. 这本⾝就是复杂的领域, 对于想要深⼊学习的同学, 建议看⼀下上⽂提到的 CS231n 课程.
另外, 刚开始时, 你可以使⽤现成的例⼦或者实现紫黯学术论⽂中已经证明的架构. 这⾥有⼀个 Keras 实现样例.
输的形状参数应为形状为 1 的样例. 本例中, 就是 (1, 28, 28), 与每张数字图⽚的 (depth, width, height) 相对应.
但是前 3 个参数⼜代表什么呢? 它们分别对应于要使⽤的卷积过滤器的数量, 每个卷积内核的⾏数与列数.
注意: 默认情况下, 步长为 (1, 1), 可以⽤ ‘subsample’ 参数进⾏调整.
再次声明, 我们不会太深究理论的东西, 但有必要强调⼀下我们刚刚添加的 Dropout 层. 这是⼀个规范化模型的⽅法, ⽬的是防⽌过度拟合.你可以在这⾥看到更多内容.MaxPooling2D 是⼀种减少模型参数数量的⽅式, 其通过在前⼀层上滑动⼀个 2*2 的滤波器, 再从这个 2*2 的滤波器的 4 个值中取最⼤值.
现在, 我们唯⼀需要做的就是定义损失函数和优化器, 然后就可以对模型进⾏训练了.
第⼋步: 编译模型
现在可以轻松⼀点了, 最难的部分已经过去了.只需要编译模型, 然后我们就可以训练它了. 编译模型时, 我们需要声明损失函数和优化器(SGD, Adam 等等).
Keras 有各种各样的 损失函数和开箱即⽤的优化器.
连接数据库的五大步骤第九步: ⽤训练数据进⾏模型拟合

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。