Pytorch函数

***1、Variable:***一种存放tensor变量的方式,pytorch中tensor只能放在CPU上运算,而(variable)变量是可以只用GPU进行加速计算的。

from torch.autograd import Variable
x = Variable(tensor, requires_grad = True)

Varibale包含三个属性:data:存储了Tensor,是本体的数据
grad:保存了data的梯度,本身是个Variable而非Tensor,与data形状一致
grad_fn:指向Function对象,用于反向传播的梯度计算之用
2、 torch.optim.lr_scheduler.ReduceLROnPlateau
当网络的评价指标不在提升的时候,可以通过此函数降低网络的学习率来提高网络性能。

torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer, mode='min', factor=0.1, patience=10, verbose=False, threshold=0.0001, threshold_mode='rel', cooldown=0, min_lr=0, eps=1e-08)

常用:
mode (str) :可选择‘min’或者‘max’,min表示当监控量停止下降的时候,学习率将减小,max表示当监控量停止上升的时候,学习率将减小。默认值为‘min’。
factor: 学习率每次降低多少,new_lr = old_lr * factor
patience=10:容忍网路的性能不提升的次数,高于这个次数就降低学习率。
verbose(bool) - 如果为True,则为每次更新向stdout输出一条消息。 默认值:False
3、

// 选择GPU训练
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
model = model.to(device)

4、随机种子

torch.manual_seed(args.seed)

5、torch的数学计算函数:
torch.reciprocal:返回输入函数的倒数
torch.remainder(input, divisor, out=None):返回input/divisor的余数,不分正负
torch.round:返回元素四舍五入后的整数
torch.trunc:返回去尾法后的整数
6、model.eval():固定BN和dropout层,使得偏置参数不随着发生变化,用在测试模型之前

7、torch.unsqueeze():对数据维度进行扩充。给指定位置加上维数为一的维度,比如原本维度是2X3,在0的位置加了一维torch.unsqueeze(0)就变成1X2X3。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值