TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题
一:适用范围:
tf.nn.dropout是TensorFlow里面为了防止或减轻过拟合而使用的函数,它一般用在全连接层
二:原理:
dropout就是在不同的训练过程中随机扔掉一部分神经元。也就是让某个神经元的激活值以一定的概率p,让其停止工作,这次训练过程中不更新权值,也不参加神经网络的计算。但是它的权重得保留下来(只是暂时不更新而已),因为下次样本输入时它可能又得工作了
三:函数介绍:
tf.nn.drop(x, keep_prob, noise_shape=None, seed=None,name=None)
x: 输入值
keep_prob: float类型,每个元素被保留下来的概率
noise_shape: 一个1维的int32张量,代表了随机产生“保留/丢弃”标志的shape
四:举例说明:
# -*- coding: utf-8 -*- # @Time : 18-5-27 下午3:34 # @Author : payneLi # @Email : lph0729@163.com # @File : tf_nn_dropout.pyimport tensorflow as tf import numpy as np""" 测试Tensor经过dropout()的效果:1.输入与输出的Tensor的shape相同;2.随机使某些元素值为0,非零元素为:对应值/keep_prob """ dropout = tf.placeholder(tf.float32) x = tf.reshape(np.array(range(36), dtype=np.float32), [6, 6]) y = tf.nn.dropout(x, dropout) print(x, y)init = tf.global_variables_initializer() with tf.Session() as sess:sess.run(init)print(sess.run(x))print(sess.run(y, feed_dict={dropout: 0.5})) ----> 运行结果: x :
[[ 0. 1. 2. 3. 4. 5.]
[ 6. 7. 8. 9. 10. 11.]
[12. 13. 14. 15. 16. 17.]
[18. 19. 20. 21. 22. 23.]
[24. 25. 26. 27. 28. 29.]
[30. 31. 32. 33. 34. 35.]]
y :
[[ 0. 0. 4. 6. 8. 0.]
[ 0. 0. 16. 0. 20. 22.]
[24. 26. 28. 0. 0. 0.]
[ 0. 38. 40. 0. 44. 46.]
[48. 0. 0. 54. 56. 58.]
[60. 0. 0. 66. 68. 0.]]
转载于:https://www.cnblogs.com/lph-shares/p/9096489.html
TensorFlow之tf.nn.dropout():防止模型训练过程中的过拟合问题相关推荐
- 模型训练过程中产生NAN的原因分析
模型训练过程中产生NAN的原因分析 在模型的训练过程中发现,有时在经过多轮训练后loss会突然变为nan.loss变为nan也就使权重更新后的网络里的参数变为了nan,这样就使整个训练无法再进行下去了 ...
- R语言使用keras包实现包含多个全连接层的二分类预测模型:在模型训练过程中动态可视化每个epoch后的loss值以及accuray值
R语言使用keras包实现包含多个全连接层的二分类预测模型:在模型训练过程中动态可视化每个epoch后的loss值以及accuray值 目录
- 解决模型训练过程中显存不释放,不断累加导致爆显存
问题:在模型训练的过程中,自己手动加入了每隔2000轮测试一下模型在测试集上的效果,结果24G的显存每次到4000轮也就是测试两次就爆掉显存了,后来通过验证找到了问题,并且在测试代码段最后加入torc ...
- 【模型训练-loss】模型训练过程中train, test loss的关系及原因
网上查找了一些资料,避免忘记了,做个笔记供以后参考 train loss 不断下降,test loss不断下降,说明网络仍在学习; train loss 不断下降,test loss趋于不变,说明网络 ...
- 【深度学习】Tensorboard可视化模型训练过程和Colab使用
[深度学习]Tensorboard可视化模型训练过程和Colab使用 文章目录 1 概述 2 手撸代码实现 3 Colab使用3.1 详细步骤3.2 Demo 4 总结 1 概述 在利用TensorF ...
- 在训练过程中加入Dropout
Dropout是在训练过程中,随机地忽略部分神经元--也就是说,在正向传播的过程中,这些被忽略的神经元对下游神经元的贡献效果暂时消失,在反向传播中,这些神经元也不会有任何权值的更新. Dropout的 ...
- 详解tf.nn.dropout
tensoflow中有两个dropout函数容易混淆 tf.nn.dropout 中参数 keep_prob :每一个元素被保存下的概率. tf.layer.dropout 中参数 rate :每一个 ...
- tf.nn.dropout和tf.keras.layers.Dropout的区别(TensorFlow2.3)与实验
这里写目录标题 场景:dropout和Dropout区别 问题描述: 结论: 深层次原因:dropout是底层API,Dropout是高层API 场景:dropout和Dropout区别 全网搜索tf ...
- 【TensorFlow】tf.nn.softmax_cross_entropy_with_logits中的“logits”到底是个什么意思?
tf.nn.softmax_cross_entropy_with_logits中的"logits"到底是个什么意思?_玉来愈宏的随笔-CSDN博客 https://blog.csd ...
最新文章
- Ubuntu 上更新 Flash 插件
- Lombok — Java代码自动生成 开发利器
- MySQL技术内幕读书笔记(一)——Mysql体系结构和存储引擎
- java freemarker 分页_10小时入门java开发04 springboot+freemarker+bootstrap快速实现分页功能...
- 【转】ARM 之七 主流编译器(armcc、iar、gcc for arm、LLVM(clang))详细介绍
- 信息学奥赛一本通(1326:【例7.5】 取余运算(mod))
- 10kv配电网潮流 matlab,关于用matlab计算配电网三相潮流计算,请大家帮忙检验下!...
- jsonarray转化list对象_第8篇:Cython的面向对象--Python类 vs Cython扩展类
- 简单粗暴Tensorflow 2.0
- IOS contentOffset该如何理解
- 从 global.console 看 Node.js 中的作用域
- DevExpress 小结
- 华为交换机路由器登陆密码详细操作
- shader里的uv是什么
- 为什么使用 LinkedIn 进行联盟营销活动?
- 即将拉开序幕!武汉市人工智能领域技术成果征集内容、范围和相关要求
- ext2与ext3的区别
- ブランドは、同社とその製品、サービス
- django报错ERRORS:?: (admin.E402) ‘django.contrib.auth.context_processors.auth‘
- vue3+ts+ant-table横向表格数据实现对单元格过滤之后的数据进行标红
热门文章
- php.ini-dist和php.ini区别,php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)...
- oracle书写高质量sql,干货!SQL性能优化,书写高质量SQL语句
- scrapy 中爬取时被重定向_一篇文章教会你理解Scrapy网络爬虫框架的工作原理和数据采集过程...
- java nio.Buffer的属性变化
- php utf不执行,PHP和UTF-8-为什么邮件不起作用?
- oracle 无法弹出图形界面,Xshell 5 不能弹出GUI 图形界面问题
- mysql杨辉三角_实现杨辉三角
- 预付卡管理信息系统_校园寝室桶装水配送管理信息系统分析和设计
- 关于python的全局变量和局部变量、以下描述错误的是_Python:全局变量与局部变量的问题...
- GCN(一)数据集介绍