基于PyTorch的神经网络训练流水线。旨在规范培训过程并提高编码性能
piepline的Python项目详细描述
皮耶普林
基于PyTorch的神经网络训练流水线。旨在规范训练过程和加速实验。在
- 核心是大约2K行,由测试覆盖,您不需要再编写
- 灵活可定制的培训流程
- 检查点管理和列车进程恢复(独立于源设备和目标设备)
- 通过内置(tensorboard,Matplotlib)或自定义监视器进行度量处理和可视化
- 培训最佳实践(例如学习率衰减和硬负面挖掘)
- 指标记录和比较(DVC兼容)
入门:
文档
参见示例
PiePline简介:
importtorchfromneural_pipeline.builtin.monitors.tensorboardimportTensorboardMonitorfromneural_pipeline.monitoringimportLogMonitorfromneural_pipelineimportDataProducer,TrainConfig,TrainStage,\ ValidationStage,Trainer,FileStructManagerfromsomethigimportMyNet,MyDatasetfsm=FileStructManager(base_dir='data',is_continue=False)model=MyNet().cuda()train_dataset=DataProducer([MyDataset()],batch_size=4,num_workers=2)validation_dataset=DataProducer([MyDataset()],batch_size=4,num_workers=2)train_config=TrainConfig(model,[TrainStage(train_dataset),ValidationStage(validation_dataset)],torch.nn.NLLLoss(),torch.optim.SGD(model.parameters(),lr=1e-4,momentum=0.5))trainer=Trainer(train_config,fsm,torch.device('cuda:0')).set_epoch_num(50)trainer.monitor_hub.add_monitor(TensorboardMonitor(fsm,is_continue=False))\ .add_monitor(LogMonitor(fsm))trainer.train()
这个例子是用Tensorflow中的Visualization和metrics logging在MyDataset上训练MyNet,以便进行进一步的实验比较。在
安装:
pip install piepline
对于builtin
模块使用install:
pip install tensorboardX matplotlib
在最新版本发布到PyPi之前安装它
pip install -U git+https://github.com/PiePline/piepline
- 项目
标签: