Pytorch踩坑记录

相同点
net.eval()和with toch.no_grad()的相同点:都停止反向传播

不同点:
1、net.eval()
用net.eval(),此时BN层会用训练时的均值和方差。不重新计算输入数据的均值和方差,dropout会让所有激活单元都通过。

2、with toch.no_grad()
用with no grad(),BN层仍会计算输入数据的方差和均值,DropOut会按照设定的比例停止某些激活单元的传输。

对于测试集来说,要使用net.eval,因为使用with no_grad()计算了BN层会导致数据泄露的问题。
对于验证集来说,则使用哪个都可以。

经过我个人测试发现,在使用with toch.no_grad(),和net,eval()上的精度完全不一样。
如果训练的时候把测试集当作验证集,此时使用with toch.no_grad()来阻止反向传播,保存的模型,加载时调用test文件时使用net,eval,测试的精度会更低。

因此,如果把测试集做验证集使用,应该使用net,eval()。而如果是使用了验证集,验证集的数据不与测试集交叉,则用哪个都行。

仅个人拙见。

Pytorch踩坑记录:关于用net.eval()和with no grad装饰器计算结果不一样的问题相关推荐

  1. PyTorch踩坑记录

    使用Pytorch也一年多了,记录一下自己遇到的各种问题. 各种踩坑记录 loss.backward()报错 一种非常常见的错误,在网络前向传播时没问题,但是当loss.backward()时会报错 ...

  2. PyTorch踩坑记录——torch.functional 与 torch.nn.functional的区别

    问题描述: 提示:刚入门深度学习,记录一些犯下的小错误: 由于本周开始试图复现华为的CTR库以增加记忆,熟悉代码细节,没想到第一天看基础模块的时候就遇到了麻烦,在torch.utils类中,有如下获取 ...

  3. 在linux上运行python脚本(安装pytorch踩坑记录,pyinstaller使用方式,构建docker镜像)

    背景 脚本需要导入pytorch等库才能运行. 脚本在windows上运行成功,尝试放到linux上运行. linux服务器内存较小. 方法一:在linux上安装依赖 把脚本放到linux上,直接安装 ...

  4. 微软NNI进行神经网络模型剪枝压缩的踩坑记录

    微软NNI进行神经网络模型剪枝压缩的踩坑记录 NNI进行模型剪枝分类 NNI剪枝的流程 NNI现有剪枝方法 剩下的剪枝操作比较复杂还没有研究透,不过应该大同小异,有机会继续研究更新. 最近做毕设嵌入式 ...

  5. TVM: Deep Learning模型的优化编译器(强烈推荐, 附踩坑记录)

    本文作者是阿莱克西斯,原载于知乎,雷锋网(公众号:雷锋网)获得授权转载. (前排提醒,本文的人文内容部分稍稍带有艺术加工,请保持一定的幽默感进行阅读) 关注我最近想法的同学应该知道我最近都在把玩 TV ...

  6. Detectron2 win10踩坑记录

    Detectron2 win10踩坑记录 安装CUDA clone到本地 修改cocoeval.cpp第483行(不同版本行数不一样) 创建虚拟环境 安装pycocotools 安装VS2019或者生 ...

  7. Win10+yolov5 踩坑记录

    Windows10下配置yolov5环境 踩坑记录 起因随笔 基本的环境要求 yolov5各代码作用 踩坑的Package windwos下torch和torchvision的安装 windows下p ...

  8. Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack3.3,python2.7,torch1.2,torchvision0.2.2)

    本文总结了自带系统安装cuda等深度学习环境和使用jetpack3.3刷机的步骤,虽然自己的代码没用上,但有需要的人可以参考一下. PS:Jetpack4.5的刷机教程请移步另一篇文章: xyl-50 ...

  9. Nvidia Jetson TX2 详细刷机教程及踩坑记录(Jetpack4.5.1,python3.6,torch1.6,torchvision0.7)

    最近接触到了Nvidia Jetson TX2这块开发板,想入手测试一下自己的深度学习模型,因此和TX2的故事开始了! 前言 本人刷机多次,尝试各种大小坑: 自带系统搭建环境:刚开始不想刷机,就自己手 ...

最新文章

  1. android位置传感器
  2. [Catalan数三连]网格有趣的数列树屋阶梯
  3. CMake 手册详解(五)
  4. [转载] 使用 Web 标准生成 ASP.NET 2.0 Web 站点
  5. UIMenuController 和 UIResponderStandardEditActions
  6. flex里播放声音的方法
  7. poj 3243 Clever Y(Baby-Step Giant-Step)
  8. 8数据提供什么掩膜产品_喜茶、茶百道、书亦、古茗8月外卖热销产品数据全解析...
  9. steam一键授权工具_您有【小米电话手表、小米手写板或STEAM实验套装】待领取...
  10. 学习笔记(01):ThreeJS视频教程-了解着色器基础
  11. 乐理matlab频率表,【基本乐理】十二平均律、半音、全音与度数
  12. AD9的PCB技巧——覆铜的规则设置
  13. 计算机boot指令,计算机基本知识(8001)---MBR(master boot record)主引导记录
  14. 【中医学】8 中药-1
  15. 数据结构系列-队列的基本操作
  16. 微信小程序——mock.js模拟后台交互
  17. AutoRun类型分析
  18. 满足国六标准通用型故障诊断仪:Q-OBD
  19. 关于在onclick事件传参
  20. 一个长二进制串,求除3的余数

热门文章

  1. 三国志英杰传高级玩法
  2. php建模,如何建模和跟踪PHP中的目标需求
  3. java的书写工具哪个好_学习硬笔书法的时候,用那种书写工具比较好?
  4. Python基于Flask框架实现视频直播,电脑桌面录屏web端展示,远程控制电脑
  5. linux java -jar 使用
  6. 美股 基础知识2-常见问答
  7. 小米空气净化器滤芯RFID解密
  8. STM32——MG90S数字舵机驱动
  9. leetcode 字符串之单词
  10. SpringSecurity学习笔记(三)自定义资源拦截规则以及登录界面跳转