提斯训练Pythorch模型更快。。。
tez的Python项目详细描述
提兹:火车Pythorch型号Fasterrrr
注意:目前,我们不接受任何请求!所有PRs将关闭。如果你想要某个功能或某个功能不工作,请创建一个问题。在
tez(त2375; 2395;/تیز)的意思是锐利、快速和活跃。这是一个简单的,重点,图书馆,使你的Pythorch培训容易。在
注意:此库目前处于非常早期的阶段!所以,可能会有突破性的变化。在
关于tez的想法很简单:
- 把事情尽可能简单
- 让它尽可能的可定制
- 清洁代码
- 更快的原型设计
- 生产准备就绪
目前,tez支持cpu和gpu的培训。更多的很快就要来了!在
使用tez是非常容易的。我们不想让你远离派托克。所以,你什么事都是自己做的,只是用特克斯来简化一些事情。在
使用Tez进行培训:
- 在
要训练模型,请定义数据集和模型。dataset类与编写Pythorch模型时编写的旧类相同。在
在 - 在
创建模型类。不是从
在nn.Module
继承,而是导入tez并从tez.Model
继承,如下例所示。在
classMyModel(tez.Model):def__init__(self):super().__init__()..# tell when to step the schedulerself.step_scheduler_after="batch"defmonitor_metrics(self,outputs,targets):iftargetsisNone:return{}outputs=torch.sigmoid(outputs).cpu().detach().numpy()>=0.5targets=targets.cpu().detach().numpy()accuracy=metrics.accuracy_score(targets,outputs)return{"accuracy":accuracy}deffetch_scheduler(self):# create your own schedulerdeffetch_optimizer(self):# create your own optimizerdefforward(self,ids,mask,token_type_ids,targets=None):_,o_2=self.bert(ids,attention_mask=mask,token_type_ids=token_type_ids)b_o=self.bert_drop(o_2)output=self.out(b_o)# calculate loss hereloss=nn.BCEWithLogitsLoss()(output,targets)# calculate the metric dictionary heremetric_dict=self.monitor_metrics(output,targets)returnoutput,loss,metric_dict
一切都是超直观的!在
- 现在你可以训练你的模特了!在
您可以在examples/
中检查示例
- 项目
标签: