Conversation
Merge updates into local experiment branch
…age for entry fetching
…to sanitize object dtypes for chunking
…unctions to _automation_compat.py
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request introduces several improvements and bug fixes across the Double Agent codebase, focusing on more robust handling of sample dimensions in pipelines, improved compatibility with Tiled entry IDs, and enhanced data type safety for xarray datasets. The changes also include new and expanded tests to ensure correct behavior, especially for edge cases and legacy data.
Key changes include:
Pipeline and Data Handling Improvements
TreePipelineoperations to robustly resolve and transpose sample dimensions, ensuring backward compatibility with legacy pipelines and consistent axis handling. Helper functions_resolve_sample_dim,_transpose_sample_first, and_sample_coordswere introduced to encapsulate this logic, and all pipeline operations now use these helpers for dimension handling. (AFL/double_agent/TreePipeline.py) [1] [2] [3] [4] [5] [6]_materialize_input_datasetand_sanitize_object_dtypes_for_chunkingmethods to eagerly load Tiled-backed lazy arrays and convert object-typed variables/coordinates to fixed-width strings, preventing downstream issues with boolean indexing and chunking in xarray. (AFL/double_agent/AgentWebAppMixin.py,AFL/double_agent/AgentDriver.py) [1] [2]AFL/double_agent/AgentWebAppMixin.py,AFL/double_agent/AgentDriver.py) [1] [2]Tiled Entry ID and Web App Enhancements
test_fetch_entrymethod to correctly handle both plain andrun_documents/-prefixed Tiled entry IDs, using a new_get_tiled_run_document_itemhook for normalization and lookup. The returnedentry_idis now normalized. (AFL/double_agent/AgentWebAppMixin.py) [1] [2]QD-...andrun_documents/QD-...entry IDs are accepted. (AFL/double_agent/apps/input_builder/js/main.js)Testing Improvements
tests/test_agentdriver_pipeline_ops.py)IntEncodingin tree pipeline tests. (tests/test_tree_pipeline.py)Miscellaneous Fixes
TensorFlowExtrapolatorwhere the output key was incorrectly namedentropyinstead ofvariance. (AFL/double_agent/TensorFlowExtrapolator.py)Pipeline.pyfor node label parsing. (AFL/double_agent/Pipeline.py)Preprocessorpipeline op to handle scalar and symbol-less transforms robustly. (AFL/double_agent/Preprocessor.py)These changes collectively improve robustness, backward compatibility, and user experience across the Double Agent pipeline and web interface.