• 神经网络的三种训练方法,神经网络训练速度


    如何用Tensorflow 快速搭建神经网络

    MNIST数据集上,搭建一个简单神经网络结构,一个包含ReLU单元的非线性化处理的两层神经网络。

    在训练神经网络的时候,使用带指数衰减的学习率设置、使用正则化来避免过拟合、使用滑动平均模型来使得最终的模型更加健壮。

    程序将计算神经网络前向传播的部分单独定义一个函数inference,训练部分定义一个train函数,再定义一个主函数main。

    二、分析与改进设计1.程序分析改进第一,计算前向传播的函数inference中需要将所有的变量以参数的形式传入函数,当神经网络结构变得更加复杂、参数更多的时候,程序的可读性将变得非常差。

    第二,在程序退出时,训练好的模型就无法再利用,且大型神经网络的训练时间都比较长,在训练过程中需要每隔一段时间保存一次模型训练的中间结果,这样如果在训练过程中程序死机,死机前的最新的模型参数仍能保留,杜绝了时间和资源的浪费。

    第三,将训练和测试分成两个独立的程序,将训练和测试都会用到的前向传播的过程抽象成单独的库函数。这样就保证了在训练和预测两个过程中所调用的前向传播计算程序是一致的。

    2.改进后程序设计该文件中定义了神经网络的前向传播过程,其中的多次用到的weights定义过程又单独定义成函数。

    通过tf.get_variable函数来获取变量,在神经网络训练时创建这些变量,在测试时会通过保存的模型加载这些变量的取值,而且可以在变量加载时将滑动平均值重命名。

    所以可以直接通过同样的名字在训练时使用变量自身,在测试时使用变量的滑动平均值。该程序给出了神经网络的完整训练过程。在滑动平均模型上做测试。

    通过tf.train.get_checkpoint_state(mnist_train.MODEL_SAVE_PATH)获取最新模型的

  • 相关阅读:
    Vue3 ~
    药物从研发到上市需要经历哪些流程?||新药研发
    固定资产管理措施怎么写
    SpringBoot自定义classloader加密保护class文件
    在 Buildroot 文件系统中,/etc/profile.d/ 和 /etc/init.d/ 目录下的脚本执行顺序
    sql跨表查询的三种方案
    IOS OpenGL ES GPUImage 图像镜像 GPUImageTransformFilter
    分享 2022 年最受欢迎的黑科技工具(二)
    视频基础知识
    数据结构——AVL树(详解 + C++模拟实现)
  • 原文地址:https://blog.csdn.net/super67269/article/details/126743963