当前位置: 首页 > 网络应用技术

从环境构建到神经网络病例的回归,请您掌握Keras

时间:2023-03-09 10:22:43 网络应用技术

  摘要:作为神经网络的高端包装,Keras可以快速构建神经网络。它的兼容性非常宽,并且与TensorFlow和Theano兼容。

  Keras是Python撰写的开源人工神经网络库,可用作深度学习模型设计,调试,评估,应用和可视化深度学习的高端应用接口和Tensorflow的高端应用接口和TheanoModels.its的主要开发人员是Google EngineerFran?oisChollet。

  KERAS由代码结构中的面向对象的方法编译。它是完全模块化的,具有可扩展性。其操作机制和描述文档很难纳入用户体验和使用,并试图简化复杂算法的实现。它还可以通过包装参与统计学习模型的构建。在硬件和开发环境方面,KERAS在多操作系统下支持多GPU并行计算,可以将其转换为背景设置下的组件,从CNTK和其他组件。

  作为神经网络的高端包装,Keras可以快速建立神经网络。它的兼容性非常宽,并且与TensorFlow和Theano兼容。

  首先,您需要确保已安装以下两个软件包:

  调用“ PIP3LIST”命令可以看到已成功安装了相关软件包。

  然后通过“ Pip3Install keras”安装它,作者在Anaconda下使用Python3.6版本。

  有关施工过程的详细信息,请参阅本文:

  [Python人工智能]。张力流环境和神经网络的进入

  安装如下所示:

  安装成功后,我们尝试一个简单的代码。打开Anaconda,然后选择已构建的“ Tensorflow”环境,然后运行Spyder。

  测试代码如下:

  运行结果如下图所示,“使用TensorFlow Backnd”是什么。意思是?

  后端是指基于框架(包括Tensorflow或Theano)的操作,上面的代码用于使用TensorFlow进行计算。稍后要解释的神经网络也基于Tensorflow或Theano构建。

  如何查看后端?当我们导入KERAS扩展程序包时,它将具有相应的提示。例如,下图使用Theano来构建基础神经网络。

  如果我想更改为TensorFlow,该怎么办?

  仍然有必要普及此部分的这一部分。指在NetEase Cloud课程中引入NetEases Cloud课程时,清楚而彻底。建议每个人都阅读它。让我们进入神经网络和张力流的世界。

  首先,什么是神经网络?

  计算机神经网络是一种抗生素网络或动物神经中心,尤其是大脑的结构和功能。它是数学模型或计算机模型。神经网络通过大量神经元连接并计算出来。在大多数情况下,人工神经网络可以根据外部信息来改变内部结构,这是一个自适应过程。

  现代神经网络是基于传统统计建模的工具。它通常用于建模输入和输出之间的复杂关系,或探索数据之间的模式。神经网络是一种操作模型。Yuan及其连接组成都有大量的节点或神经。就像人类神经元一样,它们负责传输信息和处理信息。神经元也可以接受训练或加强以形成固定神经形式,对特殊信息具有更强的反应。

  神经网络如何工作?

  如上图所示,这是猫跳还是悄悄地思考,您知道这是一只猫,因为您的大脑被告知圆形的眼睛,毛茸茸和尖锐的耳朵被告知是猫。您可以通过成熟的视觉神经系统判断这是一只猫。计算机也是如此。通过连续训练,它告诉哪些猫,狗是狗和猪。他们将通过数学模型总结这些学习判断,并最终以数学的形式进行分类(0或1)。在现在,Google和Baidu的图片搜索可以清楚地识别出事情,这要归功于计算机神经系统的快速发展。

  神经网络系统由多层神经层组成。为了区分不同的神经层,我们分为:

  神经网络示例描述

  如下图所示,一般来说,处理的事物与人类不同的事情与人类不同。无论是声音,图片还是文本,它们都只能出现在数字0或1的计算机神经网络中。神经网络看到的图片实际上是一堆数字。数字的处理最终产生了另一个数字,并且具有一定的认知意义。可以了解到,计算机是通过少量处理来决定的。还有一只狗。

  如何计算机培训?

  首先,需要大量数据。例如,如果需要计算机来判断它是猫还是狗,则需要准备数千万的标签,然后进行数千万培训。猫通过训练或加强学习猫。

  我们需要做的是仅显示计算机的图片,然后让我们给我们一个不成熟和不准确的答案。在100个答案中,有10%是正确的。如果将图片放在计算机上是匆忙的(如下所示),但是计算机可以被识别为狗。尽管它标识了错误,但此错误对于计算机非常有价值。您可以将这种错误经验用作一个。

  那么计算机如何学习体验?

  这是预测答案的比较和真实答案之间的差异,然后将此差异传递回相反,修改神经元的重量,并将每个神经元更改为正确的方向。计算机识别的准确率将为通过所有改进的神经网络的改进。每次,每次添加数百万次的训练都将朝着正确的方向迈出一大步。

  当接受后,当计算机再次显示猫的图片时,它可以正确预测这是猫。

  什么是激励功能?

  然后看看如何训练神经网络。事实证明,计算机中的每个神经元都具有激励功能(主动功能),我们可以使用这些激励功能使计算机具有刺激性的行为。当我们首先向猫展示猫时第一次,仅在神经网络中激活或激励一些神经元。

  如果预测的结果是狗,则将调整所有神经元的参数。目前,一些容易激活的神经元会变得乏味,而其他神经元将变得敏感。元参数正在修改,并且对图片的真实重要信息变得敏感,因此修改后的参数可以逐渐预测正确的答案。这是一只猫。这是神经网络的处理过程。

  推荐的上一篇文章:[Python人工智能] 2. TensorFlow Foundation和一个-Yuan线性预测案例,最终输出结果如下所示:

  1.进口扩展程序包

  顺序(顺序模型)意味着建立一个模型。它是从头到尾的最简单的线性,结构性顺序。浓度是层中的属性,表明完整的连接层。Keras还可以实现各种层,包括核心核心层,卷积卷积层和池池(例如)非常丰富且有趣的网络结构。

  2.创建分散的点数据

  通过numpy.linspace随机生成200个散射点,并构建y = 0.5*x+2的虚拟数据,并调用np.random.normal.normal(0,0.05,(200,))以增加噪声。

  在这里,散点图通过matplotlib简要绘制。输出结果如下图所示,基本上满足:y = 0.5*x + 2 +噪声。

  3.添加神经网络层

  PS:您是否觉得Keras代码比Tensorflow和Theano简单得多,但是建议您先学习前者,然后深入研究。

  4.培训和输出错误

  5.测试神经网络和输出误差重量和偏见

  6.绘制预测图形

  输出结果如下所示:

  误差从4.002261下降到0.0030148015,这表明知识是学习的。在同一时间,误差为0.47052705接近我们的初始值0.5,而偏置至1.9944116也接近2。

  完整的代码如下:

  以下补充代码比较了每个训练阶段的拟合阶段的直线。您可以看到,随着训练数量的增加,错误逐渐减少,拟合线正在越来越好。

  本文分享了华为云社区的诚意,作者:Eastmount。