# tensorflow-learning **Repository Path**: zhangjuntao/tensorflow-learning ## Basic Information - **Project Name**: tensorflow-learning - **Description**: tensorflow-learning - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-03-18 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # tensorflow-learning ## 文档 * 应用地址 >TensorFlow whl: > >​ https://www.lfd.uci.edu/~gohlke/pythonlibs/#tensorflow > > https://pypi.python.org/pypi/tensorflow/{version:1.6.0} > >​ https://pypi.tuna.tsinghua.edu.cn/simple/{project}/ 【国内清华】 > > > >Gpu Cuda : > >​ https://developer.nvidia.com/cuda-downloads > > > >文档: > >​ https://www.w3cschool.cn/tensorflow_python/ > >代码样例: > https://github.com/tensorflow/tensorflow/blob/r1.6/tensorflow/examples/ > >本地源: > >​ http://blog.csdn.net/lambert310/article/details/52412059 > >训练样本素材: > > http://www.robots.ox.ac.uk/~vgg/data/ > >TensorFlow model: > > https://github.com/tensorflow/models > >比较好的博客: > >https://blog.csdn.net/l691899397/article/details/52267166 > >https://blog.csdn.net/NNNNNNNNNNNNY/article/details/70177509 ## 开发环境搭建: 1、安装`Python` 2、配置pip 国内模块源 3、idea 创建项目,删除idea自己的script 、lib、libs路径。加载python自己的Script、lib、libs路径。 双曲正切函数(tanh)与tf.sigmoid非常接近,且与后者具有类似的优缺点。tf.sigmoid和tf.tanh的主要区别在于后者的值域为[-1.0,1.0]。 ## 优化器比较 [各种优化器参考文档](https://zhuanlan.zhihu.com/p/27449596?utm_source=weibo&utm_medium=social) * SGD 随机梯度下降:**固定学习率** ​ 收敛慢、无法收敛“马鞍”分布的数据样本,收敛模型相对比较准确。 ​ * Monentum 梯度下降:**加速小球** ​ 加速度梯度收敛,收敛速度一般比较快速。有结果不准确,有时候会收敛过头。或者收敛方向错误。 ​ * NAG 梯度下降:**聪明的加速小球** ​ 聪明的加速学习率收敛。当快到达预期的收敛值得时候,会自己减少学习率[收敛]速度。Monentum基本相同,但是优于Monentum。 ​ * Adagard:**稀疏的数据模型【数据模型个体差异大】** ​ 对相近的数据模型,采用比较低的学习率,即使比较小的梯度步进。对待差异大的数据,使用比较大的学习率。 ​ 缺点:相近数据容易学习率趋于0。 ​ * RMS: **于Adagard相似,适合稀疏的数据模型** 于Adagard相似,但是只记录近10次的梯度变化。学习率避免趋于0.【梯度的平方均差】 ​ * AdaDelta:**无参:参数动态化** ​ 防止学习率衰减或梯度消失等问题的出现。计算了动量项momentum,方法的另一个优点是,已经不需要设置一个默认的学习率。 ​ * Adam:**自适应时刻估计** ​ Adam算法即自适应时刻估计方法(Adaptive Moment Estimation),能计算每个参数的自适应学习率。 ​ ###总结: **一般默认的学习率为0.01左右。** ​ 在构建神经网络模型时,选择出最佳的优化器,以便快速收敛并正确学习,同时调整内部参数,最大程度地最小化损失函数。 ​ Adam在实际应用中效果良好,超过了其他的自适应技术。 ​ 如果输入数据集比较稀疏,SGD、NAG和动量项等方法可能效果不好。因此对于稀疏数据集,应该使用某种自适应学习率的方法,且另一好处为不需要人为调整学习率,使用默认参数就可能获得最优值。 ​ 如果想使训练深层网络模型快速收敛或所构建的神经网络较为复杂,则应该使用Adam或其他自适应学习速率的方法,因为这些方法的实际效果更优。