master/tensorflow-riemopt
master/tensorflow-riemopt has 111 GitHub stars and 20 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-14 01:20 UTC. Last push 2026-11-10.
Gemessener Sternzuwachs
- in 24h
- 0
- in 7 days
- Verlauf wird gesammelt
- in 15 days
- Verlauf wird gesammelt
- in 1 month
- Verlauf wird gesammelt
Nettoänderungen in überlappenden Zeiträumen, keine Tagessummen. Fehlende Messwerte bleiben leer. Sterne zeigen Interesse, nicht Qualität.
Über uns
A library for optimization on Riemannian manifolds
Maschinelles LernenREADME.md
OriginalTensorFlow 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.
Ähnliche Projekte entdecken
tensorflow/tensorflow
Ein Open-Source-Framework für maschinelles Lernen für alle
201,592 Sternehuggingface/transformers
🤗 Transformers: das Framework zur Modelldefinition für State-of-the-Art-Modelle des maschinellen Lernens in Text, Vision, Audio und multimodal, für Inferenz und Training.
168,952 SterneAUTOMATIC1111/stable-diffusion-webui
Web-UI für Stable Diffusion
165,308 SterneComfy-Org/ComfyUI
Die leistungsstärkste und modularste GUI, API und das Backend für Diffusionsmodelle mit einer Oberfläche aus Graphen und Knoten. Die schnellste lokale Inferenz-Engine der Welt.
146,700 Sterne