autoencodix 0.2.3__tar.gz → 0.2.4__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.
- {autoencodix-0.2.3 → autoencodix-0.2.4}/.gitignore +1 -1
- {autoencodix-0.2.3 → autoencodix-0.2.4}/PKG-INFO +1 -1
- {autoencodix-0.2.3 → autoencodix-0.2.4}/pyproject.toml +1 -1
- autoencodix-0.2.4/src/autoencodix/data/__init__.py +39 -0
- autoencodix-0.2.4/src/autoencodix/data/_datapackage_splitter.py +151 -0
- autoencodix-0.2.4/src/autoencodix/data/_datasetcontainer.py +33 -0
- autoencodix-0.2.4/src/autoencodix/data/_datasplitter.py +472 -0
- autoencodix-0.2.4/src/autoencodix/data/_filter.py +333 -0
- autoencodix-0.2.4/src/autoencodix/data/_image_dataset.py +93 -0
- autoencodix-0.2.4/src/autoencodix/data/_image_processor.py +89 -0
- autoencodix-0.2.4/src/autoencodix/data/_imgdataclass.py +29 -0
- autoencodix-0.2.4/src/autoencodix/data/_multimodal_dataset.py +444 -0
- autoencodix-0.2.4/src/autoencodix/data/_nanremover.py +200 -0
- autoencodix-0.2.4/src/autoencodix/data/_numeric_dataset.py +209 -0
- autoencodix-0.2.4/src/autoencodix/data/_sampler.py +98 -0
- autoencodix-0.2.4/src/autoencodix/data/_sc_filter.py +424 -0
- autoencodix-0.2.4/src/autoencodix/data/_stackix_dataset.py +114 -0
- autoencodix-0.2.4/src/autoencodix/data/_stackix_preprocessor.py +335 -0
- autoencodix-0.2.4/src/autoencodix/data/_xmodal_preprocessor.py +188 -0
- autoencodix-0.2.4/src/autoencodix/data/datapackage.py +382 -0
- autoencodix-0.2.4/src/autoencodix/data/general_preprocessor.py +349 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/.coverage +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/.github/workflows/ci.yml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/.github/workflows/docs.yml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/.gitignore_save +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/DEVELOPER.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/LICENSE +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/LLM_Setup.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/README.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/ConfigTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/EvaluateTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/ExplainStep.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/HyperparameterOptimizationOptunaTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/HyperparameterOptimizationTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/InputDataTutorials.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/MemoryEfficientSaving.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/PipelineOutputTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/UsingPreTrainedModels.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/VisualizeTutorial.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DeepDives/default_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/DevGuide.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/Internal/Profile.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/Internal/image.png +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Disentanglix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Imagix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Maskix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Ontix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Stackix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Vanillix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/Varix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/XModalix.ipynb +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/bulk_img_up.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/tutorial_res/stackix +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/tutorial_res/van +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/Tutorials/PipelineTutorials/tutorial_res/varix +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/.coverage +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/bulk_bulk_tran_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/bulk_img_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/bulk_img_up.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/full_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/invalid/invalid_modalities_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/invalid/invalid_one_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/invalid/invalid_sc_bulk_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/invalid/invalid_three_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/largebulk.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/largesc.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/multi_bulk.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/multi_sc_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/sc_img_tran_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/configs/sc_sc_tran_config.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/base.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/configs.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/data.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/disentanglix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/evaluate.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/imagix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/modeling.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/ontix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/stackix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/trainers.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/utils.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/vanillix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/varix.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/api/visualize.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/conf.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/index.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/robots.txt +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/docs/tutorials.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/genes_chromosomes.txt +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/.gitignore +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/class_index.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/coverage_html_cb_dd2e7eb5.js +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/favicon_32_cb_c827f16f.png +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/function_index.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/index.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/keybd_closed_cb_900cfef5.png +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/status.json +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/style_cb_9ff733b0.css +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_08b4cb1648a15a99___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_145eef247bfb46b6___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_autoencoder_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_dataset_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_evaluator_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_pipeline_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_predictor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_preprocessor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_1f614dca678d39fd__base_visualizer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_2ed26e8e5c78cfb4___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_3d3d5e3f4d524267___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_3d3d5e3f4d524267__general_visualizer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_3d3d5e3f4d524267__imagix_visualizer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_3d3d5e3f4d524267__xmodal_visualizer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_3d3d5e3f4d524267_visualize_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__annealer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__bulkreader_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__explainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__imgreader_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__internals_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__llm_explainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__losses_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__model_output_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__result_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__screader_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__traindynamics_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611__utils_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611_adata_converter_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611_example_data_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611_feature_importance_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_476d49f6d4e42611_prompts_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__captum_forward_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__classifier_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__imagevae_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__imgfast_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__layer_factory_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__maskix_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__ontix_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__vanillix_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_4bb6c3a17be45dbc__varix_architecture_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_6042884bddae99cb___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_6042884bddae99cb__general_evaluator_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_6042884bddae99cb__xmodalix_evaluator_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__datapackage_splitter_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__datasetcontainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__datasplitter_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__filter_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__image_dataset_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__image_processor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__imgdataclass_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__multimodal_dataset_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__nanremover_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__numeric_dataset_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__sampler_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__sc_filter_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__stackix_dataset_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__stackix_preprocessor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3__xmodal_preprocessor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3_datapackage_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_abfc79a2385922e3_general_preprocessor_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_d45e116c17cfd8fc_disentanglix_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_d45e116c17cfd8fc_maskix_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_d45e116c17cfd8fc_vanillix_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_d45e116c17cfd8fc_varix_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_d45e116c17cfd8fc_xmodal_loss_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_disentanglix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_imagix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_maskix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_ontix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_stackix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_vanillix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_varix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e71cd39e61034c16_xmodalix_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__general_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__maskix_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__ontix_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__stackix_orchestrator_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__stackix_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_e985f912f5313aa0__xmodal_trainer_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d___init___py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_default_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_disentanglix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_maskix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_ontix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_stackix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_vanillix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_varix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/htmlcov/z_ec333370d73aeb8d_xmodalix_config_py.html +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/latent_explanations.md +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/mkdocs.yml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/.gitignore +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/LICENSE.txt +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/.ipynb_checkpoints/_base_pipeline-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/.ipynb_checkpoints/_base_trainer-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_autoencoder.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_dataset.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_evaluator.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_pipeline.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_predictor.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_preprocessor.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/_base_visualizer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/base/sampleconfig.yaml +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/default_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/disentanglix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/maskix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/ontix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/stackix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/vanillix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/varix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/configs/xmodalix_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/disentanglix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/evaluate/.ipynb_checkpoints/evaluate-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/evaluate/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/evaluate/_general_evaluator.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/evaluate/_xmodalix_evaluator.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/imagix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/losses/disentanglix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/losses/maskix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/losses/vanillix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/losses/varix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/losses/xmodal_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/maskix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/.ipynb_checkpoints/__init__-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/.ipynb_checkpoints/_captum_forward-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_captum_forward.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_classifier.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_imagevae_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_imgfast_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_layer_factory.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_maskix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_ontix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_vanillix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/modeling/_varix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/notebooks/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/ontix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/py.typed +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/stackix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_general_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_maskix_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_ontix_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_stackix_orchestrator.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_stackix_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/trainers/_xmodal_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/.ipynb_checkpoints/_explainer-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/.ipynb_checkpoints/_model_output-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/.ipynb_checkpoints/_utils-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/.ipynb_checkpoints/adata_converter-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/.ipynb_checkpoints/feature_importance-checkpoint.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_annealer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_bulkreader.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_explainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_imgreader.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_internals.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_llm_explainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_losses.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_model_output.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_result.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_screader.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_traindynamics.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/_utils.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/adata_converter.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/example_data.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/feature_importance.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/utils/prompts.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/vanillix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/varix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/visualize/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/visualize/_general_visualizer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/visualize/_imagix_visualizer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/visualize/_xmodal_visualizer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/visualize/visualize.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/autoencodix/xmodalix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/src/tests/__init__.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_autoencoder.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_dataset.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_pipeline.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_preprocessor.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_base/test_base_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_datapackage_splitter.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_datasetcontainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_datasplitter.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_filter.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_imgdataclass.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_data/test_numericdataset.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_losses/test_maskix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_modeling/test_layer_factory.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_modeling/test_vanillix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_modeling/test_varix_architecture.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_trainers/test_general_trainer.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_default_config.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_modeloutput.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_result.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_traindynamics.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_utils.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_vanillix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_utils/test_varix_loss.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_vanillix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/tests/test_varix.py +0 -0
- {autoencodix-0.2.3 → autoencodix-0.2.4}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: autoencodix
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.4
|
|
4
4
|
Summary: Framework for multi-omics data integration by autoencoders.
|
|
5
5
|
Project-URL: Homepage, https://github.com/jan-forest/autoencodix_package
|
|
6
6
|
Project-URL: Issues, https://github.com/jan-forest/autoencodix_package/issues
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
from ._datapackage_splitter import DataPackageSplitter
|
|
2
|
+
from ._datasetcontainer import DatasetContainer
|
|
3
|
+
from ._datasplitter import DataSplitter
|
|
4
|
+
from ._filter import DataFilter
|
|
5
|
+
from ._imgdataclass import ImgData
|
|
6
|
+
from ._nanremover import NaNRemover
|
|
7
|
+
from ._numeric_dataset import NumericDataset, TensorAwareDataset
|
|
8
|
+
from ._stackix_dataset import StackixDataset
|
|
9
|
+
from ._stackix_preprocessor import StackixPreprocessor
|
|
10
|
+
from .datapackage import DataPackage
|
|
11
|
+
from .general_preprocessor import GeneralPreprocessor
|
|
12
|
+
from ._sc_filter import SingleCellFilter
|
|
13
|
+
from ._xmodal_preprocessor import XModalPreprocessor
|
|
14
|
+
from ._image_dataset import ImageDataset
|
|
15
|
+
from ._multimodal_dataset import MultiModalDataset
|
|
16
|
+
from ._image_processor import ImagePreprocessor
|
|
17
|
+
from ._sampler import BalancedBatchSampler
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
__all__ = [
|
|
21
|
+
"DataSplitter",
|
|
22
|
+
"NumericDataset",
|
|
23
|
+
"DatasetContainer",
|
|
24
|
+
"GeneralPreprocessor",
|
|
25
|
+
"ImgData",
|
|
26
|
+
"DataPackage",
|
|
27
|
+
"DataPackageSplitter",
|
|
28
|
+
"DataFilter",
|
|
29
|
+
"NaNRemover",
|
|
30
|
+
"StackixPreprocessor",
|
|
31
|
+
"StackixDataset",
|
|
32
|
+
"SingleCellFilter",
|
|
33
|
+
"XModalPreprocessor",
|
|
34
|
+
"ImageDataset",
|
|
35
|
+
"TensorAwareDataset",
|
|
36
|
+
"MultiModalDataset",
|
|
37
|
+
"ImagePreprocessor",
|
|
38
|
+
"BalancedBatchSampler",
|
|
39
|
+
]
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import copy
|
|
2
|
+
from typing import Any, Dict, Optional
|
|
3
|
+
|
|
4
|
+
import numpy as np
|
|
5
|
+
import pandas as pd
|
|
6
|
+
from anndata import AnnData # type: ignore
|
|
7
|
+
from mudata import MuData # type: ignore
|
|
8
|
+
|
|
9
|
+
from autoencodix.data.datapackage import DataPackage
|
|
10
|
+
from autoencodix.configs.default_config import DefaultConfig
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class DataPackageSplitter:
|
|
14
|
+
"""Splits DataPackage objects into training, validation, and testing sets.
|
|
15
|
+
|
|
16
|
+
Supports paired and unpaired (translation) splitting.
|
|
17
|
+
|
|
18
|
+
Attributes:
|
|
19
|
+
data_package: The original DataPackage to split.
|
|
20
|
+
config: The configuration settings for the splitting process.
|
|
21
|
+
indices: The indices for each split (train/val/test).
|
|
22
|
+
"""
|
|
23
|
+
|
|
24
|
+
def __init__(
|
|
25
|
+
self,
|
|
26
|
+
data_package: DataPackage,
|
|
27
|
+
config: DefaultConfig,
|
|
28
|
+
indices: Dict[str, Dict[str, Dict[str, np.ndarray]]],
|
|
29
|
+
) -> None:
|
|
30
|
+
self._data_package = data_package
|
|
31
|
+
self.indices = indices
|
|
32
|
+
self.config = config
|
|
33
|
+
|
|
34
|
+
if not isinstance(self._data_package, DataPackage):
|
|
35
|
+
raise TypeError(
|
|
36
|
+
f"Expected data_package to be of type DataPackage, got {type(self._data_package)}"
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
def _shallow_copy(self, value: Any) -> Any:
|
|
40
|
+
try:
|
|
41
|
+
return copy.copy(value)
|
|
42
|
+
except AttributeError:
|
|
43
|
+
return value
|
|
44
|
+
|
|
45
|
+
def _indexing(self, obj: Any, indices: np.ndarray) -> Any:
|
|
46
|
+
"""Indexes pd.DataFrame, list, AnnData, or MuData objects using the provided indices.
|
|
47
|
+
|
|
48
|
+
Args:
|
|
49
|
+
obj: The object to index (can be pd.DataFrame, list, AnnData, MuData, or None).
|
|
50
|
+
indices: The indices to use for indexing.
|
|
51
|
+
Returns:
|
|
52
|
+
The indexed object, or None if the input object is None.
|
|
53
|
+
Raises:
|
|
54
|
+
TypeError: If an unsupported type is encountered.
|
|
55
|
+
"""
|
|
56
|
+
|
|
57
|
+
if obj is None:
|
|
58
|
+
return None
|
|
59
|
+
if isinstance(obj, pd.DataFrame):
|
|
60
|
+
return obj.iloc[indices]
|
|
61
|
+
elif isinstance(obj, list):
|
|
62
|
+
return [obj[i] for i in indices]
|
|
63
|
+
elif isinstance(obj, (AnnData, MuData)):
|
|
64
|
+
# print(f"shape of obj: {obj.shape}")
|
|
65
|
+
# print(f"obj: {obj}")
|
|
66
|
+
# print(f"len(ind): {len(indices)}")
|
|
67
|
+
# print(f"max of index{np.max(indices)}")
|
|
68
|
+
# print(f"ind: {indices}")
|
|
69
|
+
return obj[indices]
|
|
70
|
+
else:
|
|
71
|
+
raise TypeError(
|
|
72
|
+
f"Unsupported type for indexing: {type(obj)}. "
|
|
73
|
+
"Supported types are pd.DataFrame, list, AnnData, and MuData."
|
|
74
|
+
)
|
|
75
|
+
|
|
76
|
+
def _split_data_package(self, split: str) -> Optional[DataPackage]:
|
|
77
|
+
"""Creates a new DataPackage where each attribute is indexed (if applicable)
|
|
78
|
+
by the given indices. Returns None if indices are empty.
|
|
79
|
+
|
|
80
|
+
Args:
|
|
81
|
+
indices: The indices to use for splitting the DataPackage.
|
|
82
|
+
Returns:
|
|
83
|
+
A new DataPackage with attributes indexed by the provided indices,
|
|
84
|
+
or None if indices are empty.
|
|
85
|
+
"""
|
|
86
|
+
if len(self.indices) == 0:
|
|
87
|
+
return None
|
|
88
|
+
|
|
89
|
+
split_data = {}
|
|
90
|
+
for key, value in self._data_package.__dict__.items():
|
|
91
|
+
if value is None:
|
|
92
|
+
continue
|
|
93
|
+
split_data[key] = {
|
|
94
|
+
modality: self._indexing(data, self.indices[key][modality][split])
|
|
95
|
+
for modality, data in value.items()
|
|
96
|
+
}
|
|
97
|
+
return DataPackage(**split_data)
|
|
98
|
+
|
|
99
|
+
def _split_mudata(
|
|
100
|
+
self,
|
|
101
|
+
mudata: MuData, # ty: ignore[invalid-type-form]
|
|
102
|
+
indices_map: Dict[str, Dict[str, np.ndarray]],
|
|
103
|
+
split: str,
|
|
104
|
+
) -> MuData: # ty: ignore[invalid-type-form]
|
|
105
|
+
"""Splits a MuData object based on the provided indices map.
|
|
106
|
+
|
|
107
|
+
Args:
|
|
108
|
+
mudata: The MuData object to split.
|
|
109
|
+
indices_map: A dictionary mapping modalities to their respective indices.
|
|
110
|
+
split: The split type ("train", "valid", or "test").
|
|
111
|
+
Returns:
|
|
112
|
+
A new MuData object with the specified splits applied.
|
|
113
|
+
"""
|
|
114
|
+
for modality, data in mudata.mod.items():
|
|
115
|
+
indices = indices_map[modality][split]
|
|
116
|
+
mudata.mod[modality] = self._indexing(data, indices)
|
|
117
|
+
return mudata
|
|
118
|
+
|
|
119
|
+
def _requires_paired(self) -> bool:
|
|
120
|
+
return self.config.requires_paired is None or self.config.requires_paired
|
|
121
|
+
|
|
122
|
+
def split(self) -> Dict[str, Optional[Dict[str, Any]]]:
|
|
123
|
+
"""Splits the underlying DataPackage into train, valid, and test subsets.
|
|
124
|
+
Returns:
|
|
125
|
+
A dictionary containing the split data packages for "train", "valid", and "test".
|
|
126
|
+
Each entry contains a "data" key with the DataPackage and an "indices" key with
|
|
127
|
+
the corresponding indices.
|
|
128
|
+
Raises:
|
|
129
|
+
ValueError: If no data package is available for splitting.
|
|
130
|
+
TypeError: If indices are not provided for unpaired translation case.
|
|
131
|
+
"""
|
|
132
|
+
if self._data_package is None:
|
|
133
|
+
raise ValueError("No data package available for splitting")
|
|
134
|
+
|
|
135
|
+
splits = ["train", "valid", "test"]
|
|
136
|
+
result: Dict[str, Optional[Dict[str, Any]]] = {
|
|
137
|
+
"train": {},
|
|
138
|
+
"valid": {},
|
|
139
|
+
"test": {},
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
for split in splits:
|
|
143
|
+
if self.indices is None: # or split not in self.indices:
|
|
144
|
+
result[split] = None
|
|
145
|
+
continue
|
|
146
|
+
result[split] = {
|
|
147
|
+
"data": self._split_data_package(split=split),
|
|
148
|
+
"indices": self.indices,
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
return result
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
from typing import Optional, Union
|
|
2
|
+
from dataclasses import dataclass
|
|
3
|
+
from autoencodix.base._base_dataset import BaseDataset
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
@dataclass
|
|
7
|
+
class DatasetContainer:
|
|
8
|
+
"""A container for datasets used in training, validation, and testing.
|
|
9
|
+
|
|
10
|
+
Attributes:
|
|
11
|
+
train : Dataset
|
|
12
|
+
The training dataset.
|
|
13
|
+
valid : Dataset
|
|
14
|
+
The validation dataset.
|
|
15
|
+
test : Dataset
|
|
16
|
+
The testing dataset.
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
train: Optional[Union[BaseDataset, None]] = None
|
|
20
|
+
valid: Optional[Union[BaseDataset, None]] = None
|
|
21
|
+
test: Optional[Union[BaseDataset, None]] = None
|
|
22
|
+
|
|
23
|
+
def __getitem__(self, key: str) -> BaseDataset:
|
|
24
|
+
"""Allows dictionary-like access to datasets."""
|
|
25
|
+
if key not in {"train", "valid", "test"}:
|
|
26
|
+
raise KeyError(f"Invalid key: {key}. Must be 'train', 'valid', or 'test'.")
|
|
27
|
+
return getattr(self, key)
|
|
28
|
+
|
|
29
|
+
def __setitem__(self, key: str, value: BaseDataset):
|
|
30
|
+
"""Allows dictionary-like assignment of datasets."""
|
|
31
|
+
if key not in {"train", "valid", "test"}:
|
|
32
|
+
raise KeyError(f"Invalid key: {key}. Must be 'train', 'valid', or 'test'.")
|
|
33
|
+
setattr(self, key, value)
|