fastai v1.0文档学习(三)

训练网络

简介

learner通过lr_find方法找到合适的学习率,通过fit_one_cycle来训练网络,通过to_fp16来转换半精度。

Learner类

方法描述:

Learner(`data`:DataBunch, `model`:Module, `opt_func`:Callable=`'Adam'`, `loss_func`:Callable=`None`, `metrics`:Collection[Callable]=`None`, `true_wd`:bool=`True`, `bn_wd`:bool=`True`, `wd`:Floats=`0.01`, `train_bn`:bool=`True`, `path`:str=`None`, `model_dir`:str=`'models'`, `callback_fns`:Collection[Callable]=`None`, `callbacks`:Collection[Callback]=``, `layer_groups`:ModuleList=`None`)

训练model使用data,通过opt_func使得loss_func最小化。
此类中包含了训练方式、预测方式、学习率的差异学习以及模型的保存等等。
1)fit方法主要设置学习率与权重衰减

fit(`epochs`:int, `lr`:Union[float, Collection[float], slice]=`slice(None, 0.003, None)`, `wd`:Floats=`None`, `callbacks`:Collection[Callback]=`None`)

2)fit_one_cycle是一种呈周期调整学习率的方法,使用如下:

fit_one_cycle(`learn`:Learner, `cyc_len`:int, `max_lr`:Union[float, Collection[float], slice]=`slice(None, 0.003, None)`, `moms`:Point=`(0.95, 0.85)`, `div_factor`:float=`25.0`, `pct_start`:float=`0.3`, `wd`:float=`None`, `callbacks`:Optional[Collection[Callback]]=`None`, `kwargs`)

3)lr_find用来寻找合适的学习率,使用说明如下:

lr_find(`learn`:Learner, `start_lr`:Floats=`1e-07`, `end_lr`:Floats=`10`, `num_it`:int=`100`, `stop_div`:bool=`True`, `kwargs`:Any)

查看模型结果

具体见文档所述方法。

Recorder类

这一类主要是用来记录epoch、loss、opt等,我们可以很轻松的利用这一类中的方法画出损失的变化等图像,如:

learn.recorder.plot_lr(show_moms=True)

底层训练器

具体见文档,是构成learner的底层。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值