Skip to content

Commit 7a8344f

Browse files
committed
[topoAEpp] explicit yet concise(r) class names
1 parent ec754e0 commit 7a8344f

File tree

12 files changed

+89
-103
lines changed

12 files changed

+89
-103
lines changed

core/base/dimensionReduction/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ ttk_add_base_library(dimensionReduction
66
DEPENDS
77
triangulation
88
topoMap
9-
topologicallyConstrainedDimensionReduction
9+
topologicalDimensionReduction
1010
)
1111

1212
install(

core/base/dimensionReduction/DimensionReduction.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ int DimensionReduction::execute(
7777

7878
if(this->Method == METHOD::AE) {
7979
#ifdef TTK_ENABLE_TORCH
80-
TopologicallyConstrainedDimensionalityReduction tcdr(
80+
TopologicalDimensionReduction tcdr(
8181
ae_CUDA, ae_Deterministic, ae_Seed, NumberOfComponents, ae_Epochs,
8282
ae_LearningRate, ae_Optimizer, ae_Method, ae_Model, ae_Architecture,
8383
ae_Activation, ae_BatchSize, ae_BatchNormalization, ae_RegCoefficient,

core/base/dimensionReduction/DimensionReduction.h

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373

7474
#include <Debug.h>
7575
#include <TopoMap.h>
76-
#include <TopologicallyConstrainedDimensionReduction.h>
76+
#include <TopologicalDimensionReduction.h>
7777

7878
namespace ttk {
7979

@@ -353,13 +353,12 @@ namespace ttk {
353353
int ae_Seed{0};
354354
int ae_Epochs{1000};
355355
double ae_LearningRate{1e-2};
356-
TopologicallyConstrainedDimensionalityReduction::OPTIMIZER ae_Optimizer{
357-
TopologicallyConstrainedDimensionalityReduction::OPTIMIZER::ADAM};
358-
TopologicallyConstrainedDimensionalityReduction::REGUL ae_Method{
359-
TopologicallyConstrainedDimensionalityReduction::REGUL::
360-
ASYMMETRIC_CASCADE};
361-
TopologicallyConstrainedDimensionalityReduction::MODEL ae_Model{
362-
TopologicallyConstrainedDimensionalityReduction::MODEL::AUTOENCODER};
356+
TopologicalDimensionReduction::OPTIMIZER ae_Optimizer{
357+
TopologicalDimensionReduction::OPTIMIZER::ADAM};
358+
TopologicalDimensionReduction::REGUL ae_Method{
359+
TopologicalDimensionReduction::REGUL::ASYMMETRIC_CASCADE};
360+
TopologicalDimensionReduction::MODEL ae_Model{
361+
TopologicalDimensionReduction::MODEL::AUTOENCODER};
363362
std::string ae_Architecture{"32 32"};
364363
std::string ae_Activation{"ReLU"};
365364
int ae_BatchSize{0};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
ttk_add_base_library(topologicalDimensionReduction
2+
SOURCES
3+
DimensionReductionModel.cpp
4+
TopologicalLoss.cpp
5+
TopologicalDimensionReduction.cpp
6+
HEADERS
7+
DimensionReductionModel.h
8+
TopologicalLoss.h
9+
TopologicalDimensionReduction.h
10+
DEPENDS
11+
persistenceDiagramWarmRestartAuction
12+
ripsPersistenceDiagram)
13+
14+
if(TTK_ENABLE_TORCH)
15+
target_link_libraries(topologicalDimensionReduction PUBLIC "${TORCH_LIBRARIES}")
16+
target_include_directories(topologicalDimensionReduction PUBLIC ${TORCH_INCLUDE_DIRS})
17+
target_compile_definitions(topologicalDimensionReduction PUBLIC TTK_ENABLE_TORCH)
18+
endif()

core/base/topologicallyConstrainedDimensionReduction/DimensionReductionModel.cpp renamed to core/base/topologicalDimensionReduction/DimensionReductionModel.cpp

File renamed without changes.

core/base/topologicallyConstrainedDimensionReduction/DimensionReductionModel.h renamed to core/base/topologicalDimensionReduction/DimensionReductionModel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
/// DirectOptimization
1414
/// ConvolutionalAutoEncoder
1515
///
16-
/// \sa TopologicallyConstrainedDimensionReduction.cpp %for a usage example.
16+
/// \sa TopologicalDimensionReduction.cpp %for a usage example.
1717

1818
#pragma once
1919

@@ -153,4 +153,4 @@ namespace ttk {
153153

154154
} // namespace ttk
155155

156-
#endif
156+
#endif

core/base/topologicallyConstrainedDimensionReduction/TopologicallyConstrainedDimensionReduction.cpp renamed to core/base/topologicalDimensionReduction/TopologicalDimensionReduction.cpp

Lines changed: 29 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,32 @@
1-
#include <TopologicallyConstrainedDimensionReduction.h>
1+
#include <TopologicalDimensionReduction.h>
22

33
#ifdef TTK_ENABLE_TORCH
44

55
using namespace torch::indexing;
66

7-
ttk::TopologicallyConstrainedDimensionalityReduction::
8-
TopologicallyConstrainedDimensionalityReduction(
9-
bool useCUDA,
10-
bool deterministic,
11-
int seed,
12-
int numberOfComponents,
13-
int epochs,
14-
double learningRate,
15-
OPTIMIZER optimizer,
16-
REGUL method,
17-
MODEL modelType,
18-
const std::string &architecture,
19-
const std::string &activation,
20-
int batchSize,
21-
bool batchNormalization,
22-
double regCoefficient,
23-
bool inputIsImages)
7+
ttk::TopologicalDimensionReduction::TopologicalDimensionReduction(
8+
bool useCUDA,
9+
bool deterministic,
10+
int seed,
11+
int numberOfComponents,
12+
int epochs,
13+
double learningRate,
14+
OPTIMIZER optimizer,
15+
REGUL method,
16+
MODEL modelType,
17+
const std::string &architecture,
18+
const std::string &activation,
19+
int batchSize,
20+
bool batchNormalization,
21+
double regCoefficient,
22+
bool inputIsImages)
2423
: NumberOfComponents(numberOfComponents), Epochs(epochs),
2524
LearningRate(learningRate), Optimizer(optimizer), Method(method),
2625
ModelType(modelType), InputIsImages(inputIsImages),
2726
Architecture(architecture), Activation(activation), BatchSize(batchSize),
2827
BatchNormalization(batchNormalization), RegCoefficient(regCoefficient) {
2928
// inherited from Debug: prefix will be printed at the beginning of every msg
30-
this->setDebugMsgPrefix("TopologicallyConstrainedDimensionalityReduction");
29+
this->setDebugMsgPrefix("TopologicalDimensionReduction");
3130

3231
if(torch::cuda::is_available() && useCUDA && !deterministic)
3332
device = torch::kCUDA;
@@ -42,8 +41,8 @@ ttk::TopologicallyConstrainedDimensionalityReduction::
4241
}
4342
}
4443

45-
int ttk::TopologicallyConstrainedDimensionalityReduction::initializeModel(
46-
int inputSize, int inputDimension) {
44+
int ttk::TopologicalDimensionReduction::initializeModel(int inputSize,
45+
int inputDimension) {
4746
if((!InputIsImages && !AutoEncoder::isStringValid(Architecture))
4847
|| (InputIsImages
4948
&& !ConvolutionalAutoEncoder::isStringValid(Architecture))) {
@@ -69,8 +68,7 @@ int ttk::TopologicallyConstrainedDimensionalityReduction::initializeModel(
6968
return 0;
7069
}
7170

72-
void ttk::TopologicallyConstrainedDimensionalityReduction::
73-
initializeOptimizer() {
71+
void ttk::TopologicalDimensionReduction::initializeOptimizer() {
7472
if(Optimizer == OPTIMIZER::ADAM)
7573
torchOptimizer = std::make_unique<torch::optim::Adam>(
7674
model->parameters(), /*lr=*/LearningRate);
@@ -82,7 +80,7 @@ void ttk::TopologicallyConstrainedDimensionalityReduction::
8280
model->parameters(), /*lr=*/LearningRate);
8381
}
8482

85-
int ttk::TopologicallyConstrainedDimensionalityReduction::execute(
83+
int ttk::TopologicalDimensionReduction::execute(
8684
std::vector<std::vector<double>> &outputEmbedding,
8785
const std::vector<double> &inputMatrix,
8886
size_t n) {
@@ -150,9 +148,8 @@ int ttk::TopologicallyConstrainedDimensionalityReduction::execute(
150148
return 0;
151149
}
152150

153-
void ttk::TopologicallyConstrainedDimensionalityReduction::
154-
setLatentInitialization(
155-
std::vector<std::vector<double>> const &latentInitialization) {
151+
void ttk::TopologicalDimensionReduction::setLatentInitialization(
152+
std::vector<std::vector<double>> const &latentInitialization) {
156153
std::vector<torch::Tensor> tensors;
157154
for(auto const &column : latentInitialization)
158155
tensors.push_back(torch::from_blob(const_cast<double *>(column.data()),
@@ -163,7 +160,7 @@ void ttk::TopologicallyConstrainedDimensionalityReduction::
163160
latentInitialization_ = torch::stack(tensors).transpose(0, 1);
164161
}
165162

166-
void ttk::TopologicallyConstrainedDimensionalityReduction::optimizeSimple(
163+
void ttk::TopologicalDimensionReduction::optimizeSimple(
167164
const torch::Tensor &input) const {
168165
int epoch = 0;
169166

@@ -192,7 +189,7 @@ void ttk::TopologicallyConstrainedDimensionalityReduction::optimizeSimple(
192189
torchOptimizer->step(closure);
193190
}
194191

195-
void ttk::TopologicallyConstrainedDimensionalityReduction::optimize(
192+
void ttk::TopologicalDimensionReduction::optimize(
196193
const torch::Tensor &input) const {
197194
int epoch = 0;
198195

@@ -219,7 +216,7 @@ void ttk::TopologicallyConstrainedDimensionalityReduction::optimize(
219216
torchOptimizer->step(closure);
220217
}
221218

222-
void ttk::TopologicallyConstrainedDimensionalityReduction::preOptimize(
219+
void ttk::TopologicalDimensionReduction::preOptimize(
223220
const torch::Tensor &input, const torch::Tensor &target) const {
224221
int epoch = 0;
225222

@@ -244,8 +241,8 @@ void ttk::TopologicallyConstrainedDimensionalityReduction::preOptimize(
244241
torchOptimizer->step(closure);
245242
}
246243

247-
void ttk::TopologicallyConstrainedDimensionalityReduction::printLoss(
248-
int epoch, double loss) const {
244+
void ttk::TopologicalDimensionReduction::printLoss(int epoch,
245+
double loss) const {
249246
if(epoch % std::max(1, Epochs / 10) == 0)
250247
printMsg(
251248
"Loss at epoch " + std::to_string(epoch) + " : " + std::to_string(loss),

core/base/topologicallyConstrainedDimensionReduction/TopologicallyConstrainedDimensionReduction.h renamed to core/base/topologicalDimensionReduction/TopologicalDimensionReduction.h

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
/// \ingroup base
2-
/// \class ttk::TopologicallyConstrainedDimensionalityReduction
2+
/// \class ttk::TopologicalDimensionReduction
33
/// \author Mattéo Clémot <matteo.clemot@univ-lyon1.fr>
44
/// \date 2024.
55
///
66
/// \brief TTK base class that embeds points into 2D, under topological
77
/// constraints
88
///
9-
/// This module defines the %TopologicallyConstrainedDimensionalityReduction
9+
/// This module defines the %TopologicalDimensionReduction
1010
/// class that serves as a backend for the DimensionReduction module. It embeds
1111
/// high-dimensional point clouds into 2D, under topological constraints, with
1212
/// an autoencoder-based approach.
@@ -46,12 +46,12 @@
4646
namespace ttk {
4747

4848
/**
49-
* The TopologicallyConstrainedDimensionalityReduction class provides a
49+
* The TopologicalDimensionReduction class provides a
5050
* backend for dimension reduction using autoencoders, with possible
5151
* constraints on the preservation of the topology of the input high
5252
* dimensional point cloud when projecting in low dimension
5353
*/
54-
class TopologicallyConstrainedDimensionalityReduction : virtual public Debug {
54+
class TopologicalDimensionReduction : virtual public Debug {
5555

5656
public:
5757
enum class OPTIMIZER : std::uint8_t {
@@ -76,22 +76,21 @@ namespace ttk {
7676

7777
#ifdef TTK_ENABLE_TORCH
7878

79-
TopologicallyConstrainedDimensionalityReduction(
80-
bool useCUDA,
81-
bool deterministic,
82-
int seed,
83-
int numberOfComponents,
84-
int epochs,
85-
double learningRate,
86-
OPTIMIZER optimizer,
87-
REGUL method,
88-
MODEL modelType,
89-
const std::string &architecture,
90-
const std::string &activation,
91-
int batchSize,
92-
bool batchNormalization,
93-
double regCoefficient,
94-
bool inputIsImages);
79+
TopologicalDimensionReduction(bool useCUDA,
80+
bool deterministic,
81+
int seed,
82+
int numberOfComponents,
83+
int epochs,
84+
double learningRate,
85+
OPTIMIZER optimizer,
86+
REGUL method,
87+
MODEL modelType,
88+
const std::string &architecture,
89+
const std::string &activation,
90+
int batchSize,
91+
bool batchNormalization,
92+
double regCoefficient,
93+
bool inputIsImages);
9594

9695
/**
9796
* @brief Computes the projection with an AutoEncoder
@@ -145,6 +144,6 @@ namespace ttk {
145144

146145
#endif
147146

148-
}; // TopologicallyConstrainedDimensionalityReduction class
147+
}; // TopologicalDimensionReduction class
149148

150149
} // namespace ttk

core/base/topologicallyConstrainedDimensionReduction/TopologicalLoss.cpp renamed to core/base/topologicalDimensionReduction/TopologicalLoss.cpp

File renamed without changes.

core/base/topologicallyConstrainedDimensionReduction/TopologicalLoss.h renamed to core/base/topologicalDimensionReduction/TopologicalLoss.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
/// (4) : asymmetric cascade-extended "Topological Autoencoder" loss
1717
/// (5) : Wasserstein distance between 1-dimensional persistence diagrams
1818
///
19-
/// \sa TopologicallyConstrainedDimensionReduction.cpp %for a usage example.
19+
/// \sa TopologicalDimensionReduction.cpp %for a usage example.
2020

2121
#pragma once
2222

@@ -112,4 +112,4 @@ namespace ttk {
112112

113113
#endif
114114
};
115-
} // namespace ttk
115+
} // namespace ttk

0 commit comments

Comments
 (0)