模型训练基本

pytorch训练技巧

使用DataLoaders

DataLoader中的workers数量  允许批量并行加载。因此,您可以一次装载nb_workers个batch,而不是一次装载一个batch。

loader = DataLoader(dataset, batch_size=32, shuffle=True, num_workers=10)

Batch size

在开始下一个优化步骤之前,将batch size增大到CPU-RAM或GPU-RAM所允许的最大范围。

下一节将重点介绍如何帮助减少内存占用,以便你可以继续增加batch size。

记住,你可能需要再次更新你的学习率。一个好的经验法则是,如果batch size加倍,那么学习率就加倍。

梯度累计

保留的计算图

移动到单个

16-bit 混合精度训练

移动到多个GPUs中(模型复制)

移动到多个GPU-nodes中 (8+GPUs)

思考模型加速的技巧

什么是模型参数?

简单来说,模型参数就是模型内部的配置变量,可以用数据估计它的值。

具体来讲,模型参数有以下特征:

(1)进行模型预测时需要模型参数
(2)模型参数值可以定义模型功能
(3)模型参数用数据估计或数据学习得到
(4)模型参数一般不由实践者手动设置
(5)模型参数通常作为学习模型的一部分保存

通常使用优化算法估计模型参数,优化算法是对参数的可能值进行的一种有效搜索。

模型参数的一些例子包括:

(1)人工神经网络中的权重
(2)支持向量机中的支持向量
(3)线性回归或逻辑回归中的系数

什么是模型超参数?

模型超参数是模型外部的配置,其值不能从数据估计得到。

具体特征有:

(1)模型超参数常应用于估计模型参数的过程中
(2)模型超参数通常由实践者直接指定
(3)模型超参数通常可以使用启发式方法来设置
(4)模型超参数通常根据给定的预测建模问题而调整

怎样得到它的最优值: 对于给定的问题,我们无法知道模型超参数的最优值。但我们可以使用经验法则来探寻其最优值,或复制用于其他问题的值,也可以通过反复试验的方法。

模型超参数的一些例子包括:

(1)训练神经网络的学习速率
(2)支持向量机的C和sigma超参数
(2)k邻域中的k

二者的联系:

当针对特定问题调整机器学习算法时,例如在使用网格搜索或随机搜索时,你将调整模型或命令的超参数,以发现一个可以使模型预测最熟练的模型参数。许多模型中重要的参数无法直接从数据中估计得到。例如,在K近邻分类模型中…这种类型的模型参数被称为调整参数,因为没有可用的分析公式来为其计算一个合适的值。

两者的区别:

模型超参数通常被称为模型参数,这种叫法很容易让人产生误解。解决这个问题的一个很好的经验法则如下:如果你必须手动指定一个“模型参数”,那么它可能就是一个模型超参数。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Carlosi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值