当前位置: 首页 > news >正文

TensorFlow学习---tf.nn.dropout防止过拟合

一、 Dropout原理简述:

tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层。

Dropout就是在不同的训练过程中随机扔掉一部分神经元。也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算。但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了。示意图如下:

 

但在测试及验证中:每个神经元都要参加运算,但其输出要乘以概率p。

 

二、tf.nn.dropout函数说明

tf.nn.dropout(x, keep_prob, noise_shape=None, seed=None,name=None) 

上面方法中常用的是前两个参数:

第一个参数x:指输入

第二个参数keep_prob: 设置神经元被选中的概率,在初始化时keep_prob是一个占位符,  keep_prob = tf.placeholder(tf.float32) 。tensorflow在run时设置keep_prob具体的值,例如keep_prob: 0.5

第五个参数name:指定该操作的名字。

三、使用举例:

1、dropout必须设置概率keep_prob,并且keep_prob也是一个占位符,跟输入是一样的

[python] view plain copy

1. keep_prob = tf.placeholder(tf.float32)  

2、train的时候才是dropout起作用的时候,train和test的时候不应该让dropout起作用

[python] view plain copy

1. sess.run(train_step, feed_dict={xs: X_train, ys: y_train, keep_prob: 0.5})  

[python] view plain copy

1. train_result = sess.run(merged, feed_dict={xs: X_train, ys: y_train, keep_prob: 1})  

2. test_result = sess.run(merged, feed_dict={xs: X_test, ys: y_test, keep_prob: 1})  

转载于:https://www.cnblogs.com/Ph-one/p/9400235.html

相关文章:

  • 神经网络优化算法如何选择Adam,SGD
  • tf.nn.relu
  • tf.nn.max_pool
  • 【TensorFlow】tf.nn.max_pool实现池化操作
  • git博客好的例子
  • 桌面版Ubuntu系统固定IP设置和Network-manager设置
  • ubuntu----VMware 鼠标自由切换问题及主机虚拟机共享剪切板问题
  • markdownpad2-注册码-2017-02-23
  • zynq基础--linux下软件应用
  • tftp 传输文件
  • TensorFlow模型保存和加载方法
  • OpenCV常用库函数[典]
  • https://blog.csdn.net/dayancn/article/details/54692111
  • 用C++调用tensorflow在python下训练好的模型(centos7)
  • 如何用Tensorflow训练模型成pb文件和和如何加载已经训练好的模型文件
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android交互
  • Consul Config 使用Git做版本控制的实现
  • css属性的继承、初识值、计算值、当前值、应用值
  • es的写入过程
  • iOS 系统授权开发
  • JavaScript 奇技淫巧
  • js面向对象
  • PHP那些事儿
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • 百度地图API标注+时间轴组件
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
  • 面试遇到的一些题
  • 《天龙八部3D》Unity技术方案揭秘
  • ionic入门之数据绑定显示-1
  • MPAndroidChart 教程:Y轴 YAxis
  • 容器镜像
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • $(document).ready(function(){}), $().ready(function(){})和$(function(){})三者区别
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (3)(3.2) MAVLink2数据包签名(安全)
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)php投票系统 毕业设计 121500
  • (附源码)计算机毕业设计SSM疫情居家隔离服务系统
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (原創) X61用戶,小心你的上蓋!! (NB) (ThinkPad) (X61)
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)Linux网络编程入门
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .Net(C#)自定义WinForm控件之小结篇
  • .pop ----remove 删除
  • .pub是什么文件_Rust 模块和文件 - 「译」
  • [ 手记 ] 关于tomcat开机启动设置问题
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...