1- #include < TopologicallyConstrainedDimensionReduction .h>
1+ #include < TopologicalDimensionReduction .h>
22
33#ifdef TTK_ENABLE_TORCH
44
55using 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),
0 commit comments