summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMathieuCarriere <mathieu.carriere3@gmail.com>2022-11-21 10:45:33 +0100
committerMathieuCarriere <mathieu.carriere3@gmail.com>2022-11-21 10:45:33 +0100
commitffdbd5ced452530c8ee63a50d5bdf1fe797679a9 (patch)
treecd90ec355e7a0052b0a3c0acacbedd2c1a431538
parent2438a6c18b606dc49468895d9ffdb5dcc8f92439 (diff)
parent0f755b861c3702b8516dc31eef0ad66528485778 (diff)
Merge branch 'perslay' of https://github.com/MathieuCarriere/gudhi into perslay
-rw-r--r--src/python/CMakeLists.txt5
-rw-r--r--src/python/doc/representations.rst22
-rw-r--r--src/python/gudhi/tensorflow/__init__.py3
-rw-r--r--src/python/test/test_perslay.py2
4 files changed, 18 insertions, 14 deletions
diff --git a/src/python/CMakeLists.txt b/src/python/CMakeLists.txt
index 344e988f..f6750a30 100644
--- a/src/python/CMakeLists.txt
+++ b/src/python/CMakeLists.txt
@@ -572,6 +572,11 @@ if(PYTHONINTERP_FOUND)
add_gudhi_py_test(test_diff)
endif()
+ # Perslay
+ if(TENSORFLOW_FOUND AND SKLEARN_FOUND)
+ add_gudhi_py_test(test_perslay)
+ endif()
+
# Betti curves
if(SKLEARN_FOUND AND SCIPY_FOUND)
add_gudhi_py_test(test_betti_curve_representations)
diff --git a/src/python/doc/representations.rst b/src/python/doc/representations.rst
index 37d3aa53..5686974a 100644
--- a/src/python/doc/representations.rst
+++ b/src/python/doc/representations.rst
@@ -63,18 +63,18 @@ PersLay
import tensorflow as tf
from sklearn.preprocessing import MinMaxScaler
import gudhi.representations as gdr
- import gudhi.tensorflow as gdtf
+ import gudhi.tensorflow.perslay as prsl
diagrams = [np.array([[0.,4.],[1.,2.],[3.,8.],[6.,8.]])]
diagrams = gdr.DiagramScaler(use=True, scalers=[([0,1], MinMaxScaler())]).fit_transform(diagrams)
diagrams = tf.RaggedTensor.from_tensor(tf.constant(diagrams, dtype=tf.float32))
rho = tf.identity
- phi = gdtf.GaussianPerslayPhi((5, 5), ((-.5, 1.5), (-.5, 1.5)), .1)
- weight = gdtf.PowerPerslayWeight(1.,0.)
+ phi = prsl.GaussianPerslayPhi((5, 5), ((-.5, 1.5), (-.5, 1.5)), .1)
+ weight = prsl.PowerPerslayWeight(1.,0.)
perm_op = tf.math.reduce_sum
- perslay = gdtf.Perslay(phi=phi, weight=weight, perm_op=perm_op, rho=rho)
+ perslay = prsl.Perslay(phi=phi, weight=weight, perm_op=perm_op, rho=rho)
vectors = perslay(diagrams)
print(vectors)
@@ -145,41 +145,41 @@ Metrics
PersLay
-------
-.. autoclass:: gudhi.tensorflow.Perslay
+.. autoclass:: gudhi.tensorflow.perslay.Perslay
:members:
:special-members:
:show-inheritance:
Weight functions
^^^^^^^^^^^^^^^^
-.. autoclass:: gudhi.tensorflow.GaussianMixturePerslayWeight
+.. autoclass:: gudhi.tensorflow.perslay.GaussianMixturePerslayWeight
:members:
:special-members:
:show-inheritance:
-.. autoclass:: gudhi.tensorflow.GridPerslayWeight
+.. autoclass:: gudhi.tensorflow.perslay.GridPerslayWeight
:members:
:special-members:
:show-inheritance:
-.. autoclass:: gudhi.tensorflow.PowerPerslayWeight
+.. autoclass:: gudhi.tensorflow.perslay.PowerPerslayWeight
:members:
:special-members:
:show-inheritance:
Phi functions
^^^^^^^^^^^^^
-.. autoclass:: gudhi.tensorflow.FlatPerslayPhi
+.. autoclass:: gudhi.tensorflow.perslay.FlatPerslayPhi
:members:
:special-members:
:show-inheritance:
-.. autoclass:: gudhi.tensorflow.GaussianPerslayPhi
+.. autoclass:: gudhi.tensorflow.perslay.GaussianPerslayPhi
:members:
:special-members:
:show-inheritance:
-.. autoclass:: gudhi.tensorflow.TentPerslayPhi
+.. autoclass:: gudhi.tensorflow.perslay.TentPerslayPhi
:members:
:special-members:
:show-inheritance:
diff --git a/src/python/gudhi/tensorflow/__init__.py b/src/python/gudhi/tensorflow/__init__.py
index fe01b9cc..1599cf52 100644
--- a/src/python/gudhi/tensorflow/__init__.py
+++ b/src/python/gudhi/tensorflow/__init__.py
@@ -1,6 +1,5 @@
from .cubical_layer import CubicalLayer
from .lower_star_simplex_tree_layer import LowerStarSimplexTreeLayer
from .rips_layer import RipsLayer
-from .perslay import *
-__all__ = ["Perslay", "GridPerslayWeight", "GaussianMixturePerslayWeight", "PowerPerslayWeight", "GaussianPerslayPhi", "TentPerslayPhi", "FlatPerslayPhi", "LowerStarSimplexTreeLayer", "RipsLayer", "CubicalLayer"]
+__all__ = ["LowerStarSimplexTreeLayer", "RipsLayer", "CubicalLayer"]
diff --git a/src/python/test/test_perslay.py b/src/python/test/test_perslay.py
index bf0d54af..06497712 100644
--- a/src/python/test/test_perslay.py
+++ b/src/python/test/test_perslay.py
@@ -1,7 +1,7 @@
import numpy as np
import tensorflow as tf
from sklearn.preprocessing import MinMaxScaler
-from gudhi.tensorflow import *
+from gudhi.tensorflow.perslay import *
import gudhi.representations as gdr
def test_gaussian_perslay():