workbench 0.8.415__tar.gz → 0.8.417__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.
- {workbench-0.8.415 → workbench-0.8.417}/PKG-INFO +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/Dockerfile +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/ci/endpoint_import_smoke.py +1 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_hpo.py +5 -2
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/inference/Dockerfile +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/training/Dockerfile +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/ml_pipelines/Dockerfile +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/inference/Dockerfile +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/training/Dockerfile +1 -1
- workbench-0.8.417/src/workbench/endpoints/chemprop_utils.py +68 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/chemprop/chemprop.template +46 -234
- workbench-0.8.417/src/workbench/training/chemprop_core.py +383 -0
- workbench-0.8.417/src/workbench/training/chemprop_hpo.py +311 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/training/hpo_harness.py +17 -11
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/PKG-INFO +1 -1
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/SOURCES.txt +1 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/scm_file_list.json +1 -0
- workbench-0.8.417/src/workbench.egg-info/scm_version.json +8 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/training/chemprop_hpo_test.py +4 -3
- workbench-0.8.415/src/workbench/training/chemprop_core.py +0 -169
- workbench-0.8.415/src/workbench/training/chemprop_hpo.py +0 -287
- workbench-0.8.415/src/workbench.egg-info/scm_version.json +0 -8
- {workbench-0.8.415 → workbench-0.8.417}/.flake8 +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.gitattributes +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/dependabot.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/aws-tests.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/deploy-docs.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/endpoint-import-smoke.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/gitleaks.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/lockfile-drift.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/publish.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.github/workflows/python-lint.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.gitleaks.toml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/.pre-commit-config.yaml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/CONTRIBUTING.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/Dockerfile +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/LICENSE +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/Makefile +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/SECURITY.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/app.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/assets/contests/render.js +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/assets/contests/styles.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/assets/favicon.ico +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/assets/ml_pipelines/render.js +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/assets/ml_pipelines/styles.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/dashboard +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/deploy.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/open_source_config.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/contests/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/contests/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/contests/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/data_sources/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/data_sources/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/data_sources/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/endpoints/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/endpoints/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/endpoints/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/feature_sets/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/feature_sets/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/feature_sets/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/license/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/main/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/main/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/main/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/ml_pipelines/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/ml_pipelines/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/ml_pipelines/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/models/callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/models/layout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/models/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/pages/status/page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/requirements.in +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/static/dark.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/applications/aws_dashboard/static/light.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/aws_account_setup.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/aws_identity_check.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/build_ml_pipeline.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/app.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/cdk.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/workbench_compute/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_failure/handler.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/workbench_compute/lambdas/batch_trigger/handler.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_compute/workbench_compute/workbench_compute_stack.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/app.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/cdk.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/requirements-dev.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/source.bat +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/workbench_core/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_core/workbench_core/workbench_core_stack.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/app.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/cdk.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/requirements-dev.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/source.bat +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/workbench_dashboard/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_dashboard/workbench_dashboard/workbench_dashboard_stack.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/app.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/cdk.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/workbench_vpc/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/aws_setup/workbench_vpc/workbench_vpc/workbench_vpc_stack.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ci/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ci/endpoint_smoke_requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ci/lock.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ci/template_import_check.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ci/workbench_ci_config.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/abalone.csv +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/karate_graph.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/alignment_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/build_logp_logd_overlap.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/build_synthetic_multi_task.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/build_tagging_reference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/descriptions.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/logp_to_feature_set.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/overlap_summary.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/pull_common.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/pull_logd_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/pull_logp_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/pull_pxr_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/public_data/upload_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/test_data.csv +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/test_data.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/data/wine_dataset.csv +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/deploy_docker.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/aws_service_limits.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/base_docker_push.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/dashboard_docker_push.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/dashboard_s3_plugins.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/images/dashboard_secret_click.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/images/serverless_quotas.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/images/status_showing_S3_path.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/pypi_release.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/admin/workbench_docker_for_lambdas.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/async_endpoint.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/compound.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/data_source.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/df_store.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/endpoint.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/feature_set.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/graph_store.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/inference_cache.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/inference_store.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/meta.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/meta_endpoint.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/model.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/monitor.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/parameter_store.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/public_data.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/reports.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/api_classes/views.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/aws_setup.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/aws_tips_and_tricks.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/bedrock_security.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/bedrock_setup.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/compute_stack.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/core_stack.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/dashboard_stack.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/domain_cert_setup.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/full_pipeline.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/iam_assume_role.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/redis_tunnel.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/sso_assume_role.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/aws_setup/stacks.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/3d_descriptors.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/aws_endpoint_architecture.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/chemprop_multi_task.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/chemprop_shap.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/confusion_explorer.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/feature_endpoints.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/ml_agent.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/model_confidence.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/molecular_standardization.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/pxr_weekend_experiments.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/compound_etl.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/compound_explorer.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/eda.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/feature_importances.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/fun_with_endpoints.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/htg.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/model_monitoring.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/blogs/storage/residual_analysis.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/cached_data_source.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/cached_endpoint.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/cached_feature_set.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/cached_meta.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/cached_model.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cached/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/chem_utils/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/ci/github_oidc_setup.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/ci/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/cloudwatch/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/comparisons/workbench_vs_databricks.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/compound_explorer/tox21.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/compound_explorer/toxicity_modeling.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/confidence/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/artifact.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/async_endpoint_core.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/athena_source.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/data_source_abstract.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/endpoint_core.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/feature_set_core.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/model_core.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/monitor_core.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/artifacts/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/pipelines/pipeline_meta.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/data_loaders_heavy.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/data_loaders_light.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/data_to_features.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/features_to_model.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/model_to_endpoint.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/pandas_transforms.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/transforms/transform.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/column_subset_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/computation_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/create_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/display_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/inference_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/core_classes/views/pandas_to_view.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/data_algorithms/dataframes/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/data_algorithms/graphs/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/data_algorithms/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/data_algorithms/spark/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/data_algorithms/sql/overview.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/enterprise/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/enterprise/private_saas.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/enterprise/project_branding.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/enterprise/themes.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/getting_started/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/glue/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/3d_descriptor_pipeline.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/3d_descriptor_pipeline_detail.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/3d_descriptor_v2_pipeline.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/agent_repl_chat.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/bedrock_prompt_path.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/big_spider.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_logd.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_mt_expansion.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_mt_transfer.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_overview.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_shap_logd.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/chemprop_shap_pipeline.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/confidence_percentile.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/conformal_calibration.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/confusion_explorer/drilldown_on_errors.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/confusion_explorer/high_confidence.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/confusion_explorer/overview.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/default_stack_flow.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/endpoint_architecture.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/ensemble_disagreement.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/graph_representation.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/meta_endpoint_ensemble.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/meta_endpoint_feature.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/powered_aws_dark_blue.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/powered_aws_transparent.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/powered_aws_white.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/powered_aws_with_tm_grey.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/scp.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/scp_labs.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/small_spider.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/uq_conf_residual.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/uq_pred_scatter.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/workbench_async_stack_flow.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/workbench_concepts.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/images/workbench_stack_flow.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/javascripts/mathjax.js +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/lambda_layer/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/misc/faq.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/misc/general_info.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/misc/scp_consulting.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/misc/workbench_classes_concepts.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/ml_pipelines/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/model_utils/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/chemprop_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/cleanlab_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/fingerprint_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/images/chemprop_decision_tree.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/images/confidence.jpg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/images/hybrid_architecture.svg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/meta_endpoints.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/pytorch_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/sklearn_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/models/xgboost_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/plugins/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/presentations/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_158.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_339.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_358.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_384.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_396.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/release_notes/0_8_398.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/repl/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/road_maps/0_9_0.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/road_maps/0_9_5.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/stylesheets/extra.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/themes/details.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/docs/themes/index.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/ag-grid/hello_world.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/chem_utils/curate_admet_dataset.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/chem_utils/tag_molecules.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/chem_utils/tautomerize_smiles.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/datasource/datasource_from_df.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/datasource/datasource_from_s3.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/datasource/datasource_query.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/datasource/datasource_stats.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/datasource/datasource_to_featureset.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/endpoint/endpoint_details.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/endpoint/endpoint_inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/endpoint/endpoint_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/featureset/featureset_eda.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/featureset/featureset_query.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/full_ml_pipeline.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/glue_jobs/glue_example_1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/glue_jobs/glue_example_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/glue_jobs/glue_example_3.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/glue_jobs/glue_launcher_examples/example_1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/glue_jobs/glue_launcher_examples/example_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/meta/meta_list_endpoints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/meta/meta_list_models.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/meta/meta_model_summary.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/ml_flow/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/ml_flow/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/ml_flow/aqsol_mlflow.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/ml_flow/aqsol_workbench_holdout.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/model_utils/model_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/model_utils/model_to_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/model_utils/onboard_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/aqsol_example.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_bounded_loss_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_foundation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_logp_logd_synthetic.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_logp_logd_tiered.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_new_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/chemprop_v2_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/dbscan.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/knn.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/meta_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/pytorch.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/pytorch_new_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/pytorch_v2_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/random_forest.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/split_comparison_chemprop.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/split_comparison_pytorch.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/split_comparison_xgb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/bayesian_ridge.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/ensemble_xgb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/gaussian_process.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/meta_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/ngboost.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/uq/quant_xgb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/xgb_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/xgb_model_new_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/models/xgb_model_v2_uq.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/monitor/monitor_setup.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/monitor/monitor_usage.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/assets/hello/render.js +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/assets/hello/styles.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/branding/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/branding/scp.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/components/custom_plugin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/components/endpoint_plugin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/components/endpoint_turbo.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/components/model_markdown.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/components/model_plugin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/packages/my_plugin_utils/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/packages/my_plugin_utils/assets/foo.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/packages/my_plugin_utils/cool_stuff.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/pages/plugin_page_1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/pages/plugin_page_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/pages/plugin_page_3.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/pages/plugin_page_assets.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/templates/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/views/model_plugin_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/examples/plugins/views/my_view_plugin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/chem_info/bulk_sims.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/chem_info/knn_sims.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/confidence_roc_curve.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/coverage_probability.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/db_scan_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/log_testing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/networkx_id.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/prediction_intervals.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/residual_analysis.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/rocauc_testing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/experiments/scatter_zoom_issue.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/_common.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/molecular_utils/fingerprints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors_3d.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/molecular_utils/mol_descriptors_3d_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/molecular_utils/mol_standardize.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/smiles_to_2d_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/smiles_to_2d_salt_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/smiles_to_3d_v1_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/smiles_to_3d_v2_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/model_scripts/smiles_to_fingerprints_model_script.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_2d_3d_salt_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_2d_3d_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_2d_3d_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_2d_salt_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_2d_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_3d_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_3d_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/feature_endpoints/smiles_to_fingerprints_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/glue_jobs/create_glue_workflow_with_trigger.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/glue_jobs/example_glue_job.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/build_deploy.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/example_lambda/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/example_lambda/handler.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/example_lambda/local_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/example_lambda/sample_pipelines/demo/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/lambda_layers/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/mkdocs.yml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/.gitignore +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/README_rx.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/caco2_efflux/caco2_efflux.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/caco2_efflux/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/caco2_papp_a_b/caco2_papp_a_b.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/caco2_papp_a_b/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/hlm_clint/hlm_clint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/hlm_clint/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/images/confidence.jpg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/images/open_admet_model.jpg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/ksol/ksol.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/ksol/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/load_data/load_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/load_data/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/logd/logd.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/logd/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mbpb/mbpb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mbpb/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mgmb/mgmb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mgmb/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mlm_clint/mlm_clint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mlm_clint/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mppb/mppb.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/mppb/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_chemeleon_phase1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_mt_phase1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_phase1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase1/pxr_chemprop_tuned_phase1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase2/activity_leaderboard_phase2.csv +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase2/pxr_chemprop_mt_phase2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/phase2/pxr_chemprop_phase2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/pxr_chemprop_mt_feature_sets.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/pxr_feature_sets.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/pxr/pxr_pytorch_3dv2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/support/hello_world.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/support/model_metrics.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/support/run_inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/OpenADMET/support/utils/compute_model_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/aqsol_class_1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/aqsol_class_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/aqsol_feature_set.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/aqsol_reg_1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/aqsol_reg_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/AqSol/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/abalone/abalone.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/abalone/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/test_data/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/test_data/test_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/wine_data/pipelines.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/Testing/wine_data/wine_classifier.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/plugins/models/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ml_pipelines/plugins/models/model_promotion.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/Inference_On_Legacy_Models.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/ML_Pipeline_with_Workbench.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/ML_Pipeline_with_Workbench_2.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/Outliers_in_Workbench.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/Regression_Confidence_Experiments.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/Residual_Analysis.ipynb +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/images/athena_query_aqsol.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/images/aws_dashboard_aqsol.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/images/dashboard_aqsol_features.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/images/model_screenshot.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/notebooks/images/scp_labs.png +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/presentations/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/pyproject.toml +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/inference/requirements.in +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/inference/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/training/requirements.in +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/base/training/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/build_deploy.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/deploy_all +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/ml_pipelines/ml_pipeline_runner.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/ml_pipelines/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/inference/requirements.in +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/inference/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/training/requirements.in +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/pytorch_chem/training/requirements.lock +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/shared/main.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/shared/serve +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/tests/data/abalone_sm.csv +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/tests/example_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/tests/run_tests.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/tests/test_inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/sagemaker_images/tests/test_training.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/active_logs.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admet/partition_aqsol_alignment.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/async_typical_usage.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/athena_ddl_mixed_case.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/backfill_autoscaling_alarm_metadata.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/backfill_contest_reports.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/backfill_prm_endpoint_tags.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/capture_check.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/check_all_glue_tables.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/chemprop_timing_report.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/compact_inference_cache.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/delete_invalid_views.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/delete_old_lambda_layers.sh +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/delete_redis_keys.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/find_models_with_bridges.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/find_orphan_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/find_orphan_models.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/inference_cache_concurrency_check.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/list_datacatalog.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/migration/TAG_MIGRATION.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/migration/migrate_legacy_tags.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/populate_activity_cliffs_reference_compounds.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/populate_reference_compounds.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/pull_image_digest.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/redis_reaper.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds/3d.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds/3d_perf.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds/complexity_skips.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds/corner_cases.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds/standardization.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/reference_compounds_common.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/smiles_nan_investigation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/spam_list_tags.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/storage/convert_training_views.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/storage/copy_data_sources_across_envs.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/storage/migrate_data_source_via_df.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/storage/migrate_ds_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/test_3d_descriptors.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/test_3d_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/test_batch_job_failure.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/test_no_workbench_config.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/admin/verify_async_autoscaling.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/benchmark_fp_proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/compare_dataframes.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/compare_model_packages.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/delete_data_capture.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/endpoint_timing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/get_tags.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/llm_deploys/deepseek_deploy.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/model_cache_refresh.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/model_endpoint_sanity_check.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/monitor_event_bridge.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/onboard_endpoints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/onboard_models.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/pubchem/pubchem_example.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/pubchem/pubchem_query.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/pubchem/pubchem_query_with_cid.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/sagemaker_pipeline_model_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/seaborn_to_plotly.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/test_feature_set_creation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/tox21/test_tox_heuristic.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/tox21/tox21_to_df_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/scripts/uq_v1_baseline_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/setup.cfg +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/bosco.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/api_classes.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/batch.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/cheminformatics.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/code_search.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/compounds.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/contests.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/dashboard.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/data_and_features.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/endpoints.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/exploring.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/feature_endpoints.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/general.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/introspection.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/making_models.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/monitoring.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/pipelines.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/plotting.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/promotion.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/proximity.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/public_data.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/publishing.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/security.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/tokens.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/tutorial.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/uq.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/guides/using_bosco.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/personalities.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/agent/tools.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/activity_landscape.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/data_source_eda.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/feature_space_proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/fingerprint_proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/multi_task_alignment.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/projection_2d.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/residual_features.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/smart_aggregator.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/storage/aggregation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/storage/feature_spider.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/storage/row_tagger.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/storage/target_gradients.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/uq_model_v0.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/uq_model_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/dataframe/uq_model_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/heavy/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/light/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/light/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/light/laplacian_smoothness.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/graph/light/proximity_graph.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/models/cleanlab_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/models/noise_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/spark/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/column_stats.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/correlations.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/descriptive_stats.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/outliers.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/sample_rows.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/algorithms/sql/value_counts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/compound.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/data_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/df_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/feature_set.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/graph_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/inference_cache.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/inference_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/meta_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/monitor.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/parameter_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/public_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/api/reports.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/batch/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/batch/models/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/batch/models/model_promotion.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_artifact_mixin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_data_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_feature_set.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/cached/cached_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/artifact.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/async_endpoint_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/athena_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/data_capture_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/data_source_abstract.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/data_source_factory.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/endpoint_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/feature_set_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/model_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/artifacts/monitor_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/aws_account_clamp.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/aws_graph_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/aws_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/aws_secrets_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/aws_session.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/boto_session.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/aws/cache_dataframe.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/azure/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/cloud_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/cloud_platform/gcp/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/df_store_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/parameter_store_core.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/pipelines/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/pipelines/pipeline_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/heavy/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/heavy/s3_heavy_to_data_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/light/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/light/csv_to_data_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/light/json_to_data_source.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_loaders/light/s3_to_data_source_light.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/heavy/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/heavy/emr/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/heavy/glue/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/light/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/light/clean_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_data/light/data_to_data_light.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/heavy/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/heavy/chunk/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/heavy/emr/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/heavy/glue/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/light/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/light/data_to_features_light.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/data_to_features/light/molecular_descriptors.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/features_to_features/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/features_to_features/heavy/emr/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/features_to_features/heavy/glue/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/features_to_model/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/features_to_model/features_to_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/model_to_endpoint/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/model_to_endpoint/model_to_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/data_to_pandas.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/features_to_pandas.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/pandas_to_data.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/pandas_to_features.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/pandas_transforms/pandas_to_features_chunked.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/transforms/transform.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/column_subset_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/computation_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/create_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/display_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/inference_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/pandas_to_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/core/views/view_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/async_inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/chemprop_shap_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/df_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/fast_inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/fingerprint_proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/fingerprints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/inference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/meta_endpoint_dag.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/parameter_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/pytorch_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/residual_features.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/uq_harness.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/uq_model_v0.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/uq_model_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/uq_model_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/endpoints/uq_regression.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/lambda_layer/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/lambda_layer/pipeline_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/chemprop/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/network_security/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/Readme.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/bayesian_ridge.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/ensemble_xgb.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/feature_space_proximity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/gaussian_process.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/ngboost.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_models/uq_models/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_script_example/custom_model_script.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/custom_script_example/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/meta_endpoint/meta_endpoint.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/pytorch_model/pytorch.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/pytorch_model/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/scikit_learn/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/scikit_learn/scikit_learn.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/script_generation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/xgb_model/requirements.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/xgb_model/xgb_model.template +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/repl/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/repl/workbench_shell.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/resources/open_source_api.key +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/resources/signature_verify_pub.pem +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/bedrock_verify.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/check_double_bond_stereo.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/df_store.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/endpoint_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/ensemble_sim.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/glue_launcher.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/lambda_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/ml_pipeline_batch.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/ml_pipeline_launcher.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/ml_pipeline_sqs.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/monitor_cloud_watch.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/redis_expire.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/redis_report.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/redis_tunnel.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/show_config.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/scripts/training_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/dark/base_css.url +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/dark/custom.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/dark/plotly.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/light/base_css.url +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/light/branding.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/light/custom.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/light/plotly.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/midnight_blue/base_css.url +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/midnight_blue/branding.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/midnight_blue/custom.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/themes/midnight_blue/plotly.json +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/training/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/training/training_harness.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/training/validation.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/aggregation_nodes.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/async_endpoint_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/athena_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/aws_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/batch_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/bedrock_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/bulk_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/cache.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/fingerprints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/misc.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/mol_descriptors.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/mol_descriptors_3d.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/mol_descriptors_3d_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/mol_standardize.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/mol_tagging.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/projections.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/salts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/sdf.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/toxicity.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chem_utils/vis.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/chemprop_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/cloudwatch_handler.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/cloudwatch_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/color_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/config_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/contest_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/cow_puns.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/dashboard_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/dashboard_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/datetime_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/deprecated_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/df_to_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/distribution_stats.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/ecs_info.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/endpoint_autoscaling.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/endpoint_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/endpoint_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/ensemble_simulator.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/ensemble_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/execution_environment.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/extract_model_artifact.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/glue_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/graph_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/inference_cache_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/ipython_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/json_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/license_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/log_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/markdown_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/meta_endpoint_dag.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/metrics_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/model_comparison.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/model_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/monitor_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/multi_task.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/pandas_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/performance_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/pipeline_serializer.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/pipeline_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/plot_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/plugin_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/prox_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/pytorch_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/redis_cache.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/repl_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/s3_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/shap_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/shapley_values.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/symbols.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/synthetic_data_generator.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/theme_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/tree_render.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/type_abbrev.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/workbench_cache.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/workbench_event_bridge.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/workbench_logging.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/workbench_sqs.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/xgboost_local_crossfold.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/utils/xgboost_model_utils.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/component_interface.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/correlation_matrix.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/data_details_markdown.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/endpoint_metric_plots.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/experiments/dashboard_metric_plots.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/experiments/outlier_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugin_interface.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugin_unit_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/ag_table.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/confusion_explorer.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/confusion_matrix.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/confusion_triangle.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/dashboard_status.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/data_details.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/endpoint_details.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/example_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/graph_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/license_details.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/model_details.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/model_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/molecule_panel.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/molecule_viewer.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/multi_task_alignment_map.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/proximity_mini_graph.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/scatter_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/plugins/shap_summary_plot.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/settings_menu.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/components/violin_plots.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/contests_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/data_sources_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/endpoints_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/feature_sets_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/main_page.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/ml_pipelines_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/models_page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/page_views/page_view.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/utils/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench/web_interface/utils/clientside_callbacks.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/dependency_links.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/entry_points.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/requires.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/src/workbench.egg-info/top_level.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_aqsol_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_aqsol_artifacts_all.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_aqsol_rt_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_basic_test_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_copy_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_empty_model_group.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_endpoints_for_timing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_graph_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_knn_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_meta_endpoints.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_proximity_models.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_quant_regression_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_realtime_endpoint.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_sagemaker_pipeline_model.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_training_adjusted_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/create_wine_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/delete_stress_test_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/delete_test_artifacts.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/hyper_testing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/regression_ensemble.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/test_artifacts/stress_test_aws.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/README.md +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/agent/test_guide_api_references.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/agent/test_run_python_log_capture.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/data_source_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/empty_model_group.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/featureset_ingest_boundaries.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/featureset_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/graph_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/meta_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/model_metrics_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/artifacts/model_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/aws_account/aws_account_clamp_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/cached/cached_artifact_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/cached/cached_meta_api_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/cached/cached_meta_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_complexity_cost_guard.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_conformer_energies.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_descriptors_3d_v2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_standardization_reference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_tagging_reference.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/chem_info/test_tautomerization.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/confidence/test_uq_harness.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/corner_cases/end_to_end.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/df_store/df_store_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/df_store/reports_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/endpoint_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/inference_cache_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/meta_endpoint_dag_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/test_async_idempotent.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/test_async_passthrough.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/test_async_warmup.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/endpoints/test_capture_inference_metrics.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/feature_endpoints/test_3d_complexity_skips.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/feature_endpoints/test_3d_corner_cases.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/feature_endpoints/test_3d_timing.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/feature_endpoints/test_smiles_to_3d_v1.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/lambda_layer/test_layer_dependencies.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pandas_tests/test_convert_column_types.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pandas_tests/test_drift.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pandas_tests/test_multi_task.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pandas_tests/test_temporal_split.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/parameter_store/param_store_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pipelines/test_pipeline_launcher.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pipelines/test_pipeline_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pipelines/test_pipeline_meta.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pipelines/test_pipeline_serializer.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/plugin_tests/crashing_plugin.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/pytorch/pytorch_hello.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/requirements-dev.txt +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/capital_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/column_changes.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/config_manager.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/deletion_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/feature_ingest_multiprocessing_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/multi_task_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/public_data_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/shap_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/specific/tag_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/training/hpo_harness_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/data_to_data_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/data_to_features_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/features_to_model_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/model_to_endpoint_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/pandas_to_data_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/transforms/pandas_to_features_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/uq/__init__.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/uq/conftest.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/uq/fixtures.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/uq/reference_v0_8_338.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/utils/test_execution_environment.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/utils/test_model_comparison.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/utils/test_tree_render.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/validation/chemprop_validation_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/validation/pytorch_validation_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/validation/row_roles_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/validation/validation_split_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/validation/xgb_validation_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/views/view_tests.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/views/view_tests_complex.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/web_components/confusion_matrix_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/web_components/correlation_matrix_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/web_components/graph_plot_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/web_components/plugin_interface_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tests/web_components/scatter_plot_test.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/tox.ini +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ui_testing/assets/custom.css +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ui_testing/table_comparison.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ui_testing/theme_switching.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/ui_testing/theme_switching_2.py +0 -0
- {workbench-0.8.415 → workbench-0.8.417}/uv.lock +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: workbench
|
|
3
|
-
Version: 0.8.
|
|
3
|
+
Version: 0.8.417
|
|
4
4
|
Summary: Workbench: A Dashboard and Python API for creating and deploying AWS SageMaker Model Pipelines
|
|
5
5
|
Author-email: SuperCowPowers LLC <support@supercowpowers.com>
|
|
6
6
|
License: MIT License
|
|
@@ -29,7 +29,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|
|
29
29
|
-r /tmp/requirements.lock
|
|
30
30
|
|
|
31
31
|
# Layer 2: Workbench only (changes often, ~20 MB)
|
|
32
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
32
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
33
33
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}"
|
|
34
34
|
|
|
35
35
|
# Copy app code and configuration (after pip installs to avoid cache invalidation)
|
|
@@ -46,6 +46,7 @@ PYPROJECT = REPO_ROOT / "pyproject.toml"
|
|
|
46
46
|
_FRAMEWORK_SPECIFIC = {
|
|
47
47
|
"workbench.endpoints.pytorch_utils": {"torch"},
|
|
48
48
|
"workbench.endpoints.chemprop_shap_utils": {"torch", "chemprop"},
|
|
49
|
+
"workbench.endpoints.chemprop_utils": {"chemprop"},
|
|
49
50
|
}
|
|
50
51
|
|
|
51
52
|
# Extras that don't ship to any container at runtime and aren't relevant to
|
|
@@ -28,9 +28,12 @@ if recreate or not Model(model_name).exists():
|
|
|
28
28
|
hyperparameters={
|
|
29
29
|
"uq_version": "v1",
|
|
30
30
|
"hpo": {
|
|
31
|
-
|
|
31
|
+
# "ray" + max_parallel > 1 runs trials concurrently (ASHA) and puts the job
|
|
32
|
+
# on a 4-GPU instance; "optuna" is the serial single-GPU path.
|
|
33
|
+
"backend": "ray",
|
|
34
|
+
"max_parallel": 8, # 4 GPUs x 2 trials each (see gpus_per_trial)
|
|
32
35
|
"n_trials": 40, # 5 baseline trials (pruner warmup) + 35 pruned candidates
|
|
33
|
-
"search_space": "basic", # "basic" (architecture
|
|
36
|
+
"search_space": "basic", # "basic" (architecture capacity) | "basic+lr"
|
|
34
37
|
},
|
|
35
38
|
},
|
|
36
39
|
# For an honest out-of-distribution objective, pass validation_ids=[...]: those
|
|
@@ -36,7 +36,7 @@ COPY --from=builder /usr/local/bin /usr/local/bin
|
|
|
36
36
|
# workbench-bridges==0.2.10 retained for backward compat with existing
|
|
37
37
|
# deployed-endpoint model bundles; drop in a future image rev once no
|
|
38
38
|
# production endpoint references workbench_bridges.
|
|
39
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
39
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
40
40
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}" && \
|
|
41
41
|
pip install --no-deps "workbench-bridges==0.2.10"
|
|
42
42
|
|
|
@@ -35,6 +35,6 @@ COPY --from=builder /usr/local/bin /usr/local/bin
|
|
|
35
35
|
# workbench-bridges==0.2.10 is retained for backward compatibility with
|
|
36
36
|
# existing deployed-endpoint model bundles; drop in a future image rev once
|
|
37
37
|
# no production endpoint references workbench_bridges.
|
|
38
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
38
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
39
39
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}" && \
|
|
40
40
|
pip install --no-deps "workbench-bridges==0.2.10"
|
|
@@ -48,7 +48,7 @@ COPY --from=builder /usr/local/bin /usr/local/bin
|
|
|
48
48
|
# Layer 2: Workbench + Bridges (changes often, small layer)
|
|
49
49
|
# workbench-bridges==0.2.10 pinned for reproducibility while we still depend
|
|
50
50
|
# on it; on track for deprecation once nothing references workbench_bridges.
|
|
51
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
51
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
52
52
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}" && \
|
|
53
53
|
pip install --no-deps "workbench-bridges==0.2.10"
|
|
54
54
|
|
|
@@ -40,7 +40,7 @@ COPY --from=builder /usr/local/bin /usr/local/bin
|
|
|
40
40
|
# Layer 2: Workbench + bridges — rebuilds per version bump, ~20 MB delta.
|
|
41
41
|
# workbench-bridges==0.2.10 retained for backward compat with existing
|
|
42
42
|
# deployed-endpoint model bundles.
|
|
43
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
43
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
44
44
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}" && \
|
|
45
45
|
pip install --no-deps "workbench-bridges==0.2.10"
|
|
46
46
|
|
|
@@ -34,6 +34,6 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
|
|
34
34
|
# Layer 2: Workbench + bridges — rebuilds per version bump, ~20 MB delta.
|
|
35
35
|
# workbench-bridges==0.2.10 retained for backward compat with existing
|
|
36
36
|
# deployed-endpoint model bundles.
|
|
37
|
-
ARG WORKBENCH_VERSION=0.8.
|
|
37
|
+
ARG WORKBENCH_VERSION=0.8.416
|
|
38
38
|
RUN pip install --no-deps "workbench==${WORKBENCH_VERSION}" && \
|
|
39
39
|
pip install --no-deps "workbench-bridges==0.2.10"
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"""Dual-use ChemProp dataset helpers — shared by training and endpoint inference.
|
|
2
|
+
|
|
3
|
+
Lives on the endpoint import surface (per the :mod:`workbench.endpoints` contract)
|
|
4
|
+
because the serving ``predict_fn`` builds datapoints the same way training does.
|
|
5
|
+
Top-level deps are numpy + chemprop, both supplied by the ``pytorch_chem`` base image.
|
|
6
|
+
"""
|
|
7
|
+
|
|
8
|
+
import numpy as np
|
|
9
|
+
|
|
10
|
+
from chemprop import data
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def safe_batch_size(dataset_len: int, batch_size: int) -> int:
|
|
14
|
+
"""Compute a batch size that avoids ChemProp's drop_last behavior.
|
|
15
|
+
|
|
16
|
+
ChemProp's build_dataloader sets drop_last=True when len(dataset) % batch_size == 1
|
|
17
|
+
to avoid batch norm issues with single-sample batches. For prediction/inference this
|
|
18
|
+
drops a sample, causing misalignment with the source DataFrame. Bumping batch_size
|
|
19
|
+
by 1 in that case makes the last batch 2 samples instead of 1, avoiding both problems.
|
|
20
|
+
"""
|
|
21
|
+
if dataset_len % batch_size == 1:
|
|
22
|
+
return batch_size + 1
|
|
23
|
+
return batch_size
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def find_smiles_column(columns: list[str]) -> str:
|
|
27
|
+
"""Find SMILES column (case-insensitive match for 'smiles')."""
|
|
28
|
+
smiles_col = next((c for c in columns if c.lower() == "smiles"), None)
|
|
29
|
+
if smiles_col is None:
|
|
30
|
+
raise ValueError("Column list must contain a 'smiles' column (case-insensitive)")
|
|
31
|
+
return smiles_col
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
def create_molecule_datapoints(
|
|
35
|
+
smiles_list: list[str],
|
|
36
|
+
targets: np.ndarray | None = None,
|
|
37
|
+
extra_descriptors: np.ndarray | None = None,
|
|
38
|
+
gt_mask: np.ndarray | None = None,
|
|
39
|
+
lt_mask: np.ndarray | None = None,
|
|
40
|
+
) -> tuple[list[data.MoleculeDatapoint], list[int]]:
|
|
41
|
+
"""Create ChemProp MoleculeDatapoints from SMILES strings.
|
|
42
|
+
|
|
43
|
+
gt_mask/lt_mask are per-(row, target) boolean arrays for bounded-loss training:
|
|
44
|
+
gt_mask[i, j] == True means target j on row i is right-censored (true value >= y).
|
|
45
|
+
lt_mask[i, j] == True means target j on row i is left-censored (true value <= y).
|
|
46
|
+
|
|
47
|
+
Returns the datapoints plus the indices of the SMILES RDKit could parse (rows that
|
|
48
|
+
fail to parse are dropped, so callers must align downstream arrays on these indices).
|
|
49
|
+
"""
|
|
50
|
+
from rdkit import Chem
|
|
51
|
+
|
|
52
|
+
datapoints, valid_indices = [], []
|
|
53
|
+
targets = np.atleast_2d(np.array(targets)).T if targets is not None and np.array(targets).ndim == 1 else targets
|
|
54
|
+
|
|
55
|
+
for i, smi in enumerate(smiles_list):
|
|
56
|
+
if Chem.MolFromSmiles(smi) is None:
|
|
57
|
+
continue
|
|
58
|
+
y = targets[i].tolist() if targets is not None else None
|
|
59
|
+
x_d = extra_descriptors[i] if extra_descriptors is not None else None
|
|
60
|
+
kwargs = {"y": y, "x_d": x_d}
|
|
61
|
+
if gt_mask is not None:
|
|
62
|
+
kwargs["gt_mask"] = gt_mask[i]
|
|
63
|
+
if lt_mask is not None:
|
|
64
|
+
kwargs["lt_mask"] = lt_mask[i]
|
|
65
|
+
datapoints.append(data.MoleculeDatapoint.from_smi(smi, **kwargs))
|
|
66
|
+
valid_indices.append(i)
|
|
67
|
+
|
|
68
|
+
return datapoints, valid_indices
|
{workbench-0.8.415 → workbench-0.8.417}/src/workbench/model_scripts/chemprop/chemprop.template
RENAMED
|
@@ -49,6 +49,11 @@ from workbench.endpoints.uq_harness import (
|
|
|
49
49
|
compute_vgmu_confidence,
|
|
50
50
|
load_classification_uq,
|
|
51
51
|
)
|
|
52
|
+
from workbench.endpoints.chemprop_utils import (
|
|
53
|
+
create_molecule_datapoints,
|
|
54
|
+
find_smiles_column,
|
|
55
|
+
safe_batch_size,
|
|
56
|
+
)
|
|
52
57
|
from workbench.endpoints.uq_regression import load_regression_uq
|
|
53
58
|
|
|
54
59
|
print(f"[{time.strftime('%H:%M:%S')}] [startup] heavy deps imported", flush=True)
|
|
@@ -129,64 +134,6 @@ TEMPLATE_PARAMS = {
|
|
|
129
134
|
}
|
|
130
135
|
|
|
131
136
|
|
|
132
|
-
# =============================================================================
|
|
133
|
-
# Helper Functions
|
|
134
|
-
# =============================================================================
|
|
135
|
-
def _safe_batch_size(dataset_len: int, batch_size: int) -> int:
|
|
136
|
-
"""Compute a batch size that avoids ChemProp's drop_last behavior.
|
|
137
|
-
|
|
138
|
-
ChemProp's build_dataloader sets drop_last=True when len(dataset) % batch_size == 1
|
|
139
|
-
to avoid batch norm issues with single-sample batches. For prediction/inference this
|
|
140
|
-
drops a sample, causing misalignment with the source DataFrame. Bumping batch_size
|
|
141
|
-
by 1 in that case makes the last batch 2 samples instead of 1, avoiding both problems.
|
|
142
|
-
"""
|
|
143
|
-
if dataset_len % batch_size == 1:
|
|
144
|
-
return batch_size + 1
|
|
145
|
-
return batch_size
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
def _find_smiles_column(columns: list[str]) -> str:
|
|
149
|
-
"""Find SMILES column (case-insensitive match for 'smiles')."""
|
|
150
|
-
smiles_col = next((c for c in columns if c.lower() == "smiles"), None)
|
|
151
|
-
if smiles_col is None:
|
|
152
|
-
raise ValueError("Column list must contain a 'smiles' column (case-insensitive)")
|
|
153
|
-
return smiles_col
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
def _create_molecule_datapoints(
|
|
157
|
-
smiles_list: list[str],
|
|
158
|
-
targets: np.ndarray | None = None,
|
|
159
|
-
extra_descriptors: np.ndarray | None = None,
|
|
160
|
-
gt_mask: np.ndarray | None = None,
|
|
161
|
-
lt_mask: np.ndarray | None = None,
|
|
162
|
-
) -> tuple[list[data.MoleculeDatapoint], list[int]]:
|
|
163
|
-
"""Create ChemProp MoleculeDatapoints from SMILES strings.
|
|
164
|
-
|
|
165
|
-
gt_mask/lt_mask are per-(row, target) boolean arrays for bounded-loss training:
|
|
166
|
-
gt_mask[i, j] == True means target j on row i is right-censored (true value >= y).
|
|
167
|
-
lt_mask[i, j] == True means target j on row i is left-censored (true value <= y).
|
|
168
|
-
"""
|
|
169
|
-
from rdkit import Chem
|
|
170
|
-
|
|
171
|
-
datapoints, valid_indices = [], []
|
|
172
|
-
targets = np.atleast_2d(np.array(targets)).T if targets is not None and np.array(targets).ndim == 1 else targets
|
|
173
|
-
|
|
174
|
-
for i, smi in enumerate(smiles_list):
|
|
175
|
-
if Chem.MolFromSmiles(smi) is None:
|
|
176
|
-
continue
|
|
177
|
-
y = targets[i].tolist() if targets is not None else None
|
|
178
|
-
x_d = extra_descriptors[i] if extra_descriptors is not None else None
|
|
179
|
-
kwargs = {"y": y, "x_d": x_d}
|
|
180
|
-
if gt_mask is not None:
|
|
181
|
-
kwargs["gt_mask"] = gt_mask[i]
|
|
182
|
-
if lt_mask is not None:
|
|
183
|
-
kwargs["lt_mask"] = lt_mask[i]
|
|
184
|
-
datapoints.append(data.MoleculeDatapoint.from_smi(smi, **kwargs))
|
|
185
|
-
valid_indices.append(i)
|
|
186
|
-
|
|
187
|
-
return datapoints, valid_indices
|
|
188
|
-
|
|
189
|
-
|
|
190
137
|
# =============================================================================
|
|
191
138
|
# Model Loading (for SageMaker inference)
|
|
192
139
|
# =============================================================================
|
|
@@ -255,7 +202,7 @@ def predict_fn(df: pd.DataFrame, model_dict: dict) -> pd.DataFrame:
|
|
|
255
202
|
print(f"Hybrid mode: {len(feature_metadata['extra_feature_cols'])} extra features")
|
|
256
203
|
|
|
257
204
|
# Find SMILES column and validate
|
|
258
|
-
smiles_column =
|
|
205
|
+
smiles_column = find_smiles_column(df.columns.tolist())
|
|
259
206
|
smiles_list = df[smiles_column].tolist()
|
|
260
207
|
|
|
261
208
|
valid_mask = np.array([bool(s and isinstance(s, str) and s.strip()) for s in smiles_list])
|
|
@@ -290,7 +237,7 @@ def predict_fn(df: pd.DataFrame, model_dict: dict) -> pd.DataFrame:
|
|
|
290
237
|
extra_features[:, j] = col_means[j]
|
|
291
238
|
|
|
292
239
|
# Create datapoints and predict
|
|
293
|
-
datapoints, rdkit_valid =
|
|
240
|
+
datapoints, rdkit_valid = create_molecule_datapoints(valid_smiles, extra_descriptors=extra_features)
|
|
294
241
|
if len(datapoints) == 0:
|
|
295
242
|
return df
|
|
296
243
|
|
|
@@ -411,7 +358,6 @@ if __name__ == "__main__":
|
|
|
411
358
|
import glob
|
|
412
359
|
|
|
413
360
|
import awswrangler as wr
|
|
414
|
-
from lightning import pytorch as pl
|
|
415
361
|
from sklearn.preprocessing import LabelEncoder
|
|
416
362
|
|
|
417
363
|
# Enable Tensor Core optimization for GPUs that support it
|
|
@@ -422,8 +368,6 @@ if __name__ == "__main__":
|
|
|
422
368
|
# or they silently run on CPU (was the single largest cost before this fix).
|
|
423
369
|
device = "cuda" if torch.cuda.is_available() else "cpu"
|
|
424
370
|
|
|
425
|
-
from chemprop import nn
|
|
426
|
-
|
|
427
371
|
from workbench.endpoints.inference import (
|
|
428
372
|
check_dataframe,
|
|
429
373
|
compute_classification_metrics,
|
|
@@ -438,7 +382,7 @@ if __name__ == "__main__":
|
|
|
438
382
|
save_classification_uq,
|
|
439
383
|
)
|
|
440
384
|
from workbench.endpoints.uq_regression import fit_regression_uq, save_regression_uq
|
|
441
|
-
from workbench.training.chemprop_core import
|
|
385
|
+
from workbench.training.chemprop_core import FoldSpec, train_chemprop_fold
|
|
442
386
|
|
|
443
387
|
# -------------------------------------------------------------------------
|
|
444
388
|
# Setup: Parse arguments and load data
|
|
@@ -474,7 +418,7 @@ if __name__ == "__main__":
|
|
|
474
418
|
raise ValueError("'targets' must be a non-empty list of target column names")
|
|
475
419
|
n_targets = len(target_columns)
|
|
476
420
|
|
|
477
|
-
smiles_column =
|
|
421
|
+
smiles_column = find_smiles_column(feature_list)
|
|
478
422
|
extra_feature_cols = [f for f in feature_list if f != smiles_column]
|
|
479
423
|
use_extra_features = len(extra_feature_cols) > 0
|
|
480
424
|
|
|
@@ -593,7 +537,7 @@ if __name__ == "__main__":
|
|
|
593
537
|
print(f"Criterion -> bounded variant ({hyperparameters.get('criterion', 'mae')}).")
|
|
594
538
|
|
|
595
539
|
# Filter invalid SMILES
|
|
596
|
-
_, valid_indices =
|
|
540
|
+
_, valid_indices = create_molecule_datapoints(all_df[smiles_column].tolist(), all_targets, all_extra_features)
|
|
597
541
|
all_df = all_df.iloc[valid_indices].reset_index(drop=True)
|
|
598
542
|
all_targets = all_targets[valid_indices]
|
|
599
543
|
if all_extra_features is not None:
|
|
@@ -673,178 +617,46 @@ if __name__ == "__main__":
|
|
|
673
617
|
else None
|
|
674
618
|
)
|
|
675
619
|
|
|
620
|
+
fold_spec = FoldSpec(
|
|
621
|
+
hyperparameters=hyperparameters,
|
|
622
|
+
task=task,
|
|
623
|
+
model_type=model_type,
|
|
624
|
+
smiles_column=smiles_column,
|
|
625
|
+
n_targets=n_targets,
|
|
626
|
+
num_classes=num_classes,
|
|
627
|
+
n_extra_descriptors=n_extra,
|
|
628
|
+
task_weights=task_weights,
|
|
629
|
+
use_bounded_loss=use_bounded_loss,
|
|
630
|
+
use_extra_features=use_extra_features,
|
|
631
|
+
)
|
|
632
|
+
|
|
676
633
|
ensemble_models = []
|
|
677
634
|
for fold_idx, (train_idx, val_idx) in enumerate(folds):
|
|
678
635
|
print(f"\n{'='*50}")
|
|
679
636
|
print(f"Fold {fold_idx + 1}/{len(folds)} - Train: {len(train_idx)}, Val: {len(val_idx)}")
|
|
680
637
|
print(f"{'='*50}")
|
|
681
638
|
|
|
682
|
-
#
|
|
683
|
-
|
|
684
|
-
train_targets, val_targets = all_targets[train_idx], all_targets[val_idx]
|
|
685
|
-
train_extra = all_extra_features[train_idx] if all_extra_features is not None else None
|
|
639
|
+
# val_extra is copied before training: normalize_inputs scales the descriptor rows
|
|
640
|
+
# in place, and prediction needs them unscaled.
|
|
686
641
|
val_extra = all_extra_features[val_idx] if all_extra_features is not None else None
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
df_val[smiles_column].tolist(),
|
|
703
|
-
val_targets,
|
|
704
|
-
val_extra,
|
|
705
|
-
gt_mask=val_gt,
|
|
706
|
-
lt_mask=val_lt,
|
|
707
|
-
)
|
|
708
|
-
train_dataset, val_dataset = data.MoleculeDataset(train_dps), data.MoleculeDataset(val_dps)
|
|
709
|
-
|
|
710
|
-
# Scale features/targets
|
|
711
|
-
x_d_transform = None
|
|
712
|
-
if use_extra_features:
|
|
713
|
-
scaler = train_dataset.normalize_inputs("X_d")
|
|
714
|
-
val_dataset.normalize_inputs("X_d", scaler)
|
|
715
|
-
x_d_transform = nn.ScaleTransform.from_standard_scaler(scaler)
|
|
716
|
-
|
|
717
|
-
output_transform = None
|
|
718
|
-
if model_type in ["regressor", "uq_regressor"]:
|
|
719
|
-
target_scaler = train_dataset.normalize_targets()
|
|
720
|
-
val_dataset.normalize_targets(target_scaler)
|
|
721
|
-
output_transform = nn.UnscaleTransform.from_standard_scaler(target_scaler)
|
|
722
|
-
|
|
723
|
-
# Cache featurized MolGraphs so dataloader workers don't re-featurize every epoch (CPU bottleneck).
|
|
724
|
-
# Setting cache=True eagerly precomputes all MolGraphs; timing it both confirms the code ran and
|
|
725
|
-
# measures how much featurization cost moved up front (vs. the per-batch collation floor).
|
|
726
|
-
_cache_t0 = time.time()
|
|
727
|
-
train_dataset.cache = True
|
|
728
|
-
val_dataset.cache = True
|
|
729
|
-
print(
|
|
730
|
-
f"[cache] featurization cache ENABLED — {len(train_dataset)} train + {len(val_dataset)} val "
|
|
731
|
-
f"MolGraphs precomputed in {time.time() - _cache_t0:.1f}s",
|
|
732
|
-
flush=True,
|
|
642
|
+
mpnn, fold_preds = train_chemprop_fold(
|
|
643
|
+
fold_spec,
|
|
644
|
+
all_df.iloc[train_idx].reset_index(drop=True),
|
|
645
|
+
all_df.iloc[val_idx].reset_index(drop=True),
|
|
646
|
+
all_targets[train_idx],
|
|
647
|
+
all_targets[val_idx],
|
|
648
|
+
fold_idx=fold_idx,
|
|
649
|
+
checkpoint_dir=args.model_dir,
|
|
650
|
+
train_extra=all_extra_features[train_idx] if all_extra_features is not None else None,
|
|
651
|
+
val_extra=val_extra,
|
|
652
|
+
val_extra_raw=val_extra.copy() if val_extra is not None else None,
|
|
653
|
+
train_gt=all_gt_mask[train_idx] if all_gt_mask is not None else None,
|
|
654
|
+
train_lt=all_lt_mask[train_idx] if all_lt_mask is not None else None,
|
|
655
|
+
val_gt=all_gt_mask[val_idx] if all_gt_mask is not None else None,
|
|
656
|
+
val_lt=all_lt_mask[val_idx] if all_lt_mask is not None else None,
|
|
733
657
|
)
|
|
734
|
-
|
|
735
|
-
num_workers = min(os.cpu_count() or 4, 8) # Scale with CPUs, cap at 8
|
|
736
|
-
train_loader = data.build_dataloader(
|
|
737
|
-
train_dataset,
|
|
738
|
-
batch_size=batch_size,
|
|
739
|
-
shuffle=True,
|
|
740
|
-
num_workers=num_workers,
|
|
741
|
-
persistent_workers=num_workers > 0,
|
|
742
|
-
pin_memory=True,
|
|
743
|
-
prefetch_factor=2,
|
|
744
|
-
)
|
|
745
|
-
val_loader = data.build_dataloader(
|
|
746
|
-
val_dataset,
|
|
747
|
-
batch_size=batch_size,
|
|
748
|
-
shuffle=False,
|
|
749
|
-
num_workers=num_workers,
|
|
750
|
-
persistent_workers=num_workers > 0,
|
|
751
|
-
pin_memory=True,
|
|
752
|
-
prefetch_factor=2,
|
|
753
|
-
)
|
|
754
|
-
|
|
755
|
-
# Build model
|
|
756
|
-
pl.seed_everything(hyperparameters["seed"] + fold_idx)
|
|
757
|
-
mpnn = build_mpnn_model(
|
|
758
|
-
hyperparameters,
|
|
759
|
-
task=task,
|
|
760
|
-
num_classes=num_classes,
|
|
761
|
-
n_targets=n_targets,
|
|
762
|
-
n_extra_descriptors=n_extra,
|
|
763
|
-
x_d_transform=x_d_transform,
|
|
764
|
-
output_transform=output_transform,
|
|
765
|
-
task_weights=task_weights,
|
|
766
|
-
use_bounded_loss=use_bounded_loss,
|
|
767
|
-
)
|
|
768
|
-
|
|
769
|
-
# Train model (with optional two-phase foundation training)
|
|
770
|
-
freeze_mpnn_epochs = hyperparameters.get("freeze_mpnn_epochs", 0)
|
|
771
|
-
use_two_phase = hyperparameters.get("from_foundation") and freeze_mpnn_epochs > 0
|
|
772
|
-
|
|
773
|
-
def _set_mpnn_frozen(frozen: bool):
|
|
774
|
-
for param in mpnn.message_passing.parameters():
|
|
775
|
-
param.requires_grad = not frozen
|
|
776
|
-
for param in mpnn.agg.parameters():
|
|
777
|
-
param.requires_grad = not frozen
|
|
778
|
-
|
|
779
|
-
def _make_trainer(max_epochs: int, save_checkpoint: bool = False):
|
|
780
|
-
callbacks = [
|
|
781
|
-
pl.callbacks.EarlyStopping(monitor="val_loss", patience=hyperparameters["patience"], mode="min")
|
|
782
|
-
]
|
|
783
|
-
if save_checkpoint:
|
|
784
|
-
callbacks.append(
|
|
785
|
-
pl.callbacks.ModelCheckpoint(
|
|
786
|
-
dirpath=args.model_dir,
|
|
787
|
-
filename=f"best_{fold_idx}",
|
|
788
|
-
monitor="val_loss",
|
|
789
|
-
mode="min",
|
|
790
|
-
save_top_k=1,
|
|
791
|
-
)
|
|
792
|
-
)
|
|
793
|
-
return pl.Trainer(
|
|
794
|
-
accelerator="auto",
|
|
795
|
-
max_epochs=max_epochs,
|
|
796
|
-
precision="16-mixed",
|
|
797
|
-
logger=False,
|
|
798
|
-
enable_progress_bar=True,
|
|
799
|
-
callbacks=callbacks,
|
|
800
|
-
)
|
|
801
|
-
|
|
802
|
-
_fit_t0 = time.time()
|
|
803
|
-
if use_two_phase:
|
|
804
|
-
# Phase 1: Freeze MPNN, train FFN only
|
|
805
|
-
print(f"Phase 1: Training with frozen MPNN for {freeze_mpnn_epochs} epochs...")
|
|
806
|
-
_set_mpnn_frozen(True)
|
|
807
|
-
_make_trainer(freeze_mpnn_epochs).fit(mpnn, train_loader, val_loader)
|
|
808
|
-
|
|
809
|
-
# Phase 2: Unfreeze and fine-tune all
|
|
810
|
-
print("Phase 2: Unfreezing MPNN, continuing training...")
|
|
811
|
-
_set_mpnn_frozen(False)
|
|
812
|
-
remaining_epochs = max(1, hyperparameters["max_epochs"] - freeze_mpnn_epochs)
|
|
813
|
-
trainer = _make_trainer(remaining_epochs, save_checkpoint=True)
|
|
814
|
-
trainer.fit(mpnn, train_loader, val_loader)
|
|
815
|
-
else:
|
|
816
|
-
trainer = _make_trainer(hyperparameters["max_epochs"], save_checkpoint=True)
|
|
817
|
-
trainer.fit(mpnn, train_loader, val_loader)
|
|
818
|
-
|
|
819
|
-
_fit_secs = time.time() - _fit_t0
|
|
820
|
-
print(f"[timing] fold {fold_idx + 1} fit: {_fit_secs:.1f}s", flush=True)
|
|
821
|
-
|
|
822
|
-
# Load best checkpoint
|
|
823
|
-
if trainer.checkpoint_callback and trainer.checkpoint_callback.best_model_path:
|
|
824
|
-
checkpoint = torch.load(trainer.checkpoint_callback.best_model_path, weights_only=False)
|
|
825
|
-
mpnn.load_state_dict(checkpoint["state_dict"])
|
|
826
|
-
|
|
827
|
-
mpnn.eval()
|
|
828
658
|
ensemble_models.append(mpnn)
|
|
829
|
-
|
|
830
|
-
# Out-of-fold predictions (using unscaled features - model's x_d_transform handles scaling)
|
|
831
|
-
val_dps_raw, _ = _create_molecule_datapoints(df_val[smiles_column].tolist(), val_targets, val_extra_raw)
|
|
832
|
-
oof_dataset = data.MoleculeDataset(val_dps_raw)
|
|
833
|
-
val_loader_pred = data.build_dataloader(
|
|
834
|
-
oof_dataset,
|
|
835
|
-
batch_size=_safe_batch_size(len(oof_dataset), batch_size),
|
|
836
|
-
shuffle=False,
|
|
837
|
-
num_workers=num_workers,
|
|
838
|
-
pin_memory=True,
|
|
839
|
-
)
|
|
840
|
-
|
|
841
|
-
_oof_t0 = time.time()
|
|
842
|
-
with torch.inference_mode():
|
|
843
|
-
fold_preds = np.concatenate([p.numpy() for p in trainer.predict(mpnn, val_loader_pred)], axis=0)
|
|
844
|
-
print(f"[timing] fold {fold_idx + 1} OOF predict: {time.time() - _oof_t0:.1f}s", flush=True)
|
|
845
659
|
print(f"Fold {fold_idx + 1} OOF predictions complete.", flush=True)
|
|
846
|
-
if fold_preds.ndim == 3 and fold_preds.shape[1] == 1:
|
|
847
|
-
fold_preds = fold_preds.squeeze(axis=1)
|
|
848
660
|
|
|
849
661
|
if model_type == "classifier" and fold_preds.ndim == 2:
|
|
850
662
|
oof_predictions[val_idx, 0] = np.argmax(fold_preds, axis=1)
|
|
@@ -900,12 +712,12 @@ if __name__ == "__main__":
|
|
|
900
712
|
|
|
901
713
|
# Calibrate VGMU classification confidence from ensemble probabilities
|
|
902
714
|
if len(ensemble_models) > 1:
|
|
903
|
-
val_dps, _ =
|
|
715
|
+
val_dps, _ = create_molecule_datapoints(df_val[smiles_column].tolist(), None, val_extra_features)
|
|
904
716
|
cal_dataset = data.MoleculeDataset(val_dps)
|
|
905
717
|
infer_batch = min(len(cal_dataset), 4096)
|
|
906
718
|
cal_loader = data.build_dataloader(
|
|
907
719
|
cal_dataset,
|
|
908
|
-
batch_size=
|
|
720
|
+
batch_size=safe_batch_size(len(cal_dataset), infer_batch),
|
|
909
721
|
shuffle=False,
|
|
910
722
|
)
|
|
911
723
|
|
|
@@ -948,14 +760,14 @@ if __name__ == "__main__":
|
|
|
948
760
|
if len(ensemble_models) > 1:
|
|
949
761
|
_std_t0 = time.time()
|
|
950
762
|
print("Computing prediction_std from ensemble...", flush=True)
|
|
951
|
-
val_dps, _ =
|
|
763
|
+
val_dps, _ = create_molecule_datapoints(df_val[smiles_column].tolist(), y_validate, val_extra_features)
|
|
952
764
|
std_dataset = data.MoleculeDataset(val_dps)
|
|
953
765
|
std_dataset.cache = True
|
|
954
766
|
infer_batch = min(len(std_dataset), 4096)
|
|
955
767
|
infer_workers = min(os.cpu_count() or 4, 8)
|
|
956
768
|
val_loader = data.build_dataloader(
|
|
957
769
|
std_dataset,
|
|
958
|
-
batch_size=
|
|
770
|
+
batch_size=safe_batch_size(len(std_dataset), infer_batch),
|
|
959
771
|
shuffle=False,
|
|
960
772
|
num_workers=infer_workers,
|
|
961
773
|
pin_memory=True,
|
|
@@ -1148,13 +960,13 @@ if __name__ == "__main__":
|
|
|
1148
960
|
for i in range(h_extra.shape[1]):
|
|
1149
961
|
h_extra[np.isnan(h_extra[:, i]), i] = col_means[i]
|
|
1150
962
|
|
|
1151
|
-
h_dps, h_valid =
|
|
963
|
+
h_dps, h_valid = create_molecule_datapoints(h_df[smiles_column].tolist(), None, h_extra)
|
|
1152
964
|
h_df = h_df.iloc[h_valid].reset_index(drop=True)
|
|
1153
965
|
|
|
1154
966
|
if len(h_dps):
|
|
1155
967
|
h_dataset = data.MoleculeDataset(h_dps)
|
|
1156
968
|
h_loader = data.build_dataloader(
|
|
1157
|
-
h_dataset, batch_size=
|
|
969
|
+
h_dataset, batch_size=safe_batch_size(len(h_dataset), min(len(h_dataset), 4096)), shuffle=False
|
|
1158
970
|
)
|
|
1159
971
|
all_ens = []
|
|
1160
972
|
for m in ensemble_models:
|