mcnnlib


Namemcnnlib JSON
Version 1.0.2 PyPI version JSON
download
home_pagehttps://github.com/HuangQiang97/mcnn
SummaryConstrained Optimization and Manifold Optimization in Pytorch
upload_time2024-06-06 09:44:35
maintainerNone
docs_urlNone
authorhuang chiang
requires_python>=3.5
licenseMIT
keywords constrained optimization optimization on manifolds pytorch
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
`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`,带参数量化的流形均方根传播优化器
    

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/HuangQiang97/mcnn",
    "name": "mcnnlib",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.5",
    "maintainer_email": null,
    "keywords": "Constrained Optimization, Optimization on Manifolds, Pytorch",
    "author": "huang chiang",
    "author_email": "huangqiang97@126.com",
    "download_url": "https://files.pythonhosted.org/packages/79/04/29426b61556bbaefb19ddd9cca8ab02735834646e48383007790283a1d09/mcnnlib-1.0.2.tar.gz",
    "platform": null,
    "description": "\r\n`Manifold Constrained Neural Network(MCNN)`\u4e3a\u5728`PyTorch`\u4e2d\u8fdb\u884c\u590d\u6570\u7ea6\u675f\u6027\u4f18\u5316\u548c\u6d41\u5f62\u4f18\u5316\u63d0\u4f9b\u4e86\u4e00\u79cd\u7b80\u5355\u7684\u65b9\u6cd5\u3002\u65e0\u9700\u4efb\u4f55\u6a21\u677f\uff0c\u63d0\u4f9b\u5f00\u7bb1\u5373\u7528\u7684\u4f18\u5316\u5668\u3001\u7f51\u7edc\u5c42\u548c\u7f51\u7edc\u6a21\u578b\uff0c\u53ea\u9700\u5728\u6784\u5efa\u6a21\u578b\u65f6\u58f0\u660e\u7ea6\u675f\u6761\u4ef6\uff0c\u5373\u53ef\u5f00\u59cb\u4f7f\u7528\u3002\r\n\r\n## Constraints\r\n\r\n\u652f\u6301\u7684\u6d41\u5f62\u7ea6\u675f\uff1a\r\n\r\n* `Complex Sphere`\uff0c\u590d\u7403\u6d41\u5f62\uff0c\u6ee1\u8db3\u7ea6\u675f\uff1a $X \\in \\mathbb C^{m \\times n}, \\| X \\|_F=1$ \r\n* `Complex Stiefel`\uff0c\u590dStiefel\u6d41\u5f62\uff0c\u6ee1\u8db3\u7ea6\u675f\uff1a $X \\in \\mathbb C^{m\\times n},{X}^H{X}={I}$ \r\n* `Complex Circle`\uff0c\u590d\u5355\u4f4d\u5706\u6d41\u5f62\uff0c\u6ee1\u8db3\u7ea6\u675f\uff1a $X \\in \\mathbb C^{m\\times n},|[{X}]_{i,j}|=1$ \r\n* `Complex Euclid`\uff0c\u590d\u6b27\u51e0\u91cc\u5f97\u6d41\u5f62\uff0c\u6ee1\u8db3\u7ea6\u675f\uff1a $X \\in \\mathbb C^{m\\times n}$ \r\n\r\n## Supported Spaces\r\n\r\n`mcnn`\u4e2d\u7684\u6bcf\u4e2a\u7ea6\u675f\u6761\u4ef6\u90fd\u662f\u4ee5\u6d41\u5f62\u7684\u5f62\u5f0f\u5b9e\u73b0\uff0c\u8fd9\u4f7f\u7528\u6237\u5728\u9009\u62e9\u6bcf\u4e2a\u53c2\u6570\u5316\u7684\u9009\u9879\u65f6\u6709\u66f4\u5927\u7684\u7075\u6d3b\u6027\u3002\u6240\u6709\u6d41\u5f62\u90fd\u652f\u6301\u9ece\u66fc\u68af\u5ea6\u4e0b\u964d\u6cd5\uff0c\u540c\u6837\u4e5f\u652f\u6301\u5176\u4ed6`PyTorch`\u4f18\u5316\u5668\u3002\r\n\r\n`mcnn`\u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u7a7a\u95f4\uff1a\r\n\r\n* `Cn(n)`: $\\mathbb C^n$\u7a7a\u95f4\u5185\u7684\u65e0\u7ea6\u675f\u4f18\u5316\u7a7a\u95f4\r\n* `Sphere(n)`:  $\\mathbb C^n$\u7a7a\u95f4\u5185\u7684\u7403\u4f53\r\n* `SO(n)`:  `n\u00d7n` \u6b63\u4ea4\u77e9\u9635\u6d41\u5f62\r\n* `St(n,k)`:  `n\u00d7k` \u5217\u6b63\u4ea4\u77e9\u9635\u6d41\u5f62\r\n\r\n## Supported Modules\r\n\r\n`mcnn`\u76ee\u524d\u652f\u6301\u4ee5\u7f51\u7edc\u7c7b\u578b\uff1a\r\n\r\n* `Linear`\u5168\u8fde\u63a5\u7f51\u7edc\u5c42\r\n* `Conv2d, Conv3d`\u4e8c\u7ef4\u53ca\u4e09\u7ef4\u5377\u79ef\u5c42\r\n* `RNN`\u5faa\u73af\u795e\u7ecf\u7f51\u7edc\u5c42\r\n\r\n## optimizers\r\n\r\n`mcnn`\u76ee\u524d\u652f\u6301\u4ee5\u4e0b\u4f18\u5316\u5668\uff1a\r\n\r\n* `Conjugate Gradient`\uff0c\u5171\u8f6d\u68af\u5ea6\u4f18\u5316\u5668\r\n* `Manifold Adam`\uff0c\u6d41\u5f62\u81ea\u9002\u5e94\u52a8\u91cf\u4f30\u8ba1\u7b97\u6cd5\u4f18\u5316\u5668\r\n* `Manifold Adagrad`\uff0c\u6d41\u5f62\u81ea\u9002\u5e94\u68af\u5ea6\u4f18\u5316\u5668\r\n* `Manifold RMSprop`\uff0c\u6d41\u5f62\u5747\u65b9\u6839\u4f20\u64ad\u4f18\u5316\u5668\r\n* `Manifold SGD`\uff0c\u6d41\u5f62\u7edf\u8ba1\u68af\u5ea6\u4e0b\u964d\u4f18\u5316\u5668\r\n* `QManifold Adagrad`\uff0c\u5e26\u53c2\u6570\u91cf\u5316\u7684\u6d41\u5f62\u81ea\u9002\u5e94\u68af\u5ea6\u4f18\u5316\u5668\r\n* `QManifold RMSprop`\uff0c\u5e26\u53c2\u6570\u91cf\u5316\u7684\u6d41\u5f62\u5747\u65b9\u6839\u4f20\u64ad\u4f18\u5316\u5668\r\n    \r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Constrained Optimization and Manifold Optimization in Pytorch",
    "version": "1.0.2",
    "project_urls": {
        "Homepage": "https://github.com/HuangQiang97/mcnn"
    },
    "split_keywords": [
        "constrained optimization",
        " optimization on manifolds",
        " pytorch"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "67c6a5dc8e4f6e9b508f851976d657bd81d8b74fb25781de00db230a19073bb1",
                "md5": "87c0cc8268f45899a38b71b02d0926c9",
                "sha256": "ddf8a1553809b6e120e228f2d571aaaf9cbae0ff18ceae8991e279dd8abc1e48"
            },
            "downloads": -1,
            "filename": "mcnnlib-1.0.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "87c0cc8268f45899a38b71b02d0926c9",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.5",
            "size": 24739,
            "upload_time": "2024-06-06T09:44:34",
            "upload_time_iso_8601": "2024-06-06T09:44:34.129975Z",
            "url": "https://files.pythonhosted.org/packages/67/c6/a5dc8e4f6e9b508f851976d657bd81d8b74fb25781de00db230a19073bb1/mcnnlib-1.0.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "790429426b61556bbaefb19ddd9cca8ab02735834646e48383007790283a1d09",
                "md5": "11e42c87f18389907c251d841dfc6f21",
                "sha256": "4fd531dd4b233f9898cfa6df7348ff1ed71b390f62f2106df31d17be1cd34e79"
            },
            "downloads": -1,
            "filename": "mcnnlib-1.0.2.tar.gz",
            "has_sig": false,
            "md5_digest": "11e42c87f18389907c251d841dfc6f21",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.5",
            "size": 17255,
            "upload_time": "2024-06-06T09:44:35",
            "upload_time_iso_8601": "2024-06-06T09:44:35.287354Z",
            "url": "https://files.pythonhosted.org/packages/79/04/29426b61556bbaefb19ddd9cca8ab02735834646e48383007790283a1d09/mcnnlib-1.0.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-06 09:44:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "HuangQiang97",
    "github_project": "mcnn",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "mcnnlib"
}
        
Elapsed time: 0.25482s