跳转到主要内容

使用自动微分进行优化

项目描述

# autoptim: 自动微分 + 优化

你有新的机器学习模型想要优化,但又不想费心计算梯度吗?Autoptim就是为你准备的。

## 简短介绍
Autoptim是一个小型的Python包,它将`autograd`自动微分与`scipy.optimize.minimize`结合起来。

梯度是在底层使用自动微分计算的;用户只需提供目标函数

```python
import numpy as np
from autoptim import minimize


def rosenbrock(x)
return (1 - x[0]) ** 2 + 100 * (x[1] - x[0] ** 2) ** 2


x0 = np.zeros(2)

x_min, _ = minimize(rosenbrock, x0)
print(x_min)

>>> [0.99999913 0.99999825]
```

它具有以下功能

- **与Numpy的自然接口**:目标函数使用标准Numpy编写。`autoptim.minimize`的输入/输出是Numpy数组。

- **智能输入处理**:`scipy.optimize.minimize`仅用于处理一维数组作为输入。在`autoptim`中,变量可以是多维数组或数组列表。
- **预条件**:预条件是通过变量变换来加速最小化的一种简单方法。`autoptim`使预条件变得简单直接。


### 免责声明

此包旨在尽可能易于使用。因此,在最小化速度上做出了一些妥协。
## 安装
要安装,请使用`pip`
```
pip install autoptim
```
## 依赖关系
- numpy>=1.12
- scipy>=0.18.0
- autograd >= 1.2


## 示例
可以在`autoptim/tutorials`中找到几个示例


项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分布

本发布版本没有提供源代码分布文件。请参阅有关 生成分布存档 的教程。

构建分布

autoptim-0.3-py3-none-any.whl (5.7 kB 查看哈希值)

上传时间 Python 3

支持