基于PyTorch的神经网络训练流水线。旨在规范培训过程并提高编码性能

piepline的Python项目详细描述


皮耶普林

基于PyTorch的神经网络训练流水线。旨在规范训练过程和加速实验。在

Build StatusCoverage StatusMaintainabilityGitter chat

  • 核心是大约2K行,由测试覆盖,您不需要再编写
  • 灵活可定制的培训流程
  • 检查点管理和列车进程恢复(独立于源设备和目标设备)
  • 通过内置(tensorboardMatplotlib)或自定义监视器进行度量处理和可视化
  • 培训最佳实践(例如学习率衰减和硬负面挖掘)
  • 指标记录和比较(DVC兼容)

入门:

文档

Documentation Status

参见示例

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,以便进行进一步的实验比较。在

安装:

PyPI versionPyPI Downloads/MonthPyPI Downloads

pip install piepline

对于builtin模块使用install:

pip install tensorboardX matplotlib

在最新版本发布到PyPi之前安装它

pip install -U git+https://github.com/PiePline/piepline

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
netbeans根据命名约定返回布尔类的getter的Java名称   java如何在MessageFormat中使用单引号   java如何在整数数组中只对奇数排序,而将偶数保留在其原始位置?   自定义ArrayAdapter中未定义java构造函数   java joda时间格式化程序解析yyyyymmdd(额外一小时)   java Spring引导控制器测试始终返回404   java如何提取类文件以获取该类文件中的类?   JTable java列不会显示   java Selenium Web驱动程序输出错误的Web表行数   当应用程序在mac上打开时,java SWT选项卡项会从页面上消失   java如何将html文件映射到过滤器   swing Java计算一段时间内两点之间的转换   javawebsphere和javax。xml。ws。spi。提供者:提供者组织。阿帕奇。axis2。jaxws。spi。提供者不是子类型   For循环在Java中没有按预期继续?   java如何配置gson以排除0个整数值   java读取一个由tab分隔的文件,并将单词放入ArrayList中   java我需要做什么才能让LiveConnect重新工作?   sqlservermerge2xml&使用java提取这些数据并将其存储在db表中   java如何在模型中添加新对象时通知网格