Skip to main content

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


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)

Uploaded Source

Built Distribution

mcnnlib-1.0.2-py3-none-any.whl (24.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page