cvxpy/cvxpylayers
Differentiable convex optimization layers
解决的问题
CVXPYlayers 允许开发者将凸优化问题直接作为可微分层集成到深度学习模型中。这使得神经网络能够包含一个凸优化步骤,并通过反向传播学习优化问题本身的参数。
运作原理
该库使用 CVXPY 来定义参数化的凸优化问题。在前向传播中,它会求解优化问题以产生解。在反向传播中,它会计算该解相对于输入参数的导数,使该层与自动微分框架兼容。
适用对象
专为使用 PyTorch、JAX 或 MLX,且需要在机器学习流程中嵌入优化约束与目标的研究人员与工程师所设计。
特色亮点
- 多框架支持:与 PyTorch、JAX 和 MLX 无缝协作。
- GPU 加速:通过 Moreau 和 CuClarabel 后端支持 GPU 加速。
- 广泛的优化支持:处理标准凸规划以及对数-对数凸规划 (LLCPs)。
- 对偶变量访问:除了原始解之外,还能返回约束对偶变量 (拉格朗日乘数)。
相关
- 项目
- 项目
- 项目
- 项目