程序处理中的问题

argparse基本用法

命令行参数解析包,可以用来方便地读取命令行参数

参考:argparse基本用法_骑着蜗牛向前跑的博客-CSDN博客_argparse

Visdom

一款可视化工具,实质是一款在网页端的web服务器,在处理图像数据时,可以使用visdom对图像进行可视化

可以对损失等数据进行监听

参考:详解PyTorch可视化工具visdom(一)_奋斗の博客的博客-CSDN博客_visdom

           深度学习可视化工具visdom使用_点亮~黑夜的博客-CSDN博客_visdom

BatchNorm2d

 Batch Normalization的目的是使我们的一批(Batch)feature map满足均值为0,方差为1的分布规律 

BatchNorm2d(256, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)

1.num_features:一般输入参数的shape为batch_size*num_features*height*width,即为其中特征的数量,即为输入BN层的通道数;
2.eps:分母中添加的一个值,目的是为了计算的稳定性,默认为:1e-5,避免分母为0;
3.momentum:一个用于运行过程中均值和方差的一个估计参数(我的理解是一个稳定系数,类似于SGD中的momentum的系数);
4.affine:当设为true时,会给定可以学习的系数矩阵gamma和beta
一般来说pytorch中的模型都是继承nn.Module类的,都有一个属性trainning指定是否是训练状态,训练状态与否将会影响到某些层的参数是否是固定的,比如BN层或者Dropout层。通常用model.train()指定当前模型model为训练状态,model.eval()指定当前模型为测试状态。
同时,BN的API中有几个参数需要比较关心的,一个是affine指定是否需要仿射,还有个是track_running_stats指定是否跟踪当前batch的统计特性。容易出现问题也正好是这三个参数:trainning,affine,track_running_stats。
参考原文:BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解_LS_learner的博客-CSDN博客

数据集 

训练集

        用于训练模型(拟合参数),即模型拟合的数据样本集合,如通过训练拟合一些参数来建立一个分类器

验证集

        用于确定网络结构或者控制模型复杂度的超参数(拟合超参数),模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。 通常用来在模型迭代训练时,用以验证当前模型泛化能力(准确率,召回率等),防止过拟合的现象出现,以决定如何调整超参数。

测试集 

        用来评估模最终模型的性能如何(评价模型好坏):测试集没有参于训练,主要是测试训练好的模型的准确能力等

总结;在训练过程中可以有训练集(参数),验证集(超参数);验证集并不是所有的模型都会使用;测试集(评估);整体分为用于训练的和用于测试的

参考:机器学习笔记:训练集、验证集与测试集_训练集 测试集 验证集_mooyuan天天的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值