前言
上次说到了复现模型,欠着训练和评测都没讲,这周把训练评测都搞定了,然后又复现了一篇新的,有一个感触就是深度学习这些模型看着感觉怪吓人,但是代码逻辑不是特别复杂;而且自己写一写这些代码,真的感觉入了门,以及pytorch forum竟然给我发了邮件说把我提升了用户评级(因为我经常看他们博客)hh~
这一篇也主要分享一些看到的好的博客,以及遇到的各种困难, 还有解决的过程。
数据处理
之前搬了微软在TensorFlow平台实现的手写iterator到Pytorch上,心里其实一直有个疙瘩因为没有用pytorch自带的Datasets和Dataloader,再加上新复现的模型有一些特别的要求,我想的就索性重构一下原来手写的Iterator,实现过程调用了好几个torchtext的api(因为感觉很帅hh),但是我中间测试了一下发现新写的比原来的慢了5s。。。 具体原因还在探究,心态血崩后觉得以后还是不能盲目崇拜,有时候原始丑陋的代码也是很管用的。
训练
训练过程其实没啥说的,有一个好东西叫做tqdm是python的一个包,可以包装iterator然后动态显示进程。个性化显示数据等等,截张图放下面hh

我这里数据及比较小(毕竟还没传服务器),大家可以自己去试试效果。
测试
要评测模型肯定少不了各种metric,sklearn.metrics里面有很多api都很方便,比如roc_auc_

本文分享了作者在复现深度学习模型过程中关于数据处理、训练、测试的经验。通过重构数据迭代器,作者体会到代码逻辑并非想象中复杂,并提醒不要盲目崇拜原始代码。使用`tqdm`库进行训练过程的动态显示,利用`torchmetrics`进行模型评估。目前,作者已将模型训练和评测封装为外部函数,并提供了代码仓库链接供读者参考。
最低0.47元/天 解锁文章
1万+





