催化剂。Pythorch DL&RL研究的高级实用程序。
catalyst的Python项目详细描述
Pythorch DL&RL研究的高级实用程序。 它的开发重点是重现性, 快速的实验和代码/思想重用。 能够研究/开发新事物, 而不是写另一个常规的列车循环。
打破循环-使用催化剂!
安装
常见安装:
pip install -U catalyst
更多具体要求:
pip install catalyst[dl]# installs DL based catalyst with Weights & Biases support pip install catalyst[rl]# installs DL+RL based catalyst pip install catalyst[drl]# installs DL+RL based catalyst with Weights & Biases support pip install catalyst[contrib]# installs DL+contrib based catalyst pip install catalyst[all]# installs everything. Very convenient to deploy on a new server
Catalyst与:Python3.6+兼容。喷灯0.4.1+。
文档和示例
在examples folder中 在存储库中,您可以找到高级教程和Catalyst最佳实践。
要了解更多关于catalyst内部的信息并了解最重要的特性,您可以阅读我们的博客Catalyst-info,在这里我们定期编写有关框架的事实。
概述
Catalyst帮助您编写Compact 但功能齐全的dl&rl管道只需要几行代码。 你会得到一个训练循环,包括指标、提前停止、模型检查点 以及其他没有样板的功能。
功能
- 通用列车/推理回路。
- 模型/数据超参数的配置文件。
- 再现性-所有源代码和环境变量都将被保存。
- 回调-可重复使用的列车/推理管道部件。
- 培训阶段支持。
- 易于定制。
- Pythorch最佳实践(SWA、ADAMW、1周期、FP16及更多)。
结构
- dl——训练和推理的跑步者,
所有经典的机器学习和计算机视觉度量
以及各种各样的回拨,用于培训、验证
以及神经网络的推理。
- rl–可扩展强化学习,
策略与非策略算法及其改进
提供分布式训练支持。
- contrib-Catalyst用户贡献的其他模块。
- data-用于数据处理的有用工具和脚本。
入门:使用Catalyst 30秒
importtorchfromcatalyst.dlimportSupervisedRunner# experiment setuplogdir="./logdir"num_epochs=42# dataloaders={"train":...,"valid":...}# model, criterion, optimizermodel=Net()criterion=torch.nn.CrossEntropyLoss()optimizer=torch.optim.Adam(model.parameters())scheduler=torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer)# model runnerrunner=SupervisedRunner()# model trainingrunner.train(model=model,criterion=criterion,optimizer=optimizer,scheduler=scheduler,loaders=loaders,logdir=logdir,num_epochs=num_epochs,verbose=True)
- dl——训练和推理的跑步者, 所有经典的机器学习和计算机视觉度量 以及各种各样的回拨,用于培训、验证 以及神经网络的推理。
- rl–可扩展强化学习, 策略与非策略算法及其改进 提供分布式训练支持。
- contrib-Catalyst用户贡献的其他模块。
- data-用于数据处理的有用工具和脚本。
入门:使用Catalyst 30秒
importtorchfromcatalyst.dlimportSupervisedRunner# experiment setuplogdir="./logdir"num_epochs=42# dataloaders={"train":...,"valid":...}# model, criterion, optimizermodel=Net()criterion=torch.nn.CrossEntropyLoss()optimizer=torch.optim.Adam(model.parameters())scheduler=torch.optim.lr_scheduler.ReduceLROnPlateau(optimizer)# model runnerrunner=SupervisedRunner()# model trainingrunner.train(model=model,criterion=criterion,optimizer=optimizer,scheduler=scheduler,loaders=loaders,logdir=logdir,num_epochs=num_epochs,verbose=True)
有关catalyst.rl的介绍,请按照OpenAI Gym example。
码头工人
请看docker folder 了解更多信息和示例。
贡献指南
我们感谢所有的贡献。 如果你打算提供错误修复, 请不要进一步讨论。 如果您计划提供新功能、实用程序功能或扩展, 请首先打开一个问题,并与我们讨论功能。
请看contribution guide 更多信息。
引文
如果要在出版物中引用此存储库,请使用此bibtex:
@misc{catalyst,
author = {Kolesnikov, Sergey},
title = {Reproducible and fast DL & RL.},
year = {2018},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/catalyst-team/catalyst}},
}