master/tensorflow-riemopt has 111 GitHub stars and 20 forks. Star changes are not measured yet. Last checked 2026-11-12 20:06 UTC. Last push 2026-11-10.
A library for optimization on Riemannian manifolds
計測したスター増加
- 24時間
- 履歴を収集中
- 7日間
- 履歴を収集中
- 15日間
- 履歴を収集中
- 1か月
- 履歴を収集中
期間ごとの純増数です。期間は重複しており、日別の値ではありません。未計測の値は空欄です。スター数は注目度の指標であり、品質の保証ではありません。
README.md
オリジナルTensorFlow RiemOpt
A library for manifold-constrained optimization in TensorFlow.
Installation
To install a package from PyPI:
pip install tensorflow-riemopt
To add it to a project managed by uv:
uv add tensorflow-riemopt
To install the latest development version from GitHub:
pip install git+https://github.com/master/tensorflow-riemopt.git
To work on the library from a clone of the repository:
git clone https://github.com/master/tensorflow-riemopt.git
cd tensorflow-riemopt
uv sync --group dev
Features
The core package implements concepts in differential geometry, such as manifolds and Riemannian metrics with associated exponential and logarithmic maps, geodesics, retractions, and transports. For manifolds, where closed-form expressions are not available, the library provides numerical approximations.

import tensorflow as tf
import tensorflow_riemopt as riemopt
S = riemopt.manifolds.Sphere()
x = S.projx(tf.constant([0.1, -0.1, 0.1]))
u = S.proju(x, tf.constant([1., 1., 1.]))
v = S.proju(x, tf.constant([-0.7, -1.4, 1.4]))
y = S.exp(x, v)
u_ = S.transp(x, y, u)
v_ = S.transp(x, y, v)
Manifolds
manifolds.Cholesky- manifold of lower triangular matrices with positive diagonal elementsmanifolds.Euclidean- unconstrained manifold with the Euclidean metricmanifolds.Grassmannian- manifold ofp-dimensional linear subspaces of then-dimensional spacemanifolds.Hyperboloid- manifold ofn-dimensional hyperbolic space embedded in then+1-dimensional Minkowski spacemanifolds.Poincare- the Poincaré ball model of the hyperbolic spacemanifolds.Product- Cartesian product of manifoldsmanifolds.SPDAffineInvariant- manifold of symmetric positive definite (SPD) matrices endowed with the affine-invariant metricmanifolds.SPDLogCholesky- SPD manifold with the Log-Cholesky metricmanifolds.SPDLogEuclidean- SPD manifold with the Log-Euclidean metricmanifolds.SpecialOrthogonal- manifold of rotation matricesmanifolds.Sphere- manifold of unit-normalized pointsmanifolds.StiefelEuclidean- manifold of orthonormalp-frames in then-dimensional space endowed with the Euclidean metricmanifolds.StiefelCanonical- Stiefel manifold with the canonical metricmanifolds.StiefelCayley- Stiefel manifold the retraction map via an iterative Cayley transform
Optimizers
Constrained optimization algorithms work as drop-in replacements for Keras optimizers for sparse and dense updates in both Eager and Graph modes.
optimizers.RiemannianSGD- Riemannian Gradient Descentoptimizers.RiemannianAdam- Riemannian Adam and AMSGradoptimizers.ConstrainedRMSprop- Constrained RMSProp
Layers
layers.ManifoldEmbedding- constrainedkeras.layers.Embeddinglayer
Examples
- ANTHEM - Choudhary, Nurendra, Nikhil Rao, Sumeet Katariya, Karthik Subbian, and Chandan K. Reddy. "ANTHEM: Attentive Hyperbolic Entity Model for Product Search." In Proceedings of the Fifteenth ACM International Conference on Web Search and Data Mining, 2022.
- SPDNet - Huang, Zhiwu, and Luc Van Gool. "A Riemannian network for SPD matrix learning." Proceedings of the Thirty-First AAAI Conference on Artificial Intelligence. AAAI Press, 2017.
- LieNet - Huang, Zhiwu, et al. "Deep learning on Lie groups for skeleton-based action recognition." Proceedings of the IEEE conference on computer vision and pattern recognition. 2017.
- GrNet - Huang, Zhiwu, Jiqing Wu, and Luc Van Gool. "Building Deep Networks on Grassmann Manifolds." AAAI. AAAI Press, 2018.
References
If you find TensorFlow RiemOpt useful in your research, please cite:
@misc{smirnov2021tensorflow,
title={TensorFlow RiemOpt: a library for optimization on Riemannian manifolds},
author={Oleg Smirnov},
year={2021},
eprint={2105.13921},
archivePrefix={arXiv},
primaryClass={cs.MS}
}
Contact
For support or development inquiries, contact us at: [email protected]
Contributing
Report bugs and request features in the issue tracker along with a minimal snippet that reproduces the problem. To work on the code, clone the repository and run:
uv sync --locked --group dev
uv run pytest -q tensorflow_riemopt
uv run black --line-length 80 --check tensorflow_riemopt
Acknowledgment
TensorFlow RiemOpt was inspired by many similar projects:
- Manopt, a matlab toolbox for optimization on manifolds
- Pymanopt, a Python toolbox for optimization on manifolds
- Geoopt: Riemannian Optimization in PyTorch
- Geomstats, an open-source Python package for computations and statistics on nonlinear manifolds
License
The code is MIT-licensed.
関連プロジェクトを探す
tensorflow/tensorflow
すべての人のためのオープンソース機械学習フレームワーク
201,584 スターhuggingface/transformers
🤗 Transformers:テキスト、ビジョン、音声、マルチモーダルの最先端機械学習モデル向けモデル定義フレームワークで、推論と学習の両方に対応します。
168,917 スターAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion の Web UI
165,300 スターComfy-Org/ComfyUI
グラフとノードによるインターフェースを備えた、最も強力でモジュール性の高い拡散モデル向け GUI、API、バックエンド。世界最速のローカル推論エンジン。
146,472 スター