常用代码记录

本文介绍了如何使用visdom进行代码调试,并详细讲解了如何在PyTorch中停止不必要的计算图构建,以及如何在模型测试阶段正确运用全局Batch Normalization (BN)和Dropout。通过实例演示了如何在训练过程中保持BN的稳定性和Dropout的全连接模式。
摘要由CSDN通过智能技术生成

一、调试

1.1 visdom

visdom可视化需要在命令行中开启服务器:

// 开启visdom服务器
python -m visdom.server

接着在本地浏览器输入 http://localhost:8097/ 即可打开可视化窗口。

二、训练

2.1

三、测试

3.1 停止计算图的构建

// 被包含在内的计算,没有梯度等信息
with torch.no_grad():

在使用pytorch时,并不是所有的操作都需要进行计算图的生成(计算过程的构建,以便梯度反向传播等操作)。而对于tensor的计算操作,默认是要进行计算图的构建的,在这种情况下,可以使用 with torch.no_grad():,强制之后的内容不进行计算图构建。

3.2 使用全局BN和Dropout

// model.eval()是保证BN层能够用全部训练数据的均值和方差,即测试过程中要保证BN层的均值和方差不变。
// 对于Dropout,model.eval()是利用到了所有网络连接,即不进行随机舍弃神经元。
model.eval()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值