训练火把模型的工具包
pt-trainer的Python项目详细描述
简介
该软件包包含一个培训师课程,简化了模型培训和结果记录。 训练器类是使用MIXIN模块化的方式设计的。 这种方法可以用于扩展其功能,使其超出当前提供的范围。 此外,该类还使用了一个事件模式,该模式允许用户注册将在培训的指定点执行的事件处理程序。 trainer类可以在trainer.py中找到。 所有的混音都存储在MysIn。 module events.py包含可能事件的定义,utils.py包含其他杂项代码。
安装
只需使用pip install pt-trainer
用法
通过传递pytorch模型(继承自nn.module)、pytorch dataloader实例、优化器(pytorch或apex)和接受模型预测和目标并返回损失张量的损失函数来初始化训练器实例。 或者,可以从配置文件创建培训师。 配置文件应该是另一个python文件,并包含以下变量:
- 模型:模型的类
- 数据集:数据集的类
- 损失:损失函数的类
- 优化器:优化器的类
- logdir:写入培训师生成的文件的目录的路径
- 型号:dict,型号为kwargs
- 数据集:dict with kwargs for dataset
- dataloader:dict with kwargs用于包装数据集的dataloader
- 损失:以夸尔格表示损失的dict
- 优化器:dict with kwargs for优化器
- 培训师:带Kwargs的Dict用于培训师课程,例如Split_示例
可选地,可以指定apex变量和apex dict来包装优化器。
初始化后,可以使用方法register_event_handler注册事件处理程序,指定处理程序及其将被调用的事件。 有四个可能的事件:训练前,每一步,每一个时代和训练后。
然后使用train方法执行训练,并通过n个阶段或n个步骤。
示例
在名为“examples”的文件夹中,我建立了一个简单的例子,在mnist的一部分上训练一个前馈神经网络。 此示例说明如何设置配置和如何使用培训师。如果你想跑dummy_training.py 训练模特。