TorchOpt
TorchOpt 是一个基于 PyTorch 构建的高效可微分优化库。 Torchopt 是
全面性: TorchOpt 提供了三种微分模式 - 显式微分、隐式微分和零阶微分,用于处理不同的可微分优化情况。
灵活: TorchOpt 提供了面向功能和面向对象的 API,以满足用户不同的偏好。用户可以使用类似 JAX 或 PyTorch 的风格来实现可微优化。
高效: TorchOpt 提供了 (1) CPU/GPU 加速的可微分优化器 (2) 基于 RPC 的分布式训练框架 (3) 快速树操作,以大幅提高双层优化问题的训练效率。
安装
要求:
请按照https://pytorch.org上的说明首先在您的Python环境中安装PyTorch。 然后运行以下命令从PyPI安装TorchOpt:
pip install torchopt
你也可以从源代码构建共享库,使用:
git clone https://github.com/metaopt/torchopt.git
cd torchopt
pip3 install .
我们提供了一个conda环境配方来安装构建工具链,如cmake
、g++
和nvcc
。
您可以使用以下命令与conda / mamba一起创建一个新的隔离环境。
git clone https://github.com/metaopt/torchopt.git
cd torchopt
# You may need `CONDA_OVERRIDE_CUDA` if conda fails to detect the NVIDIA driver (e.g. in docker or WSL2)
CONDA_OVERRIDE_CUDA=12.1 conda env create --file conda-recipe-minimal.yaml
conda activate torchopt
教程笔记本
示例
开发者文档
团队
TorchOpt 是一个由
杰·任 (JieRen98)
冯希东 (waterhorse1)
刘波 (Benjamin-eecs)
潘学海 (XuehaiPan)
罗麦 (luomai)
杨耀东 (PKU-YYang).
支持
如果您遇到问题,请通过在我们的问题跟踪器上提交问题来告知我们。
更新日志
参见 CHANGELOG.md。
许可证
TorchOpt 遵循 Apache 2.0 许可证。
引用
如果您发现TorchOpt有用,请在您的出版物中引用它。
@article{JMLR:TorchOpt,
author = {Jie Ren* and Xidong Feng* and Bo Liu* and Xuehai Pan* and Yao Fu and Luo Mai and Yaodong Yang},
title = {TorchOpt: An Efficient Library for Differentiable Optimization},
journal = {Journal of Machine Learning Research},
year = {2023},
volume = {24},
number = {367},
pages = {1--14},
url = {http://jmlr.org/papers/v24/23-0191.html}
}