mtlearn 1.2.1__tar.gz → 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mtlearn-1.2.1 → mtlearn-1.2.2}/PKG-INFO +1 -1
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_version.py +3 -3
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_disk_preparation.py +4 -2
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_identity.py +20 -12
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_persistent_preparation.py +9 -3
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_manifest.py +5 -2
- mtlearn-1.2.2/mtlearn/tests/python/test_cfp_cache_compatibility.py +101 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/.github/workflows/ci.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/.github/workflows/docs.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/.github/workflows/notebooks.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/.github/workflows/package.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/.github/workflows/release.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/LICENSE +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/Pipfile +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/README.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/cmake/mtlearnConfig.cmake.in +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/assets/cfp-class-architecture.svg +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/cfp-architecture.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/cfp-loss-design.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/cfp-regularization-design.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/cfp-score-constraint-design.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/cfp-scoring-design.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/development.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/installation.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/_static/.gitkeep +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/_templates/.gitkeep +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/cfp_preparation.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/data.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/datasets.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/index.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/layers.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/morphology.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/api/python/native.rst +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/concepts/attributes.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/concepts/morphology.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/conf.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/guides/custom-attributes-filter-specs.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/guides/getting-started.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/guides/index.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/guides/morphology.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/guides/pytorch-integration.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/docs/source/index.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/environment.yml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/.clang-format +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/.editorconfig +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/.gitattributes +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/LICENSE +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/README.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/README.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/adjacency_iteration_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/analyze_scientific_experiment.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/analyze_tree_construction_comparison.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/ApiBenchmark.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/AttributeScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/CasfScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/ConstructionScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/EditingScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/FilterScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/InteroperabilityScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/PipelineScenarios.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/WorkloadManifest.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/api_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/build_tree_construction_report.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/compare_validation_modes.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/distance_transform_sensitivity.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/distance_transform_timing.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/min_max_residual_tree_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/python_api_benchmark.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/scientific_pipeline_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/analyze_results.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/bitquad_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/bitquad_exactness_validation.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/correctness.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/dataset-manifest.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/experiment.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/raw-1080p.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/raw-480p.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/raw-720p.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/run-1080p.log +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/run-480p.log +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/run-720p.log +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/speedups.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/summary.csv +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/reference-results/table.tex +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/run_experiment.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/summarize_scientific_campaign.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/support/ScientificBenchmark.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/support/stb_image_read.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/tree_construction_comparison_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/tree_validation_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/validation-sensitive.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/validation_sensitive_algorithms_benchmark.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/workloads/distance-transform-contract.ini +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/workloads/scientific-api.ini +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/cmake/mmcfiltersConfig.cmake.in +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/cmake/mmcfiltersPublicHeaders.cmake +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeComputation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeNames.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeRegistry.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeResultTypes.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeTypes.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/Attributes.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/AreaComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/AttributeComputerDomain.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/AttributeComputerFamily.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/AttributeComputerRegistry.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/BitquadAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/BoundingBoxComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/ContourSideAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/FilledShapeAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/GrayLevelStatsComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/MaxDistComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/MaxDistExactComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/MomentBasedAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/TreeTopologyComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/VolumeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/BitquadAttributeData.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/BitquadAttributeProjection.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/BitquadConnectivityPolicy.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/BitquadFiniteWindowComputation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/ContourSideAttributeData.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/ContourSideAttributeMaterialization.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/ContourSideFiniteWindowComputation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/DistanceFieldHistogram.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/DistanceFieldMoments.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/DistanceWeightedSpatialMoments.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/ExactSquaredEuclideanDistanceTransform2D.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/MorphologicalTreeDistanceTransform.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/NodeContourSchedule.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/NodeDistanceFieldProvider.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform/NodeSupportBoxIndex.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/AdaptiveSquaredEuclideanDIFT2D.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/DynamicDistanceFieldMoments2D.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/DynamicDistanceFieldStatistics2D.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/MorphologicalTreeApproximateDistanceTransform.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/MorphologicalTreePropagationEdgeIndex.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/MorphologicalTreeTopologicalLevelIndex.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/detail/distance_transform_approx/SquaredDistanceBucketQueue.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeCapabilityValidation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeDependencyCache.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeFamilyScheduler.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeKernelSupport.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeNumericPolicy.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributePipeline.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeProjection.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/AttributeRequestUtils.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/NodeAttributeSampleMaterialization.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/detail/TopologyAttributeBackend.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/ContourComputation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/ContourTrace.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/ContourTraceComputation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/ContourBoundaryTracer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/ContourEdgeDeltaStore.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/ContourLifetimeIndex.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/ContourTraceTraversal.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/ContourTraversal.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/contours/detail/NodeSupportIndex.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/dataStructure/FastQueue.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/dataStructure/FastStack.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/AttributeFilters.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/AttributeReconstructionFilters.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/DepthStableRegionComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/ExtinctionValues.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/MSERComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/NodeDecisionMasks.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/NodePreservationStability.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/UltimateAttributeOpening.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/detail/VariationMeasure.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/filters/detail/ViterbiDecision.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/localAttributes/ConnectedSubsetTreeLocalizer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/localAttributes/FiniteWindowLocalAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/localAttributes/FiniteWindowLocalEventCompiler.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/localAttributes/LocalEventModel.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/MorphologicalTree.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/MorphologicalTreeFactory.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/MorphologicalTreeSemantics.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/NativeHierarchy.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/ProperPartDomain.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/TreeAltitudeAlgorithms.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/TreeEditor.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/TreeOfShapesProducer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/ValuedMorphologicalTree.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/ValuedMorphologicalTreeView.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/adjust/CasfComponentTrees.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/adjust/DualMinMaxTreeIncrementalFilter.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/adjust/DualMinMaxTreeIncrementalFilterLeaf.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/adjust/DynamicTreeAttributeComputer.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/CommittedTreeAccess.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/ComponentTreeProducerDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/ComponentTreeUnionFind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/HierarchyCapabilityValidation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/HigraExportLayoutDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/HigraHierarchyAdapterDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/HigraImportLayoutDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/MorphologicalTreeConstructionContextQueries.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/MorphologicalTreeConstructionTag.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/NativeHierarchyValidationDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/TreeAttributeSamplingNeighborhood.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/TreeStabilityNeighborhood.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/detail/TreeTraversalDetail.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/saliency/HierarchicalWatershedSaliency.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/saliency/HierarchySaliencyMap.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/saliency/HierarchySaliencyMapProjection.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/saliency/HierarchySaliencyMapValidation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/saliency/ShapeSpaceSaliency.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/ResidualEvolution.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/ResidualTreeBuildStatistics.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/ResidualTreePolicies.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/SaturatedResidualTreeBuilder.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/UnrestrictedResidualTreeBuilder.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/FlatZonePartition.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeCandidateAgenda.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeCandidateContext.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeCandidatePreparation.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeCandidateTypes.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeEventAssembler.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeMaterialization.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/ResidualTreeRegionTypes.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/SaturatedDynamicLca.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/SaturatedResidualEligibility.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/trees/sdrt/detail/SynchronizedResidualTreeEvolution.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/Altitude.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/Assert.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/CommittedGridAccess.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/CommittedImageAccess.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/Common.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/Contract.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/GenerationStampSet.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/Image.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/utils/RegularGridAdjacency2D.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/AdjustBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/AttributeBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/AttributeComputationBindings.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/AttributeFiltersPybind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/AttributeReconstructionFiltersPybind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/ContourBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/ContourTraceBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/DepthStableRegionComputerPybind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/ExtinctionValuesPybind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/FilterBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/ModuleBindings.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/PybindConversions.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/PythonValuedMorphologicalTree.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/TreeBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/UltimateAttributeOpeningPybind.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/pybinds/UtilityBindings.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/scripts/execute_notebooks.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/scripts/validate_notebooks.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/MtlearnModule.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/cfp/TreeTensorsBinding.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/cfp/TreeTraversalBinding.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/morphology/AttributeBinding.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/morphology/AttributeFiltersBinding.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/morphology/BindingSupport.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/bindings/morphology/WeightedTreeBinding.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/include/mtlearn/detail/morphology_backend.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/include/mtlearn/morphology.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_backends/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_backends/_mtlearn.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/_explicit_pairs.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/_generated_target.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/_image_ops.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/_paired_image.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_datasets/_split.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/_native.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/data.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/datasets.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/_helpers.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/component_registries.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/connected_filter_preprocessing_layer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/constraints/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/constraints/base.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/constraints/preserve_root.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/normalization/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/normalization/attribute_normalizer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/normalization/attribute_statistics.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/normalization/statistics_snapshot.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/normalization/stats_serializer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_calibration_measurement.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_loader_memory.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_parallel_preparation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_preparation_progress.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_prepared_reader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_process_reader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_read_diagnostics.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_reader_process.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_shared_batch.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_statistics_fitter.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_threaded_reader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/calibration.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/cfp_preprocessor.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/dataset_cache.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/dataset_diagnostics.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/dataset_source.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/preparation_result.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/prepared_batch.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/prepared_dataloader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/prepared_dataset.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/prepared_morphology.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/_tree_info.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/attribute_order_score_monotonicity.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/base.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/edge_score_monotonicity.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/regularization/path_score_monotonicity.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/_prepared_lifetime.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/batch_input.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/cache_input_contract.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/cached_dataloader_builder.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/context.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/forward_executor.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/implicit_jacobian_function.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/training_sample_inspector.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/tree_payload_cache.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/tree_payload_provider.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/runtime/tree_reconstructor.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/scoring/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/scoring/_layer_owned_linear_parameter_initializer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/scoring/base.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/scoring/linear_sigmoid.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/scoring/mlp.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/serialization/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/serialization/config_deserializer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/serialization/config_serializer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/serialization/persistent_state_manager.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/feature_spec.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/filter_spec.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/filter_spec_normalizer.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/normalized_filter_spec.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/spec_registry.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/specs/tree_spec.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/__init__.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_disk_format.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_manifest_inspection.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_read_validation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_storages.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/_writer_lock.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/disk_store.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/memory_store.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/storage/null_store.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/checkpoint.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/morphology.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/src/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/src/mtlearn/cfp/tree_tensors.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/src/mtlearn/cfp/tree_traversal.hpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/src/mtlearn/morphology.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/CMakeLists.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/cmake/installed_consumer_test.cmake +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/cpp/public_morphology.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/cpp/test_interpreter.cpp +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/_paired_dataset_reference.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/cfp_reference_names.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/README.md +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/baseline.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/manifest.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_minmax01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_minmax01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_zscore.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_dataset_zscore.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_none.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_linear_none.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_minmax01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_minmax01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_zscore.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_dataset_zscore.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_none.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/max-tree_mlp_none.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/min-tree_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/min-tree_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/min-tree_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/min-tree_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/tree-of-shapes_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/tree-of-shapes_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/tree-of-shapes_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0/tree-of-shapes_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/baseline.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/manifest.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_minmax01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_minmax01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_zscore.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_dataset_zscore.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_none.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_linear_none.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_minmax01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_minmax01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_zscore.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_dataset_zscore.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_none.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/max-tree_mlp_none.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/min-tree_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/min-tree_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/min-tree_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/min-tree_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/tree-of-shapes_linear_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/tree-of-shapes_linear_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/tree-of-shapes_mlp_dataset_clipped_zscore01.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p0_mmcfilters_v5_2_0/tree-of-shapes_mlp_dataset_clipped_zscore01.stats.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p1/statistics.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_cache_p5/notebook_before_p5.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_linear_sigmoid_max-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_linear_sigmoid_min-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_linear_sigmoid_tree-of-shapes.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_mlp_max-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_mlp_min-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/legacy_mlp_tree-of-shapes.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/manifest.json +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_linear_sigmoid_max-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_linear_sigmoid_min-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_linear_sigmoid_tree-of-shapes.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_mlp_max-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_mlp_min-tree.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/fixtures/cfp_disk_cache_e0/memory_mlp_tree-of-shapes.pt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_bindings.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_cache.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_cache_baseline.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_cache_calibration.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_checkpoint_independence.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_components.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_dataset_cache.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_dataset_diagnostics.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_dataset_source.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_deterministic.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_disk_cache.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_disk_cache_e0.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_disk_cache_validation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_disk_preparation_flow.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_jacobian_intervals.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_mps_reconstruction.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_notebook_cache_budget.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_notebook_streaming.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_parallel_preparation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_preparation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_prepared_dataloader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_prepared_runtime.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_process_dataloader.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_uint32_pixel_map.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_cfp_validation.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_data.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_gradchecks.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_morphology_api.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_morphology_attribute_groups.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_morphology_bounding_box_width.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_morphology_gray_level.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_paired_dataset_characterization.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_reusable_paired_dataset.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/tests/python/test_version.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/pyproject.toml +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/requirements.txt +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p0.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p1.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p2.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p3.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p4.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p5.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p6.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_cache_p6_finalize.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/benchmarks/cfp_jacobian_intervals.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/download_data.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/install_release_dependencies.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/resolve_package_version.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/smoke_test_release.py +0 -0
- {mtlearn-1.2.1 → mtlearn-1.2.2}/scripts/validate_notebooks.py +0 -0
|
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
|
|
|
18
18
|
commit_id: str | None
|
|
19
19
|
__commit_id__: str | None
|
|
20
20
|
|
|
21
|
-
__version__ = version = '1.2.
|
|
22
|
-
__version_tuple__ = version_tuple = (1, 2,
|
|
21
|
+
__version__ = version = '1.2.2'
|
|
22
|
+
__version_tuple__ = version_tuple = (1, 2, 2)
|
|
23
23
|
|
|
24
|
-
__commit_id__ = commit_id = '
|
|
24
|
+
__commit_id__ = commit_id = 'g218d9dab2'
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/mtlearn/python/mtlearn/layers/cfp/preparation/_disk_preparation.py
RENAMED
|
@@ -4,7 +4,7 @@ from pathlib import Path
|
|
|
4
4
|
import shutil
|
|
5
5
|
|
|
6
6
|
from ..storage import DiskStore
|
|
7
|
-
from ._identity import canonical_json, preprocessor_config, validate_identity, tree_config
|
|
7
|
+
from ._identity import canonical_json, compatibility_config, preprocessor_config, validate_identity, tree_config
|
|
8
8
|
from ._persistent_preparation import statistics_contract, statistics_identity
|
|
9
9
|
from .preparation_result import DiskPreparationResult
|
|
10
10
|
|
|
@@ -78,7 +78,9 @@ def _header(store, preprocessor, manifest, source_version, preprocessing_version
|
|
|
78
78
|
"preprocessing_version": preprocessing_version, "split": split}
|
|
79
79
|
if count is not None:
|
|
80
80
|
expected["sample_count"] = count
|
|
81
|
-
differences = [name for name, value in expected.items()
|
|
81
|
+
differences = [name for name, value in expected.items()
|
|
82
|
+
if (compatibility_config(json.loads(row[name])) != compatibility_config(json.loads(value))
|
|
83
|
+
if name == "config" else row[name] != value)]
|
|
82
84
|
if differences:
|
|
83
85
|
raise ValueError(f"Manifest {manifest!r} is incompatible: {', '.join(differences)} changed. "
|
|
84
86
|
"Use the matching contract or a new manifest name; cache metadata must not be rewritten.")
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
"""Versioned, primitive-only identities for local persistent preparation."""
|
|
2
|
-
from functools import lru_cache
|
|
3
2
|
import hashlib
|
|
4
3
|
import json
|
|
5
|
-
from pathlib import Path
|
|
6
4
|
|
|
7
5
|
from .... import morphology
|
|
8
|
-
from ...._native import load_bindings
|
|
9
6
|
from ..specs import FeatureSpec, TreeSpec
|
|
10
7
|
|
|
11
8
|
FORMAT_VERSION = 4
|
|
@@ -24,12 +21,20 @@ def digest_file(path):
|
|
|
24
21
|
return digest.hexdigest()
|
|
25
22
|
|
|
26
23
|
|
|
27
|
-
@lru_cache(maxsize=1)
|
|
28
24
|
def implementation_identity():
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
25
|
+
return {"semantics": PREPARATION_SEMANTICS}
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
def compatible_implementation(implementation):
|
|
29
|
+
return (isinstance(implementation, dict)
|
|
30
|
+
and set(implementation) in ({"semantics"}, {"semantics", "native_sha256"})
|
|
31
|
+
and implementation["semantics"] == PREPARATION_SEMANTICS)
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def compatibility_config(config):
|
|
35
|
+
if not isinstance(config, dict) or not compatible_implementation(config.get("implementation")):
|
|
36
|
+
raise ValueError("Incompatible persistent preparation implementation or format.")
|
|
37
|
+
return dict(config, implementation=implementation_identity())
|
|
33
38
|
|
|
34
39
|
|
|
35
40
|
def tree_config(spec):
|
|
@@ -55,7 +60,8 @@ def preprocessor_config(preprocessor):
|
|
|
55
60
|
from .cfp_preprocessor import CFPPreprocessor
|
|
56
61
|
if type(preprocessor) is not CFPPreprocessor or preprocessor.morphology is not morphology:
|
|
57
62
|
raise ValueError("Persistent preparation currently requires the standard CFPPreprocessor implementation.")
|
|
58
|
-
|
|
63
|
+
implementation = getattr(preprocessor, "_implementation", implementation_identity())
|
|
64
|
+
return {"format_version": FORMAT_VERSION, "implementation": dict(implementation),
|
|
59
65
|
"attribute_dtype": preprocessor.attribute_dtype.name,
|
|
60
66
|
"trees": [{"tree": tree_config(spec),
|
|
61
67
|
"attributes": [a.name for a in preprocessor.features[key].attributes]}
|
|
@@ -64,14 +70,16 @@ def preprocessor_config(preprocessor):
|
|
|
64
70
|
|
|
65
71
|
def preprocessor_from_config(config):
|
|
66
72
|
from .cfp_preprocessor import CFPPreprocessor
|
|
67
|
-
if config["format_version"] != FORMAT_VERSION or config["implementation"]
|
|
73
|
+
if config["format_version"] != FORMAT_VERSION or not compatible_implementation(config["implementation"]):
|
|
68
74
|
raise ValueError("Incompatible persistent preparation implementation or format.")
|
|
69
75
|
trees, features = {}, {}
|
|
70
76
|
for entry in config["trees"]:
|
|
71
77
|
tree = tree_from_config(entry["tree"])
|
|
72
78
|
trees[tree.cache_key()] = tree
|
|
73
79
|
features[tree.cache_key()] = FeatureSpec(tuple(getattr(morphology.AttributeType, a) for a in entry["attributes"]))
|
|
74
|
-
|
|
80
|
+
preprocessor = CFPPreprocessor(tree_specs=trees, features=features, attribute_dtype=config["attribute_dtype"])
|
|
81
|
+
preprocessor._implementation = dict(config["implementation"])
|
|
82
|
+
return preprocessor
|
|
75
83
|
|
|
76
84
|
|
|
77
85
|
def image_identity(preprocessor, image, tree_key, *, pixel_digest=None):
|
|
@@ -91,7 +99,7 @@ def validate_identity(identity):
|
|
|
91
99
|
expected = {"format_version", "implementation", "pixels_sha256", "shape", "tree", "attributes", "attribute_dtype"}
|
|
92
100
|
if set(identity) != expected or identity["format_version"] != FORMAT_VERSION:
|
|
93
101
|
raise ValueError("Unsupported preparation identity format.")
|
|
94
|
-
if identity["implementation"]
|
|
102
|
+
if not compatible_implementation(identity["implementation"]):
|
|
95
103
|
raise ValueError("Preparation backend/semantics do not match this runtime.")
|
|
96
104
|
digest = identity["pixels_sha256"]
|
|
97
105
|
if not isinstance(digest, str) or len(digest) != 64 or any(c not in "0123456789abcdef" for c in digest):
|
|
@@ -10,7 +10,7 @@ from ..._helpers import to_numpy_u8
|
|
|
10
10
|
from ..normalization import AttributeNormalizer
|
|
11
11
|
from ..normalization.statistics_snapshot import StatisticsSnapshot
|
|
12
12
|
from ..runtime.cache_input_contract import validate_cfp_cache_batch_x
|
|
13
|
-
from ._identity import canonical_json, image_identity, identity_key, preprocessor_config, preprocessor_from_config
|
|
13
|
+
from ._identity import canonical_json, compatibility_config, image_identity, identity_key, preprocessor_config, preprocessor_from_config
|
|
14
14
|
from .preparation_result import PreparationResult
|
|
15
15
|
from ._preparation_progress import emit
|
|
16
16
|
|
|
@@ -63,13 +63,19 @@ def _begin_manifest(store, name, preprocessor, count, source_version, preprocess
|
|
|
63
63
|
if any(not isinstance(v, str) or not v for v in (name, source_version, preprocessing_version)):
|
|
64
64
|
raise ValueError("Persistent preparation requires manifest, source_version and preprocessing_version strings.")
|
|
65
65
|
config = canonical_json(preprocessor_config(preprocessor))
|
|
66
|
-
values = (config, source_version, preprocessing_version, split, count)
|
|
67
66
|
row = store._db.execute("SELECT * FROM manifests WHERE name=?", (name,)).fetchone()
|
|
67
|
+
if row is not None:
|
|
68
|
+
previous = json.loads(row["config"])
|
|
69
|
+
if compatibility_config(previous) == compatibility_config(json.loads(config)):
|
|
70
|
+
preprocessor = preprocessor_from_config(previous)
|
|
71
|
+
config = row["config"]
|
|
72
|
+
values = (config, source_version, preprocessing_version, split, count)
|
|
68
73
|
if row is not None and tuple(row[k] for k in ("config", "source_version", "preprocessing_version", "split", "sample_count")) != values:
|
|
69
74
|
raise ValueError("Manifest contract/source version changed; use a new manifest name to reuse compatible content safely.")
|
|
70
75
|
with store._db:
|
|
71
76
|
store._db.execute("""INSERT INTO manifests VALUES (?,?,?,?,?,?,'preparing',NULL)
|
|
72
77
|
ON CONFLICT(name) DO UPDATE SET state='preparing',error=NULL""", (name, *values))
|
|
78
|
+
return preprocessor
|
|
73
79
|
|
|
74
80
|
|
|
75
81
|
def _bind_sample(store, name, position, sample_id, bindings, shape):
|
|
@@ -146,7 +152,7 @@ def prepare_source(preprocessor, source, *, store=None, manifest=None, source_ve
|
|
|
146
152
|
persistent = getattr(store, "persistent", False)
|
|
147
153
|
if persistent:
|
|
148
154
|
store._check(write=True)
|
|
149
|
-
_begin_manifest(store, manifest, preprocessor, count, source_version, preprocessing_version, split)
|
|
155
|
+
preprocessor = _begin_manifest(store, manifest, preprocessor, count, source_version, preprocessing_version, split)
|
|
150
156
|
# A resumed pass must revalidate durable files, even if this process has
|
|
151
157
|
# already borrowed valid CPU buffers from a now damaged/missing file.
|
|
152
158
|
store.clear()
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import json
|
|
3
3
|
import sqlite3
|
|
4
4
|
|
|
5
|
-
from ..preparation._identity import FORMAT_VERSION, canonical_json, implementation_identity
|
|
5
|
+
from ..preparation._identity import FORMAT_VERSION, canonical_json, implementation_identity, compatible_implementation
|
|
6
6
|
|
|
7
7
|
SCHEMA = """
|
|
8
8
|
CREATE TABLE metadata (key TEXT PRIMARY KEY, value TEXT NOT NULL);
|
|
@@ -55,7 +55,10 @@ def connect(path, *, readonly):
|
|
|
55
55
|
db.rollback()
|
|
56
56
|
raise
|
|
57
57
|
row = db.execute("SELECT value FROM metadata WHERE key='contract'").fetchone()
|
|
58
|
-
|
|
58
|
+
contract = json.loads(row[0]) if row is not None else None
|
|
59
|
+
if (not isinstance(contract, dict) or set(contract) != set(expected)
|
|
60
|
+
or contract["format_version"] != FORMAT_VERSION
|
|
61
|
+
or not compatible_implementation(contract["implementation"])):
|
|
59
62
|
raise ValueError("DiskStore format/backend is incompatible; use a separate store directory.")
|
|
60
63
|
except BaseException:
|
|
61
64
|
db.close()
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
import numpy as np
|
|
4
|
+
import pytest
|
|
5
|
+
import torch
|
|
6
|
+
|
|
7
|
+
import mtlearn
|
|
8
|
+
from mtlearn import _native
|
|
9
|
+
from mtlearn.layers.cfp import CFPPreprocessor, DiskStore, PreparedDataset
|
|
10
|
+
from mtlearn.layers.cfp.preparation import _identity
|
|
11
|
+
from test_cfp_disk_cache import QUOTA, forbid, model, prepare
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@pytest.mark.parametrize("legacy", [False, True])
|
|
15
|
+
@pytest.mark.parametrize("workers", [0, 1])
|
|
16
|
+
def test_cache_reuse_across_binary_and_package_versions(tmp_path, monkeypatch, legacy, workers):
|
|
17
|
+
preprocessor = CFPPreprocessor.from_layer(model())
|
|
18
|
+
source = [torch.tensor([[[0, 1], [2, 3]]], dtype=torch.uint8)]
|
|
19
|
+
current = _identity.implementation_identity
|
|
20
|
+
with monkeypatch.context() as previous:
|
|
21
|
+
if legacy:
|
|
22
|
+
previous.setattr(_identity, "implementation_identity", lambda: dict(current(), native_sha256="a" * 64))
|
|
23
|
+
previous.setattr(mtlearn, "__version__", "1.2.0")
|
|
24
|
+
with DiskStore(tmp_path, max_disk_bytes=QUOTA) as store:
|
|
25
|
+
prepare(preprocessor, source, store)
|
|
26
|
+
config = json.loads(store._db.execute("SELECT config FROM manifests").fetchone()[0])
|
|
27
|
+
entries = [tuple(row) for row in store._db.execute("SELECT * FROM entries")]
|
|
28
|
+
expected = PreparedDataset(store, "train", source)[0]
|
|
29
|
+
expected_attributes = next(iter(expected.samples[0][0].values())).raw_attributes
|
|
30
|
+
expected_attributes = {key: value.clone() for key, value in expected_attributes.items()}
|
|
31
|
+
del expected
|
|
32
|
+
files = {path: path.read_bytes() for path in tmp_path.rglob("*.pt")}
|
|
33
|
+
assert files
|
|
34
|
+
monkeypatch.setattr(mtlearn, "__version__", "1.2.1")
|
|
35
|
+
monkeypatch.setattr(_native, "load_bindings", forbid)
|
|
36
|
+
monkeypatch.setattr(CFPPreprocessor, "prepare_u8", forbid)
|
|
37
|
+
assert _identity.implementation_identity() == {"semantics": _identity.PREPARATION_SEMANTICS}
|
|
38
|
+
assert CFPPreprocessor.from_config(config).get_config() == config
|
|
39
|
+
for readonly in (True, False):
|
|
40
|
+
with DiskStore(tmp_path, readonly=readonly, max_disk_bytes=None if readonly else QUOTA) as store:
|
|
41
|
+
batch = PreparedDataset(store, "train", source)[0]
|
|
42
|
+
actual = next(iter(batch.samples[0][0].values())).raw_attributes
|
|
43
|
+
for key in expected_attributes:
|
|
44
|
+
torch.testing.assert_close(actual[key], expected_attributes[key])
|
|
45
|
+
del batch, actual
|
|
46
|
+
if not readonly:
|
|
47
|
+
assert prepare(preprocessor, source, store, num_workers=workers).status == "complete"
|
|
48
|
+
assert [tuple(row) for row in store._db.execute("SELECT * FROM entries")] == entries
|
|
49
|
+
result = preprocessor.prepare_or_reuse(path=tmp_path, manifest="train", source_version="source-v1",
|
|
50
|
+
preprocessing_version="uint8-v1", mode="reuse")
|
|
51
|
+
assert result.status == "complete"
|
|
52
|
+
assert result.prepared_entries == 0
|
|
53
|
+
assert {path: path.read_bytes() for path in files} == files
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
@pytest.mark.parametrize("field,value", [("semantics", "incompatible-preparation"), ("unknown", "value")])
|
|
57
|
+
def test_incompatible_implementation_rejected_at_all_boundaries(tmp_path, field, value):
|
|
58
|
+
preprocessor = CFPPreprocessor.from_layer(model())
|
|
59
|
+
config = preprocessor.get_config()
|
|
60
|
+
config["implementation"][field] = value
|
|
61
|
+
with pytest.raises(ValueError, match="Incompatible"):
|
|
62
|
+
CFPPreprocessor.from_config(config)
|
|
63
|
+
identity = _identity.image_identity(preprocessor, np.array([[0, 1]], dtype=np.uint8),
|
|
64
|
+
next(iter(preprocessor.tree_specs)))
|
|
65
|
+
identity["implementation"][field] = value
|
|
66
|
+
with pytest.raises(ValueError, match="backend/semantics"):
|
|
67
|
+
_identity.validate_identity(identity)
|
|
68
|
+
with DiskStore(tmp_path, max_disk_bytes=QUOTA) as store:
|
|
69
|
+
store._db.execute("UPDATE metadata SET value=? WHERE key='contract'", (_identity.canonical_json({
|
|
70
|
+
"format_version": _identity.FORMAT_VERSION, "implementation": config["implementation"]}),))
|
|
71
|
+
store._db.commit()
|
|
72
|
+
with pytest.raises(ValueError, match="incompatible"):
|
|
73
|
+
DiskStore(tmp_path, readonly=True)
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
@pytest.mark.parametrize("workers", [0, 1])
|
|
77
|
+
def test_resume_legacy_cache_preserves_original_keys(tmp_path, monkeypatch, workers):
|
|
78
|
+
preprocessor = CFPPreprocessor.from_layer(model())
|
|
79
|
+
source = [torch.tensor([[[0, 1], [2, 3]]], dtype=torch.uint8),
|
|
80
|
+
torch.tensor([[[3, 2], [0, 1]]], dtype=torch.uint8)]
|
|
81
|
+
current = _identity.implementation_identity
|
|
82
|
+
with monkeypatch.context() as previous:
|
|
83
|
+
previous.setattr(_identity, "implementation_identity", lambda: dict(current(), native_sha256="b" * 64))
|
|
84
|
+
with DiskStore(tmp_path, max_disk_bytes=QUOTA) as store:
|
|
85
|
+
result = prepare(preprocessor, source, store,
|
|
86
|
+
cancel=lambda: store._db.execute("SELECT count(*) FROM samples").fetchone()[0] == 1)
|
|
87
|
+
assert result.status == "cancelled"
|
|
88
|
+
config = json.loads(store._db.execute("SELECT config FROM manifests").fetchone()[0])
|
|
89
|
+
key = store._db.execute("SELECT key FROM entries").fetchone()[0]
|
|
90
|
+
result = preprocessor.prepare_or_reuse(source, path=tmp_path, manifest="train", source_version="source-v1",
|
|
91
|
+
preprocessing_version="uint8-v1", mode="prepare_missing", max_disk_bytes=QUOTA, num_workers=workers)
|
|
92
|
+
assert result.status == "complete"
|
|
93
|
+
with DiskStore(tmp_path, readonly=True) as store:
|
|
94
|
+
assert json.loads(store._db.execute("SELECT config FROM manifests").fetchone()[0]) == config
|
|
95
|
+
assert store.get(key) is not None
|
|
96
|
+
dataset = PreparedDataset(store, "train", source)
|
|
97
|
+
assert len(dataset) == 2
|
|
98
|
+
for index in range(len(dataset)):
|
|
99
|
+
assert dataset[index].shape == (1, 1, 2, 2)
|
|
100
|
+
for row in store._db.execute("SELECT identity FROM entries"):
|
|
101
|
+
assert json.loads(row[0])["implementation"] == config["implementation"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/adjacency_iteration_benchmark.cpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/analyze_scientific_experiment.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/ConstructionScenarios.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/api/InteroperabilityScenarios.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/build_tree_construction_report.py
RENAMED
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/distance_transform_sensitivity.py
RENAMED
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/min_max_residual_tree_benchmark.cpp
RENAMED
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/scientific_pipeline_benchmark.cpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/analyze_results.py
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/bitquad_benchmark.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/sibgrapi2026/run_experiment.py
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/summarize_scientific_campaign.py
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/support/ScientificBenchmark.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/benchmarks/tree_validation_benchmark.cpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeComputation.hpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeNames.hpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeRegistry.hpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeResultTypes.hpp
RENAMED
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/AttributeTypes.hpp
RENAMED
|
File without changes
|
|
File without changes
|
{mtlearn-1.2.1 → mtlearn-1.2.2}/external/mmcfilters/mmcfilters/attributes/computers/AreaComputer.hpp
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|