Constrained Optimization and Manifold Optimization in Pytorch
Project description
Manifold Constrained Neural Network(MCNN)
为在PyTorch
中进行复数约束性优化和流形优化提供了一种简单的方法。无需任何模板,提供开箱即用的优化器、网络层和网络模型,只需在构建模型时声明约束条件,即可开始使用。
Constraints
支持的流形约束:
Complex Sphere
,复球流形,满足约束: $X \in \mathbb C^{m \times n}, | X |_F=1$Complex Stiefel
,复Stiefel流形,满足约束: $X \in \mathbb C^{m\times n},{X}^H{X}={I}$Complex Circle
,复单位圆流形,满足约束: $X \in \mathbb C^{m\times n},|[{X}]_{i,j}|=1$Complex Euclid
,复欧几里得流形,满足约束: $X \in \mathbb C^{m\times n}$
Supported Spaces
mcnn
中的每个约束条件都是以流形的形式实现,这使用户在选择每个参数化的选项时有更大的灵活性。所有流形都支持黎曼梯度下降法,同样也支持其他PyTorch
优化器。
mcnn
目前支持以下空间:
Cn(n)
: $\mathbb C^n$空间内的无约束优化空间Sphere(n)
: $\mathbb C^n$空间内的球体SO(n)
:n×n
正交矩阵流形St(n,k)
:n×k
列正交矩阵流形
Supported Modules
mcnn
目前支持以网络类型:
Linear
全连接网络层Conv2d, Conv3d
二维及三维卷积层RNN
循环神经网络层
optimizers
mcnn
目前支持以下优化器:
Conjugate Gradient
,共轭梯度优化器Manifold Adam
,流形自适应动量估计算法优化器Manifold Adagrad
,流形自适应梯度优化器Manifold RMSprop
,流形均方根传播优化器Manifold SGD
,流形统计梯度下降优化器QManifold Adagrad
,带参数量化的流形自适应梯度优化器QManifold RMSprop
,带参数量化的流形均方根传播优化器
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mcnnlib-1.0.2.tar.gz
(17.3 kB
view hashes)
Built Distribution
mcnnlib-1.0.2-py3-none-any.whl
(24.7 kB
view hashes)