Compare commits

...
Author SHA1 Message Date
Mark MandelandGitHub 7307cbc04c Update model_garden_gemma_finetuning_on_vertex.ipynb
Set gsutil to use rsync rather than cp as if the notebook fails for any reason, this will allow the copy operation to pick up where it left off rather than restart from the beginning.
2024-08-02 13:10:44 -07:00
sefgsefgandGitHub efd93073d0 Linear regression predictor using sklearn (#3357)
* Upload torch transformers predictor sample

This sample uses the aiplatform SDK and torch library to implement transformers predictor.

* Linear regression predictor using sklearn

Upload a linear regression predictor sample using scikit-learn lib.
2024-08-01 13:50:05 +00:00
cc2011e354 Make mistral notebook tunable (#3374)
* Make mistral notebook tunable

* make minor improvements

* make minor improvements

---------

Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-08-01 13:47:50 +00:00
Huguens JeanandGitHub 772881903b [MG Model Team] Add environment variable for downscaling video frames prior to prediction. (#3370) 2024-08-01 13:45:27 +00:00
Xiang XuandGitHub 04f86e647d Fix machine_type in model_garden_pytorch_llama3_1_deployment (#3373) 2024-08-01 13:44:36 +00:00
de120ccd62 refactor(egen): Colab enterprise link fix (#3368)
* <refactor, chore> Updated prebuilt container image for prediction to 1.3, scikit-learn package updated to 2.5.1, other corrections from template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 23:39:32 +00:00
0e5c1cebdf Update url to /generative ai/docs (#3319)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update vertex_ai_feature_store_based_llm_grounding_tutorial.ipynb

remove back ticks from product/feature names

* Update distillation.ipynb

update url to point to /vertex-ai/generative-ai/docs

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-07-31 23:36:29 +00:00
cb0caee3ea Update gemma2 notebook to include 2b instructions. (#3369)
Co-authored-by: Pooya Moradi <pooyam@google.com>
2024-07-31 15:21:38 +00:00
Yashika GandhiandGitHub 8eedc45652 Feat: Adding Phi-3 deployment notebook (#3364)
* Feat: Adding Phi 3 deployment notebook

* Adding Phi 3 deployment notebook

* Adding Phi 3 deployment notebook

* lint
2024-07-31 15:05:12 +00:00
255b520c01 feat: add qwen2 deployment notebook (#3345)
* feat: add qwen2 deployment notebook

* fix lint issues

* Qwen2 additional minor improvements

* Fix lint issues

---------

Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-07-31 11:41:44 +00:00
sumanvitaandGitHub 5b079af33d fix, refactor, chore(egen): adds matplotlib library in installation step, adds code to delete locally generated files, refactors code as per new template guidelines (#3271)
* fix, refactor, chore(egen): adds matplotlib library in installation step, adds code to delete locally generated files, refactors code as per new template guidelines, contraction of words, performs linter test

* fix, refactor, chore(egen): adds matplotlib library in installation step, adds code to delete locally generated files, refactors code as per new template guidelines, contraction of words, performs linter test

* Adds deprecation note for user managed instances
2024-07-31 05:50:52 +00:00
bd89533c50 chore, feat, refactor(Egen): Clean up steps, template update etc. (#3341)
* chore, feat, refactor: Remove future tense, follows new notebook template, adds cleanup step for deleting the pipelines and models created, refactors the utility functions to fetch model resource

* fix: corrects the notebook name in the links

* chore: addresses review comments

* fix: loads the model from resource name before deletion

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-31 05:47:58 +00:00
Kaushik KoiladaandGitHub 6555569156 chore,refactor(egen): reformats get_started_with_custom_training_autologging_local_script.ipynb notebook (#3179)
* chore: lint edits

* fix: retrieval of custom job removed as there is error in the method being called and also existing job object exists
2024-07-31 05:41:54 +00:00
Kaushik KoiladaandGitHub a6aa61ae1d chore, refactor(egen):edits template of get_started_with_model_monitoring_automl_image_batch notebook (#3269)
* chore: adds the colab enterprise and formates all open in tabs

* chore: changes 'Run in colab' to 'Open in Colab'

* chore: splits content of first cell for formatting

* refactor: fixes pip  install and rectifies disable_early_stopping  parameter description

* fix: image dataset csv is changed because of permission issue when importing from the content of the csv

* chore: running end to end notebook

* chore: removes testing variables and lints

* chore: markdown edits and end to end test

* chore: lint changes

* refactor: adds try except block following all the other cell codes
2024-07-31 05:37:07 +00:00
Kaushik KoiladaandGitHub 1580c63617 chore, refactor(egen): refactors automl_image_object_detection_export_edge.ipynb notebook (#3297)
* chore, refactor: removes boilerplate, adds colab enterprise and makes changes according to template and authoring guide

* chore: lint

* fix: adds dataset copying code to fix data access issue

* chore: lint

* fix: adds gcsfs package to deal with the check error

* chore: clears outputs
2024-07-31 05:30:30 +00:00
e05e777d1d refactor, chore(egen): xgboost package version set to 1.7.1, updates serving container image to 1.7, deletes intermediate files, other fixes from template (#3306)
* <refactor, chore> xgboost package version set to 1.7.1, updates serving continer image to 1.7, deletes intermediate files, other fixes from template

* <refactor, chore> xgboost package version set to 1.7.1, updates serving continer image to 1.7, deletes intermediate files, other fixes from template

* <refactor, chore> xgboost package version set to 1.7.1, updates serving continer image to 1.7, deletes intermediate files, other fixes from template

* Colab logo fix

* Colab logo fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:27:40 +00:00
91efb27aea refactor,chore(egen): refactored code as per template guidelines (#3344)
* refactor,chore(egen): refactored code as per template guidelines

* refactor,chore(egen): fix region variable

* refactor(egen): refactored notebook as per template guielines

* refactor,chore(egen): performed linter test

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-31 05:24:15 +00:00
b08b7a21f1 Fix url to gen ai (#3318)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update vertex_ai_feature_store_based_llm_grounding_tutorial.ipynb

remove back ticks from product/feature names

* Update tune_peft.ipynb

 “fix: update links in notebook”

* Update tune_peft.ipynb

add colab enterprise link

* Update tune_peft.ipynb

removed link

* Update tune_peft.ipynb

updated the link to /generative-ai/docs/tune_peft.ipynb and other edits

* fix: linter errors

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-07-31 05:18:50 +00:00
3b2adb2e1d refactor(egen): Colab enterprise link fix (#3356)
* <refactor> refactored notebook according to template

* Apply edits suggested by @kittyabs

* Apply suggested edits from @kittyabs review

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:16:41 +00:00
472fe95430 refactor(egen): Colab enterprise link fix (#3355)
* <refactor, chore> refactored notebook according to new template

* Applied suggested edits

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:15:59 +00:00
cb8ec73e0a refactor(egen): Colab enterprise link fix (#3358)
* <fix, refactor> fixed and refactored notebook according to the template

* Apply suggested edits from @kittyabs

* Apply suggested edits from @kittyabs

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:15:22 +00:00
510e3d08ce refactor(egen): Colab enterprise link fix (#3359)
* <refactor, chore, fix> package version updates, pipeline components documentation link update, importer_node import fix, machineSpec update

* <refactor, chore, fix> package version updates, pipeline components documentation link update, importer_node import fix, machineSpec update

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:14:41 +00:00
9e3edfc8e4 refactor(egen): Colab enterprise link fix (#3360)
* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* Grammar fix

* lint fix

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:13:43 +00:00
72c3ad3e26 refactor(egen): Colab enterprise link fix (#3361)
* <refactore, chore>refactored notebook according to the template

* refactor: Apply markdown text edit

* source distribution fix

* source distribution fix

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:12:55 +00:00
7626cd7025 refactor(egen): Colab enterprise link fix (#3362)
* <refator, chore> Adds Tensorflow in installation section, corrections from template

* <refator, chore> Adds Tensorflow in installation section, corrections from template

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-31 05:12:15 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
c1f54a2de9 chore(deps): bump torch (#3333)
Bumps [torch](https://github.com/pytorch/pytorch) from 2.0.1+cu118 to 2.2.0.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/commits/v2.2.0)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-31 02:00:58 +00:00
Gary WeiandGitHub 795f182de3 Remove the text-to-video notebook as we decide to hide the model card from the UI. (#3351) 2024-07-31 02:00:26 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
86670246d9 chore(deps): bump tensorflow (#3365)
Bumps [tensorflow](https://github.com/tensorflow/tensorflow) from 2.7.2 to 2.12.1.
- [Release notes](https://github.com/tensorflow/tensorflow/releases)
- [Changelog](https://github.com/tensorflow/tensorflow/blob/master/RELEASE.md)
- [Commits](https://github.com/tensorflow/tensorflow/compare/v2.7.2...v2.12.1)

---
updated-dependencies:
- dependency-name: tensorflow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-31 01:59:34 +00:00
c5443d656c Support checking H100 quota (#3367)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-07-31 01:59:09 +00:00
Sujit KhasnisandGitHub ba526e4ac4 feat: Mistral AI colab notebook; new examples for Code Gen (FIM), Function calling (#3363)
* feat: Mistral AI colab notebook; new examples for Code Gen (FIM), Function calling

* feat: Mistral AI colab notebook; new examples for Code Gen (FIM), Function calling, Value error fix

* feat: Mistral AI colab notebook; Additional examples minor updates / fixes

* feat: Mistral AI colab notebook;

* feat: Mistral AI colab notebook; Chat completion*s* fix
2024-07-30 20:39:39 +00:00
sumanvitaandGitHub e6360bb1e6 fix,chore,refactor(egen): modifies the value of IMPORT_FILE, hardcodes TF version to 2.15.1, removes import os and os.getenv(IS_TESTING), refactors code as per the template guidelines. (#3326) 2024-07-29 22:21:03 +00:00
e61b249410 refactor, chore(egen): template fixes, update and add new package (#3305)
* <Refactor, Chore> Refactored the notebook according to the template, updated and added new package.

* numpy version conflict

* Added numpy.

---------

Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-29 22:16:52 +00:00
00f722def7 fix,chore,refactor(egen): minor changes to the automl training notebook. (#3304)
* fix,chore,refactor(egen): Changed REGION variable name to LOCATION, modified the import file of flowers dataset, added comments in cleanup section, removed os.getenv(IS_TESTING) from the cleanup section, refactored code according to template guidelines and performed linter test.

* chore(egen): Done changes according to @kittylabs and performed linter test.

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-29 22:13:46 +00:00
Kaushik KoiladaandGitHub 68269b07b0 refactor, chore (egen): refactors sdk_automl_video_object_tracking_batch.ipynb notebook (#3296)
* chore, refactor: adds colab enterprise, removes boiler plate, refactors according to template

* chore: run end to end and lint

* chore: addresses reviw comments
2024-07-29 22:04:59 +00:00
e83ca6e8e9 refactor(egen): Colab enterprise link fix (#3337)
* <refactor> refactored notebook according to template

* <refactor> refactored notebook according to template

* <refactor> refactored notebook according to template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-29 21:57:29 +00:00
8a679b5e41 refactor(egen): Colab enterprise link fix (#3340)
* <refactor>: refactored code according to notebook template

* <refactor> refactored notebook according to template

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-29 21:56:47 +00:00
d30089754b refactor(egen): Colab enterprise link fix (#3347)
* <fix, chore, refactor> refactored notebook according to template

* lint fix

* Apply suggested edits from @kittyabs review

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-29 21:55:29 +00:00
df7df07acf refactor(egen): Colab enterprise link fix (#3346)
* <refactor, chore> refactored notebook according to template

* Apply suggested edits from @kittyabs review

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-29 21:54:12 +00:00
96fa6122cf refactor,chore(egen) : refactored code according to template guidelines (#3278)
* refactor,chore(egen) : refactored code according to template guidelines and removed unused imports

* refactor(egen) : removed hardcoded values

* refactor(egen) : performed linter test

* refcator(egen) : refcatored according to template guidelines

* refactor,chore(egen): refactored code as per guidelines

* refactor,chore(egen): refactored code as per guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-29 21:53:33 +00:00
7995377baf refactor(egen): Colab enterprise link fix (#3348)
* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor,chore> refactored notebook according to template

* <refactor,chore> refactored notebook according to template

* fix for  docker repository creation in PR test environment

* <included IS_TESTING condition for docker repository

* lint fix

* Apply suggested edits from @kittyabs review

* Colab enterprise link fix

* Colab enterprise link fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-29 21:52:13 +00:00
Aaron DietzandGitHub 1b51866384 Update tensorboard_profiler_custom_training.ipynb (#3350)
Updated name of Cloud Profiler (used to be called various versions of Tensorboard Profiler etc.). It's Cloud Profiler on first use, Profiler (shortened) for further uses.
2024-07-29 21:51:18 +00:00
2edd90b3b5 refactor,chore(egen) : refactored code as per template guidelines (#3291)
* refactor,chore(egen) : refactored code as per template guidelines

* refactor(egen): refactored notebook as per template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-29 21:49:48 +00:00
44ffa09022 refactor(egen): template fixes, adds clean up steps (#3290)
* chore, refactor: updates bqml_arima_plus notebook with the template changes

* <Refactor> Refactored the notebook according to the template.

* Applied suggested edits.

* Added db-dtypes package installation.

* Added db-dtypes package installation.

* fixed the pred_pipeline job issue.

* fixed the pred_pipeline job issue.

---------

Co-authored-by: k-root <kaushik.koilada@egen.ai>
Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-29 21:47:53 +00:00
Holt SkinnerandGitHub 7ea4669471 Update run_linter.sh (#3349)
Fix spelling error `notebooked` → `notebooks`
2024-07-29 15:48:53 +00:00
Mend RenovateandGitHub d24204a2f8 chore(deps): update dependency pyupgrade to v3.17.0 (#3336) 2024-07-29 15:34:40 +00:00
Kathy YuandGitHub 462f0b6276 Update vLLM version in Llama 3.1 and Guard deployment notebooks. (#3335) 2024-07-27 00:25:53 +00:00
Ravi DalalandGitHub 2111ade4a6 Update github id in CODEOWNERS file (#3334) 2024-07-26 17:45:40 +00:00
Kathy YuandGitHub 07579d4274 Update OpenAI API Llama 3.1 and RAG notebooks. (#3323) 2024-07-26 16:54:57 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
20b9538572 chore(deps): bump torch (#3328)
Bumps [torch](https://github.com/pytorch/pytorch) from 1.13.1 to 2.2.0.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/main/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v1.13.1...v2.2.0)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-26 16:51:19 +00:00
Kathy YuandGitHub 9ec0d3336a Update Llama Guard and synthetic data generation notebooks. (#3332) 2024-07-26 16:50:39 +00:00
Kathy YuandGitHub af45c644e3 Add variant in Llama 3.1 deployment notebook. (#3329) 2024-07-26 16:49:47 +00:00
Kathy YuandGitHub 2d092701c4 Update vLLM version in Llama 3.1 and Guard deployment notebooks. Fix bugs. (#3321) 2024-07-24 22:48:18 +00:00
weiran-workandGitHub c9272f1f85 chore: remove outdated benchmark report (#3320) 2024-07-24 22:46:23 +00:00
a37ff0e1f4 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3102)
* refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template

* refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template

* Fixed issue related to image building

* Did minor fixes regarding docker image path and bucket creation command

* Updated command of bucket creation

* Did major changes in docker related code

* Fixed issue raised on PR

* Removed output of executed cells

* fix, refactor, chore: updates the model saving location in training script, removes the unnecessary code for training, refactors and updates the training image creation section accordingly

* chore: updates explanation about python package in the overview section

* fix, chore: specifies the working dir while building and running the container, adds '.' in a sentence in Overview

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-24 20:05:34 +00:00
sumanvitaandGitHub 89e243899e refactor, chore(egen): Changes aiplatfrom import statement, refactors as per notebook template guidelines, linter performed (#3315)
* refactor, chore(egen):  Changes aiplatfrom import statement, refactors as per notebook template guidelines, linter performed

* case change
2024-07-24 19:57:26 +00:00
0181e7bc2a refactor(egen): Colab enterprise link fix (#3307)
* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* Updated colab enterprise link

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-24 19:54:38 +00:00
75bd4bb561 fix: fixes the path in the colab enterprise link (#3303)
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-24 19:52:20 +00:00
sumanvitaandGitHub 3959a5f1d7 refactor, chore(egen): replaces region with location, adds additional parameters in dataset_delete() function inside cleanup cell (#3300)
* refactor, chore(egen): replaces region with location, adds additional parameters in dataset_delete() function inside cleanup cell

* wording changes

* wording and case change
2024-07-24 19:50:57 +00:00
16e87c024a fix,chore,refactor(egen): minor changes to the automl_image_classification_online_prediction notebook. (#3299)
* fix,chore,refactor(egen):Changed REGION variable name to LOCATION, modified the import file, added version for the tensorflow package in installation step, added comments in cleanup section, removed os.getenv(IS_TESTING) from the cleanup section, refactored code according to the template guidelines and performed linter test.

* chore(egen): Done changes according to @kittyabs and performed linter test.

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-24 19:48:17 +00:00
sumanvitaandGitHub 07045c6f3b fix, refactor, chore(egen): adds numpy==1.23.0 and replaces google-vizier==0.0.4 to resolve dependency errors, replaces REGION with LOCATION, refactors code (#3295)
* fix, refactor, chore(egen): adds numpy==1.23.0 and replaces google-vizier==0.0.4 to remove dependency errors, refactors code as per template guidelines, performs linter

* adds code highlight

* removes overview as per PR comments
2024-07-24 19:45:31 +00:00
sumanvitaandGitHub 76c089430c fix, chore, refactor(egen): Adds numpy==1.23.0, removes version ==0.0.4 from vizier installation, replaces K80 with T4, refactors as per template guidelines (#3292)
* fix, chore, refactor(egen): Adds numpy==1.23.0, removes version ==0.0.4 from vizier installation, replaces K80 with T4, refactors as per template guidelines

* removes use of future tense

* case change, wording changes as per PR comments
2024-07-24 19:43:26 +00:00
Xiang XuandGitHub 0de6d08a16 Fix input template in model_garden_pytorch_llama3_1_deployment (#3317) 2024-07-24 18:43:01 +00:00
d703f31f89 feat: Update vllm and peft docker URI. (#3314)
Co-authored-by: Weiran <weiranzhao@google.com>
2024-07-24 17:48:14 +00:00
Sujit KhasnisandGitHub 8963a9275f fix: typo in Mistral AI Colab ent link (#3316) 2024-07-24 15:55:27 +00:00
Sujit KhasnisandGitHub 623c15662a feat: Official notebook for Mistral AI Release 07/24 (#3308)
* feat: Official notebook for Mistral AI Release 07/24

* feat: Official notebook for Mistral AI Release 07/24,added links to Vertex, Public docs

* feat: Official notebook for Mistral AI Release 07/24; links reorged

* feat: Official notebook for Mistral AI Release 07/24;lint issue resolved

* feat: Official notebook for Mistral AI Release 07/24;large name change [2407]
2024-07-24 15:34:41 +00:00
Xiang XuandGitHub c62089b99d Fix request format in model_garden_pytorch_llama3_1_deployment (#3313) 2024-07-24 02:24:51 +00:00
Xiang XuandGitHub ed51eb4689 Fix endpoint in synthetic_data_generation_using_llama3_1.ipynb (#3312) 2024-07-23 18:35:21 +00:00
Ivan NardiniandGitHub 1915c8ca3e feat: add llama3_1 notebooks (#3311)
* add llama3_1 notebooks

* fix conflict
2024-07-23 16:00:01 +00:00
Kathy YuandGitHub 35db5c5889 Add Llama Guard, RAG, synthetic data generation notebooks. (#3310)
* Add Llama Guard, RAG, synthetica data generation notebooks.

* Fix linter
2024-07-23 15:27:37 +00:00
Xiang XuandGitHub 27f903deb0 Add llama3.1 finetune and deploy notebooks (#3309) 2024-07-23 15:15:47 +00:00
81d900051b refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3132)
* Adapted code with new notebook template

* Updated working libraries and replace all the REGION variable with LOCATION

* Testead code and gone through notebook template. Did required changes.

* Did required changes based on the feedbak given on PR

* Did required changes based on feedback given on PR

* fix, chore: upgrades the tensorflow version to the latest, reorganizes and rewords the heading structure to follow the tutorial flow, removes unnecessary code highlights, fixes typos

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-21 18:04:04 +00:00
c20d754717 chore(egen): Follows new template, removes IS_TESTING, REGION --> LOCATION (#3207)
* chore: Follows new template, removes IS_TESTING, relaces REGION with LOCATION

* chore: Cloud console --> Google Cloud console

* chore: addresses review comments, sets delete_bucket to True to remove the GCS bucket in the cleaning up step

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-21 17:57:56 +00:00
Kaushik KoiladaandGitHub b98aeb471f refactor, chore: (egen):sdk-automl-object-tracking-batch-prediction (#3249)
* chore: removes boiler plate, adds colab enterprise and edits acording to template

* chore: run end to end and reformat according to template

* chore: lint

* fix: removes testing induced error and runs lint

* chore: update REGION to LOCATION

* chore: lint test and update checks failure

* chore: address review comments
2024-07-21 17:52:56 +00:00
5cb93b266b fix,chore,refactor(egen): minor fix and changes to the model monitoring automl image online notebook. (#3268)
* fix,chore,refactor(egen): Added colab enterprise logo with link, heading changes according to template guidelines,changed REGION variable name to LOCATION, modified code in online prediction using the SDK interface, added the clean up code for endpoint and training job, added comments in cleanup code, refactored code according to template guidelines and performed linter test.

* chore(egen): removed version in the installation step and performed linter test

* chore,refactor(Egen):Done changes according to @kittyabs review and performed linter test.

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-21 17:50:18 +00:00
67abf6ad8b chore,refactor(egen): Changed REGION variable name to LOCATION, removed IS_TESTING from the cleaning up section, refactored code according to template guidelines and performed linter test. (#3280)
* chore,refactor(egen): Changed REGION variable name to LOCATION, removed IS_TESTING from the cleaning up section, refactored code according to template guidelines and performed linter test.

* chore(egen): Done changes according to @kittyabs review and performed linter test.

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-21 17:46:16 +00:00
3238d99f08 fix,chore,refactor(egen): Changed REGION variable name to LOCATION, changed CLUSTER_REGION variable name to CLUSTER_LOCATION, added gcloud command to enable dataproc cluster, refactored code according to the template guidelines and performed linter test. (#3284)
* fix,chore,refactor(egen): Changed REGION variable name to LOCATION, changed CLUSTER_REGION variable name to CLUSTER_LOCATION, added gcloud command to enable dataproc cluster, refactored code according to the template guidelines and performed linter test.

* chore(egen): Done changes according to @kittyabs review and performed linter test.

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-21 17:44:03 +00:00
5388cd53f7 fix,chore,refactor(egen): Changed CLUSTER_REGION variable name to CLUSTER_LOCATION, added gcloud command to enable dataproc api, modified bigquery dataset name by replacing hyphens to underscores, removed uuid code generation and replaced uuid with unique, refactored code according to template guidelines and perfomed linter test. (#3286)
Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-21 17:40:26 +00:00
Kaushik KoiladaandGitHub e5e68af5fa chore, refactor(egen): updates and refactors sdk_automl_video_classification_batch notebook (#3287)
* chore, refactor: adds colab enterprise and removes boilerplate

* chore: updates REGION to LOCATION and run end to end test

* chore: lint run
2024-07-21 17:38:29 +00:00
2b796ea454 <Refactor> Refactored the notebook according to the template. (#3288)
Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-21 17:37:11 +00:00
66563cb700 refactor, chore(egen): refactored the notebook according to the template, updated and added new package (#3289)
* <Refactor, Chore> Refactored the notebook according to the template, updated and added new package.

* Applied suggested edits.

* Applied suggested edits.

---------

Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-21 17:35:15 +00:00
Aaron DietzandGitHub 56516b496a Update tensorboard_profiler_custom_training_with_prebuilt_container.ipynb (#3294)
Updated name of Cloud Profiler (used to be called various versions of Tensorboard Profiler etc. It's Cloud Profiler on first use, Profiler (shortened) for further uses.
2024-07-21 17:31:02 +00:00
Ravi DalalandGitHub 5236aced75 updated instruction for retry block (#3293) 2024-07-19 17:32:30 +00:00
Ravi DalalandGitHub 61ea845e26 Spark on Ray on Vertex AI notebook (#3282)
* added example notebook for Spark on RoV

* added example notebook for Spark on RoV

* ran linter on spark_on_ray_on_vertex_ai.ipynb

* updated official CODEOWNERS file for spark on ray on vertex ai notebook

* fixed text

* fixed project and location variables for build

* lint run

* added docker authentication

* renamed docker repo

* added sdk version

* added quiet to docker authentication

* added explicit dependencies installation

* added google cloud aiplatform ray module installation

* added gcloud update and cleanup

* added a wait to avoid timeout error in the test build

* fixed cluster resource name in delete

* added timestamp suffix to cluster name

* added a 5 minutes wait after cluster creation

* address PR comments
2024-07-19 03:03:45 +00:00
21864fd3a5 refcator,chore(egen) : refactored code according to template guidelines (#3279)
* forecasting-retail-demand.ipynb

* refcator,chore(egen) : refactored code according to template guidelines

* refcator,chore(egen) : refactored code according to template guidelines

* refactor(egen) : refactored according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-19 02:11:11 +00:00
598c91ace0 refactor, chore(egen): Tensorflow version fix, grammar corrections, other corrections from template (#3277)
* <refator, chore> Adds Tensorflow in installation section, corrections from template

* <refator, chore> Adds Tensorflow in installation section, corrections from template

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-19 02:02:47 +00:00
sumanvitaandGitHub 91d027ee02 refactor, chore(egen): removes import os, refactors as per new template guidelines (#3275)
* refactor, chore(egen): removes import os, refactors as per new template guidelines

* changes did'nt to didn't

* changes made as per PR comments
2024-07-19 01:58:42 +00:00
0674f3cdec Refactor(egen): Corrections from template (#3270)
* <refactor, chore> Updated prebuilt container image for prediction to 1.3, scikit-learn package updated to 2.5.1, other corrections from template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

* <refactor> refactored notebok according to notebook template

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-19 01:51:03 +00:00
sumanvitaandGitHub 59a1cd0a1a refactor, chore(egen): refactors code as per new template guidelines, removes future tense, replaces REGION with LOCATION, removes generate_uuid function (#3267)
* refactor, chore(egen): refactors code as per new template guidelines, removes future tense, replaces REGION with LOCATION, performs linter test

* you are changed to you're

* wording changes, performed linter test

* notebook changed to notebooks (plural)
2024-07-19 01:37:03 +00:00
f7937c7117 chore,refactor(egen): minor changes to prophet on vertex pipelines notebook. (#3263)
* chore,refactor(egen): Changed REGION variable name to LOCATION, changed DATA_REGION variable name to DATA_LOCATION, added cleanup code for pipeline jobs, batch prediction job, modified cleanup code for deletion of bigquery dataset, removed versions of packages in the install step, removed os.getenv(IS_TESTING) while cleanup bucket, refactored code according to template guidelines and performed linter test.

* chore,refactor(Egen):Done changes according to @kittyabs review and performed linter test.

* chore(egen): redefined the variables of training pipeline job name and prediction pipeline job name and performed linter test

* chore(egen): redefined the model variable in cleanup section and performed linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-19 01:27:19 +00:00
Kaushik KoiladaandGitHub abf3594267 refactor, chore (egen): refactors sdk_automl_video_action_recognition_batch notebook (#3276)
* chore, refactor: adds colab enterprise, remove boiler plate

* refactor: changes REGION to LOCATION

* chore: run end to end and remove testing variable

* chore: lint
2024-07-18 23:35:21 +00:00
Kaushik KoiladaandGitHub 3ab0d62efe chore, refactor (egen): refactors wide_and_deep_on_vertex_pipelines.ipynb notebook (#3273)
* chore, refactor: edits according to template, adds colab eneterprise and changes REGION to LOCATION

* chore: testing end to end

* chore: lint
2024-07-18 23:32:53 +00:00
Manu KumarandGitHub d893c7857c feat: add online serving w/multiple entities notebook (#3245) 2024-07-18 12:22:33 +00:00
Manu KumarandGitHub 463adaefb0 feat: add offline feature serving notebook (#3184) 2024-07-17 19:01:48 +00:00
Jose BracheandGitHub 8fc1b2fb42 feat: Adding a new persistent resources notebook that uses the Vertex AI SDK (#3274) 2024-07-17 12:55:28 +00:00
Aaron DietzandGitHub aa5ab3c64f Update get_started_with_custom_training_autologging_local_script.ipynb (#3236)
Fixed typo: paramenters --> parameters
2024-07-17 12:50:45 +00:00
siping-huandGitHub 10385c316b Update notebook to use Gemini model instead of text-bison because text-bison will be deprecated. (#3265)
* [AutoSxS] Replace 1p model `text-bison` to `Gemini` because text-bison will be deprecated.

* product name edit

* Replace gemini 1.0 pro to gemini 1.5 pro.

* Fix the error when downloading the public dataset.
2024-07-17 12:49:53 +00:00
6afa3968b6 fix,chore,refactor(egen): done minor changes to sdk automl image classification batch online notebook (#3261)
* fix,chore,refactor(egen): replaced import file of gcs with new one to create dataset, removed import statement of os module, removed os.getenv(IS_TESTING) while cleanup bucket, replaced UUID with unique and deleted code to generate UUID, changed aip to aiplatform, changed REGION to LOCATION, added endpoint.delete() to delete the endpoint, hardcoded TF version to 2.15.1, refactored code according to template guidelines and performed linter test.

* chore(egen): removed back ticks

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-17 00:48:34 +00:00
6cc596accf refactor(egen) : refactored notebook according to template guidelines nd added missed modules and libraries (#3260)
* refactor(egen) : refactored notebook according to template guidelines and added missed imports and libraries

* refactor(egen) : added code to delete locally generated files

* refactor(egen) : refactored according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-17 00:43:56 +00:00
0dcce973bf chore,refactor(egen): Added opencv-python-headless and tensorflow==2.15.1 packages and cleanup code for local files and cloud storage bucket (#3258)
* chore,refactor(egen): Added opencv-python-headless and tensorflow==2.15.1 packages in installation step, Added import os statement in set machine type configuaration cell, Added cloud storage bucket and local files cleanup code, refactored code according to template guidelines and performed lintr test

* refactor(Egen):Done changes according to @kittyabs review and performed linter test.

* chore(egen): added IS_TESTING part while creating artifact repository and perfomred linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-17 00:37:55 +00:00
Kaushik KoiladaandGitHub 0791c52923 refactor, fix, chore(egen): edits get_started_bq_datasets (#3248)
* chore: refactor according to template, removes boilerplate, adds colab enterprise

* refactore: adds testing variables

* fix, chore: end to end testing with version change as fix

* chore: lint

* chore: addresses review comments and runs lint
2024-07-17 00:26:55 +00:00
575d2f9479 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3071)
* Fixed code issue template issue in distillation file

* Did required changes in notebook template

* Did minor changes

* Added execption handling at cleanup step to handle error while performing cleanup

* Fixed issue based on feedback given on feedback

* fix, chore, refactor: removes hard-coded project-id, remove future tense and reorganizes the sections, refactors the cleaning up section

* fix, refactor, chore: cleans up the resources using display name rather than resource name, adds wait step to wait until the pipeline job is finished, updates the overview section to remove 'we'

* fix: runs _job.wait() instead of .wait() method for waiting, updates the var pipeline_job to pipeline

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-17 00:10:17 +00:00
sumanvitaandGitHub 50d70a3037 refactor, chore(egen): refactors code as per new template guidelines, adds code to delete custom job and locally generated files (#3205)
* refactor, chore(egen): refactors code as per new template guidelines, adds code to delete locally generated files

* added code to delete custom job in the cleanup section

* license year changed to 2022, removed you as per PR comments

* future to present tense

* adds tensorflow installation, protobuf version changes to resolve dependency issues
2024-07-17 00:01:11 +00:00
Aaron DietzandGitHub 25e0b91162 Fix typo in pytorch_gcs_data_training.ipynb (#3237)
Fixed typo: runing --> running
2024-07-15 14:12:10 +00:00
5d8489e3e0 chore, refactor, feat(egen): follows new template, simplifies code, adds cleanup step (#3259)
* chore, refactor, feat: follows new template, simplifies code for display-names, adds steps for deleting the resources in the cleaning up section

* chore: addresses the review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-12 20:18:01 +00:00
sumanvitaandGitHub 8f2d26abb2 fix, refactor, chore(egen): adds endpoint.wait() to fix timeout error, hardcodes TF to 2.15.1, adds code in cleanup section to delete locally generated files, refactors code as per template guidelides, performs linter test (#3252)
* fix, refactor, chore(egen): adds endpoint.wait() to fix timeout error, hardcodes TF to 2.15.1, adds code in cleanup section to delete locally generated files, refactors code as per template guidelides, performs linter test

* replaces UUID with unique

* updates URL involving redirect
2024-07-12 20:13:27 +00:00
sumanvitaandGitHub fdba11d9b8 refacto, chore (egen): refactors code as per template guidelines, hardcodes TF version to 2.15.1,deletes locally generated files (#3251)
* refacto, chore (egen): refactors code as per template guidelines, hardcodes TF version to 2.15.1, adds code to delete locally generated files, markdown changes ,performs linter test

* adds space

* changed URL for notebook redirects
2024-07-12 19:58:56 +00:00
Katie NguyenandGitHub a537eab067 fix: branding corrections (#3256) 2024-07-12 17:56:16 +00:00
bcff5c3cb3 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3018)
* Updated notebook templace and did minor changes in notebook comments

* Added link of colab enterprice

* Fixed the link related issue and removed unwated variable value

* Added below comment in notebook:
# @title Copyright & License (click to expand)

* Fixed the issue related to notebook template based on reviewers feedback

* Fixed issue based on feedback given on PR

* Fixed the issue based on feedback given on PR

* fix, chore: replace REGION with LOCATION, remove will, contracts 'is not'

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-12 17:03:25 +00:00
Alok PattaniandGitHub 6ef29df46f Updating dataset and other changes from review (#3257) 2024-07-12 16:50:08 +00:00
6c7fa4b3d8 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3125)
* Adapted notebook with new notebook template

* Hardcode tensorflow version

* Removed unwated commentes from notebook

* Revert "Removed unwated commentes from notebook"

This reverts commit 1f120466b0.

* Perform lint code on notebook

* fix, chore: updates the deprecated matplotlib function, adds installation for matplotlib, removes future tense, removes 'we', removes try-except in the cleaning up section

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-12 05:28:10 +00:00
a7ed179e22 refactor,chore(egen) : refactored code according to template guidelines (#3254)
* refactor,chore(egen) : refactored code according to template guidelines and removed unused and deprecated code

* refactor,chore(egen) : refactored code according to template guidelines and removed unused and deprecated code

* refactor(egen) : refactored notebook according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-12 05:25:24 +00:00
16f117a7eb chore, refactor, feat(egen): Follows new template, markdown fixes, refactors (#3227)
* chore, refactor, feat: follows new template, fixes typos, updates dsl.Condition to ds.If, rewords the headings and organizes them as per the tutorial, adds a cleanup step for the pipeline file

* chore, fix: minor sentence corrections, removes undefined UUID parameter

* chore: addresses the review comments

* fix: fixes the var name pipeline --> pipeline_job

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-12 05:22:54 +00:00
Kaushik KoiladaandGitHub 236b2b751f chore, refactor, fix(egen): formats and fixes pytorch_distributed_training_reduction_server.ipynb (#3235)
* chore: removes boilerplate, adds colab enterprise, changes region to location, adds testing variables

* chore, fix: adds verification_mode to load_dataset to deal with error and runs end to end

* chore: removes testing code

* chore: lint

* chore: addresses review comments
2024-07-12 00:37:36 +00:00
f5d57558fe refactor, chore(egen): Replaces K80 GPU with T4, kfp and tensorflow versoin updates, pre-built Docker container image for training and prediction update, other corrections from template (#3219)
* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* <refactor, chore> replaces K80 GPU with T4, updates pre-built Docker container image for training and prediction to 2.13, cleansup intermediate files, updates kfp and tensorflow versions, fixes minor spelling mistakes and contracts words, removes future tense

* Grammar fix

* lint fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-12 00:34:20 +00:00
0f01fd7c18 chore(egen): follows new template, fixes typos, K80-->T4, REGION-->LOCATION etc. (#3214)
* chore: follows new template, fixes typos, removes unnecessary code-highlights, replaces K80 with T4, replaces REGION with LOCATION, removes IS_TESTING in cleaning up section, makes sentence/heading corrections and re-organizes some subsections as per the tutorial

* chore, refactor: minor markdown corrections, updates machine_type description and code to suit the explanation

* chore: addresses review comments and corrects 'uploading to a Vertex AI model resource' to 'uploading to Vertex AI Model Registry'

* chore: addresses the review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-12 00:31:39 +00:00
4f7b63f3af refactor,chore(egen) : refcatored code according to template guidelines and added cleanup code (#3211)
* refactor,chore(egen) : refcatored code according to template guidelines and added cleanup code

* refactored code according to template guidelines

* refcatord code according to template guidelines

* refactor(egen) : refactored code according to template guidelines

* refactor(egen) : refactored code according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-12 00:23:53 +00:00
sumanvitaandGitHub 42bdad56e3 chore, refactor(Egen): adds code to delete batch prediction job and locally generated files, refactors code as per notebook template guidelines (#3202)
* refactor, chore(egen): refactors code as per new template guidelines ,hardcodes TF version to 2.15.1, changes K80 to T4

* adds code to delete batch prediction jobs in the clean up section

* Changed lower to upper case

* reverted license to 2022 as per comment

* case change, wording changes as per PR comments
2024-07-12 00:20:18 +00:00
dc702a614b refactor, chore(egen): Removes boilerplate, heading fixes, corrections from template. (#3181)
* <refactore, chore>refactored notebook according to the template

* refactor: Apply markdown text edit

* source distribution fix

* source distribution fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-12 00:12:27 +00:00
73517d4b40 chore(egen) : Adds deprecation note to the notebook (#3243)
* Added deprecation note

* format and lint fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-11 23:44:26 +00:00
e0a3e785ec refactor,chore(egen) : added delete experiment code in cleanup section and required packages in installation section (#3216)
* refactor,chore(egen) : added delete experiment code in cleanup section and added required packages in installation section, refactored code according to template guideline

* refactor,chore(egen): removed hardcoded values

* downgraded numpy version

* refactor(egen) : refactored code according to template guidelines

* refcator(egen) : refactored code accordi gto template guidelines

* refactor(egen) : refactored code according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-11 23:39:08 +00:00
b9ac5a0296 refcator, chore(egen) : refactored code according to template guidelines , performed linter test (#3215)
* refcator, chore(egen) : refactored code according to template guidelines

* chore(egen) : changed headings as per guidelines

* performs linter test

* refactored code accordig to template guidelines

* formatted according to template guidelines

* formatted according to template guidelines

* refcator(egen) : refactored code according to template guidelines

* refactor(egen) : added warning message for kernal restart

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-11 23:36:01 +00:00
671e9f84fa refactor: refactor gemma notebooks (#3255)
Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-07-11 19:23:15 +00:00
9387236c01 feat: add a fn to resize an image (#3246)
Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-07-11 17:30:47 +00:00
8142ce631a Add instructions for securing more GPUs. (#3247)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-07-11 17:30:11 +00:00
Huguens JeanandGitHub 8923b4a7bd [Vertex AI MG Team] Remove corp link in NeRF gradio application. (#3253) 2024-07-11 17:29:11 +00:00
803bc9b489 chore,refactor(egen): minor changes to sdk feature store notebook (#3240)
* chore,refactor(egen): Changed REGION variable name to LOCATION, Added cleanup code fro cloud storage bucket, refactored code according to the template and performed linter test

* chore(egen): replaced region variable with location and perfomred linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 22:26:31 +00:00
5dc036b311 refcator,chore(egen) : refcatored code according to template guidelines (#3234)
* refcator,chore(egen) : refcatored code according to template guidelines

* refcator(egen) : formatted accorded to template guidelines

* refactor(egen) : refactored code according to template guidelines,removed hardcoded values  and performed linter test

* refactor(egen) : added warning message for kernal restart

* refactor(egen) : refactored according to template guidelines

* refactor(egen) : refactored according to template guidelines

* refactor(egen) : refactored according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-10 22:24:11 +00:00
fd15c01586 chore,refaactor(egen): minor changes to sdk feature store pandas notebook (#3239)
* chore,refactor(egen): Changed REGION variable name to LOCATION, Removed os.getenv(IS_TESTING) while cleanup bucket, refactored code according to the template and performed linter test

* chore,refactor(egen): Changed REGION variable name to LOCATION, Removed os.getenv(IS_TESTING) while cleanup bucket, refactored code according to the template and performed linter test

* chore(egen): replaced region variable with location and perfomred linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 22:20:51 +00:00
sumanvitaandGitHub 84cadc2c9a fix,refactor,chore(egen): adds endpoint.wait() to resolve timeout error, hardcodes TF version to 2.15.1, refactors code as per template, performs linter test (#3231)
* fix,refactor,chore(egen): adds endpoint.wait() to resolve timeout error, hardcodes tf version to 2.15.1, refactors code as per tempalte, performs linter test

* contraction of words

* added code highlight
2024-07-10 22:19:19 +00:00
f694abc42e refactor,chore(egen) : refactored code according to template guidelines (#3230)
* refactor,chore(egen) : refactored code according to template guidelines

* added code to remove locally generated files

* refactor(egen) : refactored code according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-10 22:04:27 +00:00
Kaushik KoiladaandGitHub 99fa616a14 refactor, chore, fix(egen): edits google_cloud_pipeline_components_model_upload_predict_evaluate.ipynb notebook (#3229)
* chore: removes boiler plate and reformats according to the template

* chore: adds colab enterprise link to the notebook

* chore: testing end to end

* chore:end to end test with reformatting

* chore: lint

* chore: addresses comment on the markups
2024-07-10 22:02:12 +00:00
sumanvitaandGitHub 0583f152ac fix, chore, refactor(egen): hardcodes scikit-learn version to 1.2, changes python version from 3.9 to 3.10, adds numpy==1.26.4 installation, adds code to undeploy model from endpoints (#3228)
* fix, chore, refactor(egen): hardcodes scikit-learn version to 1.2, changes python version from 3.9 to 3.10, adds numpy==1.26.4 installation, adds code to undeploy model from endpoints, rusage of future tense

* wording changes

* markdown wording changes as per PR comments
2024-07-10 21:51:01 +00:00
sumanvitaandGitHub f22fee6f84 fix, refactor, chore(egen): removes keras3 dependency error while saving the model, refactors code as per template (#3222)
* fix, refactor, chore(egen): removes keras3 dependency error while saving the model, refactors code as per template, performs linter test

* set epochs to 14 as per original code

* changed CustomJob to Custom Job
2024-07-10 21:42:04 +00:00
650272e370 chore, fix(egen): follows new template, markdown updates and fixes (#3221)
* chore: follows new template, remove IS_TESTING, replace REGION with LOCATION, organizes headings and styles, removes unnecessary code highlights

* fix: removes USER var, adds IS_COLAB var

* chore: addresses the review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-10 21:36:46 +00:00
8f9c783f97 refactor,chore(egen) : refactored code as per template guidelines , performed linter test (#3220)
* refactor,chore(egen) : refactored code as per template guidelines and performed linter test

* refcator(egen) : refcatored code according to template guidelines

* refcator(egen) : refcatored code according to template guidelines

* refcator(egen) : refcatored code according to template guidelines

* refactor(egen) : refactored code according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-10 21:27:54 +00:00
ed721006b7 refactor(egen): Automl video classification model evalution (#3217)
* refactor,chore(egen) : refactored according to template guidelines , performed linter test

* refactor,chore(egen) : removed hardcoded values , performed linter test

* refcatored according to template guidelines

* refactor(egen) : refactored code according to template guidelines

* refactor(egen) : refactored code according to template guidelines

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-10 21:18:59 +00:00
f4b17078af chore,refactor(egen): Changed REGION variable name to LOCATION, replaced np.NaN with np.nan, refactored code according to the template and performed linter test (#3242)
Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 21:11:17 +00:00
8429bba776 chore,refactor(egen):changed the versions of tensorflow, tensorflow-hub, apache_beam[gcp] and bs4 in requirements.txt and setup.py files, refactored code according to template guidelines (#3233)
Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 21:05:47 +00:00
9e42108fd0 chore,refactor(egen): minor updates to Automl Tabular Classification Model Evaluation Notebook (#3218)
* chore,refactor(Egen): Removed the google-cloud-pipeline-components package version, IS_TESTING Variable and import statement of os module from the cleaning up section, Replaced REGION variable with LOCATION, refactored code according to template guidelines and performed linter test.

* chore(egen):renamed location variable to LOCATION

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 18:09:16 +00:00
1593c06811 chore(egen):Added the note for deprecation of notebook and performed linter test (#3182)
* chore(egen):Added the note for deprecation of notebook and performed linter test

* chore(egen):changed the title of the link in the deprecated note

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-10 14:11:14 +00:00
7ccb27b044 chore(egen) : added note to deprecated notebook and performed linter test (#3209)
* chore(egen) : added note to deprecated notebook

* chore(egen) : performed linter test

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-10 14:10:38 +00:00
1a4db478de chore(egen) : added note to deprecated notebook and performed linter test (#3210)
* chore(egen) : added notes to deprecated notebook

* chore(egen) : performed linter test

* chore(egen) : added notes to deperecated notebook and performed linter test

* linter test

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-09 21:03:53 +00:00
Kaushik KoiladaandGitHub 8e5fd0545d refactor, chore (Egen) : Fixes headings, removes boilerplate and other corrections from template (#3044)
* refactor: removes boilerplate code, and fixes heading

* refactor: change region to location

* Removes IS_TESTING variable

* cleanup of changes

* chore: lint test done

* chore: aligns the icons to the center

* chore:verbiage changes and end to end code execution

* chore: reformatted by lint test

* chore: edits future tenses and reformatted by lint test

* chorE: address review comments and change import statement based on lint test

* fix: error rectification, remove vague testing variables

* fix: rectifies testing induced error in notebook

* chore: lint
2024-07-09 20:47:48 +00:00
Liang WuandGitHub c74a714a51 Support Mistral-7B-v0.3 and Mistral-7B-Instruct-v0.3 in deployment notebook. (#3226) 2024-07-09 19:16:21 +00:00
Aaron DietzandGitHub 2104f4c478 Fix typo in sdk_pytorch_torchrun_custom_container_training_imagenet.ipynb (#3238)
Fixed typo: Github --> GitHub
2024-07-09 18:31:37 +00:00
2e330ab7ab fix,chore,refactor(Egen): replaced aip with aiplatform and k80 GPU with T4 GPU, changed the versions of images,.keras extension added when saving and uploading the model, removed import statement of os module, refactored code according to template guidelines and performed linter test. (#3213)
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-09 03:34:01 +00:00
141e77caec refactor, chore, fix(egen): Pipeline documentation link update, removes GPU from machineSpec in the pipeline, package version updates, fixes import errors (#3206)
* <refactor, chore, fix> package version updates, pipeline components documentation link update, importer_node import fix, machineSpec update

* <refactor, chore, fix> package version updates, pipeline components documentation link update, importer_node import fix, machineSpec update

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-09 03:04:57 +00:00
Kaushik KoiladaandGitHub 70a65386d2 refactor, chore(egen): edits build_model_experimentation_lineage_with_prebuild_code notebook (#3203)
* chore,refactor: removes boiler plate, removes version of aiplatform package, adds colab enterprise and formats according to the template

* chore: run end to end

* chore: lint run
2024-07-09 02:42:42 +00:00
00729da920 refactor, chore(egen): Refactored code according to template guidelines (#3136)
* refactor, chore(egen): Refactored code according to template guidelines, performed linter test

* refactor, chore(egen): Removed vertexai SDK initiation in the beginning, performed linter test

* refactor, chore(egen): Made some grammatical changes in markdown script, performed linter test

* refactor(egen): modified code to delete locally created file, code to delete custom job

* comment change

---------

Co-authored-by: sumanvita-springml <sumanvita.kandregula@egen.ai>
2024-07-09 02:34:34 +00:00
Eric DongandGitHub 3e33b7e0c6 Update README.md (7) (#3223) 2024-07-09 02:09:34 +00:00
d57617c726 remove: remove model_garden_pytorch_mistral notebook (#3225)
Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-07-09 01:10:57 +00:00
Kaushik KoiladaandGitHub 24ff289855 chore, refactor(egen): format and refactor for get_started_with_model_monitoring_custom_tf_serving notebook (#3162)
* chore, refactor: adds colab enterprise, removes boilerplate, formats based on template, changes region to location

* chore,refactor: run end to end and format according to template

* chore: Lint test

* chore: comments on lower case addressed and lint run

* chore: comments on lower case addressed and lint run

* chore: address comment on lowercase of resource names
2024-07-05 17:41:44 +00:00
6183a71af4 refactor, chore, fix(egen): Documentation link update, package version updates, fixes import errors (#3208)
* <Refactor> Refactored the notebook according to the template.

* <refactor, chore, fix> Refactored the notebook according to the template, updated the documentation link and package version, fixed the import errors.

---------

Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-04 18:53:37 +00:00
8eb8db2ef8 chore , refactor : removed ! rm lightweight_pipeline.json , Added cleanup code for deletion of pipeline and refactored code according to template guidelines , performed linter test (#3149)
* refactor : removed ! rm lightweight_pipeline.json

* chore,refactor : Added cleanup code for deletion of pipeline and refactored code according to template guidelines , performed linter test

* chore,refactor : Added cleanup code for deletion of pipeline and refactored code according to template guidelines , performed linter test

* refactor,chore : Added code for deletion of pipeline and refactored code according to template guidelines , performed linter test

* refactor,chore : refactored code according to template guidelines and downgraded numpy version

* refactor : removed project name and bucket name used for testing in local

* refactor : refactored code according to template guidelines

* performed linter test

---------

Co-authored-by: Jayakrishna2801 <jayakrishna.rajaboina@egen.ai>
2024-07-03 23:05:12 +00:00
a749fa3377 chore, refactor(egen): replace dsl.Condition with dsl.If, sentence corrections (#3199)
* refactor(egen): refacted markdown as per notebook template

* chore, refactor: removes future tense, minor markdown fixes, removes UUID and uses -unique

* chore, fix: replaces dsl.Condition with dsl.If, fixes some sentences and explanation

---------

Co-authored-by: sumanvita-springml <sumanvita.kandregula@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-03 13:45:04 +00:00
b2e9dbdb54 chore(egen):Added the note to the deprecation of the notebook and performed linter test (#3191)
Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-03 00:36:47 +00:00
f537d8ef4b chore(egen):Added the note to the deprecation of notebook and performed linter test (#3190)
Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-03 00:36:02 +00:00
4a3260d92b chore(egen) : Adds the note to the deprecation of notebook and performs linter test (#3189)
* chore(egen):Added the details of the deprecation of the notebook and performed linter test

* chore(egen):changed the title of the link in the deprecated note

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-03 00:35:21 +00:00
sumanvitaandGitHub 952f2d0aa6 chore(egen): Adds note to the deprecated notebook (#3188)
* chore(egen): Adds note to the deprecated notebook

* removes space
2024-07-03 00:34:38 +00:00
sumanvitaandGitHub 7f920f173f chore(egen): Adds note to the deprecated notebook (#3187)
* chore(egen): Adds note to the deprecated notebook, performs linter test

* removes extra space from the note
2024-07-03 00:33:51 +00:00
sumanvitaandGitHub 656f8d27d1 chore(egen): Adds note to the deprecated notebook (#3186)
* chore(egen): Adds note to the deprecated notebook, performs linter test

* removes extra space from note
2024-07-03 00:32:34 +00:00
sumanvitaandGitHub 03153ca48b chore(egen): Adds note to the deprecated notebook (#3185)
* chore(egen): Adds note to the deprecateed notebook and performs linter test

* Removes extra space in note
2024-07-03 00:30:39 +00:00
cecef79ae5 refactor(egen): template fixes, adds clean up steps (#3160)
* <Refactor> Refactored the notebook according to the template.

* <Refactor> Refactored the notebook according to the template.

* applied suggested edits.

* Changed region to location.

---------

Co-authored-by: UBhavani <bhavani.ummadi@egen.ai>
2024-07-03 00:01:32 +00:00
Eric DongandGitHub 13acdda204 fix: remove --user from package install (#3196) 2024-07-02 23:36:53 +00:00
Gary WeiandGitHub 23ac65b212 Add a Colab notebook for local dreambooth finetune user experience. (#3183)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates

* Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards.

* Sync Colab notebooks between g3 and github.

* format changes

* format update.

* Improve the SDXL-dreambooth-lora finetune notebook CUJ.

* Update the diffusers serving docker image version to `20240605_1400_RC00` to resolve vulnerabilities.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.

* Add a new notebook for local dreambooth finetune user experience.
2024-07-02 12:55:29 +00:00
df0e5a09cc chore,refactor(Egen): replaced aip with aiplatform and kfp.v2 with kfp, removed import statement of os module, refactored code according to template guidelines and performed linter test. (#3170)
* refractor,chore(egen): replaced kfp.v2 with kfp in compile step, refracted code according to template guidelines, performed linter test

* chore,refactor(Egen): replaced aip with aiplatform, removed import statement of os module, refactored code according to template guidelines and performed linter test.

* refactor(egen):refactored code by renaming REGION variable to LOCATION and performed linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-07-02 01:49:49 +00:00
bb3d3bde21 fix, chore, refactor(egen): REST api fixes, KFP v2 refactor, new template (#3180)
* fix, chore, refactor: fixes the issue with job creation request, refactors to use the latest SDKs, follows the new template, sentence corrections

* chore: removes future tense, minor sentence corrections

* chore: addresses the review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-07-01 20:40:05 +00:00
Kaushik KoiladaandGitHub 30f2a2ba03 Egen fix/delete outdated tensorboard experiments (#3178)
* chore: removes boiler plate and changes region to location

* chore: end to end run and lint
2024-07-01 20:32:44 +00:00
Kaushik KoiladaandGitHub f628caeb6d chore, fix, refactor(egen): fixes get_started_with_vertex_experiments_autologging notebook (#3177)
* chore, refactor: adds colab enterprise and refactors according to template

* fix, refactor: fixes issue with loading input and output with the types expected

* chore: lint
2024-07-01 20:31:02 +00:00
7e35553dbf refactor(egen): Corrections from template. (#3172)
* <refactor> refactored notebook according to new template

* Apply suggested edits

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-01 20:25:43 +00:00
sumanvitaandGitHub baa167a8d5 chore, refactor(egen): hardcodes TF version to 2.15.1, refactors code as per template, changes future to present tense (#3171)
* chore, refactor(egen): hardcodes TF version to 2.15.1, refactors code as per template,changes future to present tense

* refactor(egen): removes hypen between words

* refactor(egen): wording change

* contracts words like it is to it's
2024-07-01 20:21:41 +00:00
sumanvitaandGitHub ee4e4bb2ce Fix, chore, refactor(Egen) : hardcodes tensorflow dependency to 2.15.1, K80 to T4, refactors code as per notebook template guidelines (#3161)
* refactor, chore(egen): refactored code as per new notebook template, changes REGION to LOCATION

* chore, refactor(egen): adds code for deletion of locally generated files and other resources, rephrases sentences

* refactor(egen): changes lower to uppercase according to PR comments
2024-07-01 20:13:28 +00:00
ed8a842525 refactor, chore(egen): Replaces K80 with T4 GPU, Documentation link update, corrections from template. (#3163)
* <refactor, chore> refactored notebook according to new template

* Applied suggested edits

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-07-01 20:07:33 +00:00
56faf31221 Egen reviewed explainable ai (#3173)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update vertex_ai_feature_store_based_llm_grounding_tutorial.ipynb

remove back ticks from product/feature names

* Update xai_image_classification_feature_attributions.ipynb

removed back ticks from product names.

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-07-01 20:01:51 +00:00
7a15b88071 feat: Add notebook/colab example for prediction PSC based private (#3080)
endpoint.

Co-authored-by: TJ(Tianjiao) Liu <tianjiaoliu@google.com>
2024-06-29 00:35:54 +00:00
Gary WeiandGitHub 7ceda5e4e6 Add the TGI serving section to the Gemma2 deloyment notebook. (#3175)
* Add the TGI serving section to the Gemma2 deloyment notebook.

* Update the TGI serving container URI.
2024-06-29 00:34:32 +00:00
2a649e0a2e Egen reviewed model monitoring (#3176)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update vertex_ai_feature_store_based_llm_grounding_tutorial.ipynb

remove back ticks from product/feature names

* Update get_started_with_model_monitoring_custom.ipynb

small edits

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-29 00:14:36 +00:00
kittyabsandGitHub b2b97dddb0 Update get_started_with_model_registry.ipynb (#3174)
made numerous edits
2024-06-28 19:15:42 +00:00
800e92597c Add a notebook for MaMMUT (#3169)
* feat: Add a notebook for MaMMUT

* feat: Update CODEOWNERS

* fix: Remove unused import

---------

Co-authored-by: Ivy Wang <jiananwang@google.com>
2024-06-28 18:17:16 +00:00
skarukasandGitHub b895a348cc Add learning_rate_multiplier and output_dimensionality parameters to the text embedding tuning notebook. (#3165)
* Add learning_rate_multiplier and output_dimensionality to embedding tuning notebook.

* Reformat
2024-06-28 13:58:03 +00:00
Ivan NardiniandGitHub 4e2c698029 fix: update the torch sample on Ray on Vertex AI (#3131)
* review the torch rov notebook

* linter passed

* fix typos

* linter passed

* fix issue

* linter passed

* fix typos

* fix typos
2024-06-28 13:56:01 +00:00
cddfb9cb09 Featurestore notebook egen edited (#3167)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update vertex_ai_feature_store_based_llm_grounding_tutorial.ipynb

remove back ticks from product/feature names

* Update vertex_ai_feature_store_feature_view_service_agents.ipynb

remove back ticks

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-27 23:50:58 +00:00
Kathy YuandGitHub 510eb3855c Add Hex-LLM TPU deployment to Gemma, Code Gemma and Gemma 2 notebooks. (#3168)
* Add Hex-LLM TPU deployment to Gemma, Code Gemma and Gemma 2 notebooks.

* Fix linter issues.
2024-06-27 23:31:56 +00:00
ethan-gordonandGitHub 7a96949b68 Add vertex_ai_feature_store_iam_policy notebook. (#2913)
* Add vertex_ai_feature_store_iam_policy notebook.

* update CODEOWNERS

* Fix formatting of vertex_ai_feature_store_iam_policy.ipynb
2024-06-27 20:36:48 +00:00
KCFindstrandGitHub 2b0dd757d5 Switch movinet serving notebooks to use port 8080 (#3157) 2024-06-27 20:34:51 +00:00
Huguens JeanandGitHub 90c82b7b7b [MG Model Team] Cleanup cloudnerf gradio notebook outputs. (#3151) 2024-06-27 20:27:02 +00:00
praccu-googleandGitHub 8607144ed4 Add hugging face token to mixtral example colab. (#3158) 2024-06-27 20:24:50 +00:00
a8f9cbbaa6 fix, refactor(egen): fixes data import issue, includes pipeline job deletion, corrections from template. (#3150)
* <fix, refactor> fixed and refactored notebook according to the template

* Apply suggested edits from @kittyabs

* Apply suggested edits from @kittyabs

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-27 20:15:29 +00:00
b96dd105d9 chore,refactor(egen) : Added clean up code for deletion of model endpoint and local files, refactored code according to template guidelines, performed linter test (#3147)
* refractor(egen): refracted code according to template guidelines, performed linter test

* refractor(egen):  refracted code by removing os.getenv(IS_TESTING) in clean up code of bucket

* chore,refactor(egen):grammar check according to template guidelines, refactored the code by adding clean up code for deletion of local files created and model  endpoint and performed linter test.

* refactor(egen):refactored code by modifying clean up code and performed linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
2024-06-27 20:07:57 +00:00
6bd828833f refactor, chore(egen): Refactored code according to template guidelines (#3135)
* refactor, chore(egen): Refactored code according to template guidelines, performed linter test

* refactor, chore(egen): Removed vertexai SDK initiation at the beginning, performed linter test

* chore, fix: removes future tense(will), fixes workbench-specific dependency compatibility issue by fixing versions, removes Only at bucket creation, fixes categorical fields while encoding, adds comments in cleanup, adds project-id in gsutil command

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-27 20:03:44 +00:00
sumanvitaandGitHub 4d19f36d39 chore, refactor(egen) : changes file extension from .json to .yaml, refactored code as per template guidelines (#3146)
* fix, refactor, chore(egen): replaced .json to .yaml, refacted the code as per notebook template, performed linter test.

* refactor, chore(egen): Rephrases sentences, changes from google.cloud import aiplatform instead to import google.cloud.aiplatform as aip

* refactor(egen(egen): cleared cell output

* refactor, chore(egen): changes made as per PR comments, perfomed linter test
2024-06-27 20:02:21 +00:00
a877ca3501 fix,refactor,chore(egen): replaced np.float with np and K80 GPU with T4 GPU, refacted code as per template guidelines (#3138)
* fix,refractor,chore(egen): replaced np.float with np, refracted code according to template guidelines, performed linter test

* refractor(egen): refracted code according to template guidelines, performed linter test

* chore, fix: corrects/rewords some sentences, replaces K80 with T4

* chore(egen): spell check

* refactor, chore(egen): wording changes, contracts words like is not to is'nt, ran linter test

* refactor, chore(egen): rewording ,reintroduces import numpy as np in task.py

* fix(egen): removes delete_custom_folder variable in cleanup section

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-27 19:57:59 +00:00
fd1b0f8383 Featurestore notebook#3 (#3155)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update online_feature_serving_and_fetching_bigquery_data_with_feature_store_optimized.ipynb

made edits and also corrected the URL involving "pantheon", changing it to: https://console.cloud.google.com

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-27 18:27:55 +00:00
kittyabsandGitHub 4fe89b9849 Update online_feature_serving_and_fetching_bigquery_data_with_feature_store_bigtable.ipynb (#3164)
removed back ticks from product names
2024-06-27 18:20:31 +00:00
d973169c0c Featurestore notebook non egen (#3156)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* fix: remove new changes

* Update online_feature_serving_and_fetching_bigquery_data_with_feature_store_bigtable.ipynb

Some small edits, but mainly, I changed the URL that used "pantheon" to https://console.cloud.google.com,
Note: egen has not reviewed this notebook yet, so I didn't do a more detailed edit. Will do that once they've updated the notebook.

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-27 17:34:00 +00:00
47ef3e3f6c Featurestore notebook#2 (#3154)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* Update online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb

some small edits

* fix: remove new changes

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-26 22:42:29 +00:00
d43c5fee3d chore, refactor(egen): follows new template, removes IS_TESTING, spell corrections (#3148)
* chore, refactor: follows new template, removes IS_TESTING in clean up, contracts words and some steps, spell correct, K80 to T4

* chore: addresses review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-26 22:34:35 +00:00
01317fda2a fix, chore, refactor(egen): Fix TF version, replace K80 with T4 etc. (#3143)
* chore, fix, refactor: template fixes, replace K80 with T4, remove IS_TESTING, reword some sentences and headings

* fix, refactor, feat, chore: replace K80 with T4, fix the TF version, template based fixes, remove local files in the clean up step

* chore: addresses review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-26 22:08:55 +00:00
sumanvitaandGitHub 7c91b6f354 refactor, chore(egen): Refactored code according to template guidelines, added code to delete job in cleanup section (#3139)
* refactor,chore(egen): refacted the code as per template guidelines, correct/reword some sentences, future tense removal

* refactor(egen): adds -p {PROJECT_ID} while creating bucket

* clears cell outputs

* refactor, chore(egen): removes extra spaces, changes does not to does'nt, performed linter test
2024-06-26 21:55:04 +00:00
3cff78caf0 refactor, chore, fix(egen): replace K80 with T4, template fixes (#3137)
* fix,refractor,chore(egen): refracted code according to template guidelines, performed linter testfixed and refactored notebook according to template

* refactor(egen): replaced the project_id with [you-project-id] according to template guidelines

* chore: template guideline fixes

* chore: corrects/rewords some sentences

* chore: minor markdown fixes

* chore(Egen):Done changes according to @kittyabs review and performed linter test.

* performed linter test

---------

Co-authored-by: sriramya2610 <sriramya.peddapally@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-26 21:39:13 +00:00
a1bbe56d90 Featurestore notebook (#3152)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* Update online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb

Made numerous edit and fixed "pantheon" link.

* fix: remove new changes

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-26 21:24:17 +00:00
39b48e8ef5 refactor(egen): Removes boilerplate, heading fixes, corrections from template. (#3126)
* <refactor> refactored notebook according to template

* Apply edits suggested by @kittyabs

* Apply suggested edits from @kittyabs review

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-26 21:22:34 +00:00
Eric DongandGitHub a992a7b185 Update README.md 6 (#3153)
Add more examples
2024-06-26 20:49:11 +00:00
Huguens JeanandGitHub 65baa52c6c [MG Model Team] Add checks to train and rendering job buttons in ZipNeRF gradio app. (#3133)
* [MG Model Team] Add checks to train and rendering job buttons in ZipNeRF gradio notebook.

* Clear output of all cells.

* Validate scene name in colmap workshop.
2024-06-26 12:54:36 +00:00
4615216bc2 Update training docker tag (#3145)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-06-26 12:42:24 +00:00
Kaushik KoiladaandGitHub 5b3510a634 refactor,fix,chore: rectifies the egen_fix/sdk_pytorch_torchrun_custom_container_training_imagenet notebook (#3142)
* chore: adds colab enterprise and updates styling for all the open in tabs

* chore: removes boilerplate and updates according to template

* refactor: changes Region to Location

* test: end to end notebook testing

* chore: removes wil

* end to end run successful. clearing outputs

* chore: lint test done

* chore: rearrage cell
2024-06-26 00:17:52 +00:00
nileshspringmlandGitHub 550c4208f3 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3124)
* Adapted code with updated template

* Tested end to end code and added required code

* Worked on the feedback given on PR

* Did required changes based on feedback given on PR
2024-06-26 00:15:55 +00:00
Kaushik KoiladaandGitHub cb149b0afd refactor,fix,chore: fixes error and refactors sdk_vector_search_create_stack_overflow_embeddings_vertex notebook according to template (#3108)
* chore: lint test

* chore, fix: lint run and fixes REGION issue
2024-06-26 00:13:42 +00:00
Rohith AllaandGitHub 5bced71ba5 refactore, chore (egen): Refactored code according to the notebook template (#3081)
* refactore, chore (egen): Refactored code according to the notebook template, performed linter test

* refactor, chore(egen): Reverted changes regarding IS_TESTING, performed linter test

* refactor, chore (egen): Removed reference to Tensorboard billing since it is not true anymore, performed linter test

* refactor, chore (egen): Rectified project ID, performed linter test

* refactor: Rectified service account variable

* chore: Performed linter test

* refactor, chore(egen): Updated comments in cleaning up section, performed linter test
2024-06-26 00:12:01 +00:00
Rohith AllaandGitHub 8410630e94 refactor, chore(egen): Refactored code according to template guidelines, performed linter test (#3134) 2024-06-25 17:24:03 +00:00
Eric DongandGitHub 1980ec9007 Update README.md 5 (#3118)
Add examples section
2024-06-24 23:00:24 +00:00
Kelsi LakeyandGitHub d8c8049d7e Remove incorrect pricing information about Vertex AI Tensorboard (#3057)
* Update comparing_local_trained_models.ipynb

Remove note stating Vertex TensorBoard is $300/month.
Update Create Tensorboard section to use default Tensorboard and init() method.

* Update comparing_local_trained_models.ipynb

* Update comparing_local_trained_models.ipynb

Update delete tensorboard section

* Update comparing_local_trained_models.ipynb
2024-06-24 13:13:51 +00:00
Aiden010200andGitHub 9c2cc6d39f Upload asynchronous prediction sample. (#3122)
* Upload examples of kfp v2

* Upload run experiment example.

* Upload batch prediction job sample.

* Update recycling of computing resources

Recycling computing resources after predictions.

* Upload missing file

Add delete endpoint func to recycle resources.

* Upload asynchronous prediction sample.

Upload asynchronous prediction sample of kfp v2.
2024-06-24 13:12:54 +00:00
41d482d65d Support A100-80GB for checking quota (#3119)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-06-24 13:11:19 +00:00
7132270fb2 chore, feat(egen): template fixes, adds clean up steps (#3117)
* chore, feat: template fixes, adds steps to remove training job, local files, and remove future tense and contract long words

* fix: replaces REGION with LOCATION while creating the bucket

* refactor: reduces the budget_milli_node_hours to 1000 from 8000

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-24 13:10:40 +00:00
64aa5a5c69 refactor, chore(egen): Replaces K80 with T4 GPUs, corrections from template. (#3115)
* <refactor, chore> refactored notebook according to template

* indentation fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-24 13:09:38 +00:00
nileshspringmlandGitHub 787e43df1b refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3114)
* Adapted notebook with new notebook template and removed unwated code.

* Did major changes in dockerfile

* Did minor changes in cleanup section
2024-06-24 13:08:42 +00:00
02bdc8e3cb fix, chore, refactor, feat(egen): Replaces K80 to T4, gcr with Artifact Registry etc. (#3111)
* fix, chore, refactor, feat: replaces K80 to T4, replaces gcr pushes to artifact registry pushes, template based fixes, clean up for local files, remove IS_TESTING

* fix: defines the IS_COLAB step before the condition

* fix: REGION is replaced by LOCATION while creating the artifact registry

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-24 13:07:48 +00:00
f4a703ea23 refactor, chore(egen): Fix broken links in Markdown cells, corrections from template. (#3110)
* <refactor, chore> refactored notebook according to template

* Apply suggested edits from @kittyabs review

* lint fix

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-24 13:05:29 +00:00
Rohith AllaandGitHub 30b02b94f5 refactor, chore(egen): Replaced TESLA_V100 with TESLA_T4 and refactored the notebook with template notebook (#3107)
* refactor, chore(egen): Replaced TESLA_V100 with TESLA_T4 and refactored the notebook with updated template, performed linter test

* Refactor, chore(egen): Made few markdown changes,REGION > LOCATION, performed linter test
2024-06-24 13:04:16 +00:00
nileshspringmlandGitHub e87e3c39be refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3094)
* Updated notebook template

* Code fix related to variable TIMESTAMP, added project set for colab

* Updated tensorflow library and exuection of prediction code in VPC network

* Perfomred lint test of code

* Did minro changes regarding os.getenv

* Fixed issue based on feedback on PR
2024-06-24 13:03:03 +00:00
220382d41f fix, refactor, chore(egen): Fix model deployment to endpoint using Deployment Resource Pool, Replaces K80 with T4 GPUs, Documentation link update, corrections from template. (#3093)
* <fix, chore, refactor> refactored notebook according to template

* lint fix

* Apply suggested edits from @kittyabs review

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-24 13:01:47 +00:00
nileshspringmlandGitHub 2347cc4b7d refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3101)
* Did required changes in prediction/llm_streaming_prediction.ipynb. Additionally, note that code is not executed as it may requried huge resources.

* Removed hardcoded project name

* Updated REGION to LOCATION

* Updated notebook template

* Removed unwated library and addded required variable to delete resources

* Removed unwated comment as it was creating issue with linter test
2024-06-24 12:59:38 +00:00
dc07492d8d Support A100 80GB (#3129)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-06-24 12:58:45 +00:00
ebd738e863 fix, refactor, chore(egen): Fix TF version support, template format (#3120)
* refactor(egen): Refactored code according to the template guidelines

* fix, refactor: fixes the compatible tf version and removes unnecessary import in the clean up step

* fix: adds matplotlib in the installation step

---------

Co-authored-by: rohith-egen <rohith.alla@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-21 21:11:43 +00:00
Huguens JeanandGitHub 19973ced06 [MG Model Team] Add CamP ZipNeRF Gradio application notebook to model garden. (#3121)
* [MG Model Team] Add CamP ZipNeRF Gradio application notebook to model garden.

* [MG Model Team] Add CamP ZipNeRF Gradio application notebook to model garden.

* [MG Model Team] Add CamP ZipNeRF Gradio application notebook to model garden.

* [MG Model Team] Add CamP ZipNeRF Gradio application notebook to model garden.
2024-06-21 21:10:41 +00:00
KCFindstrandGitHub bc2960fcce Update the server port in model_garden_keras_stable_diffusion.ipynb (#3128) 2024-06-21 21:08:23 +00:00
lee1premiumandGitHub 421ec0dc26 feat: Use pipeline_job_name from a tuning result. (#3127)
* feat: Use pipeline_job_name.

* feat: Use pipeline_job_name.
2024-06-21 21:07:58 +00:00
8eb2aa93d5 Add new model Claude 3.5 Sonnet and update regions for other models (#3112)
* add new model and update region for others

* fix minor error

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-06-20 18:22:34 +00:00
sefgsefgandGitHub 3947a8bc24 Upload torch transformers predictor sample (#3087)
This sample uses the aiplatform SDK and torch library to implement transformers predictor.
2024-06-20 12:39:50 +00:00
Eric DongandGitHub 022e1c8ee7 Update README.md 4 (#3104)
Add Get started section
2024-06-18 21:47:37 +00:00
cec3f9dd55 refactor: refactor llama3 deployment nb (#3100)
Co-authored-by: Rayan Dasoriya <dasoriya@google.com>
2024-06-18 12:36:46 +00:00
70ebb04f06 Update llama3 finetuning notebook to use 4 A100s instead of 8 (#3105)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-06-18 12:31:42 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
fd21267d70 chore(deps): bump scikit-learn (#3106)
Bumps [scikit-learn](https://github.com/scikit-learn/scikit-learn) from 1.3.2 to 1.5.0.
- [Release notes](https://github.com/scikit-learn/scikit-learn/releases)
- [Commits](https://github.com/scikit-learn/scikit-learn/compare/1.3.2...1.5.0)

---
updated-dependencies:
- dependency-name: scikit-learn
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-18 12:31:00 +00:00
Eric DongandGitHub 77e0230eb8 Update README.md 3 (#3103)
Add usage section
2024-06-17 14:51:12 +00:00
8895075d28 chore: renames 'matching_engine' to 'vector_search' and 'Matching Engine' to 'Vector Search' (#3096)
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-17 12:40:24 +00:00
Katie NguyenandGitHub f381ae9817 feat: add colab enterprise link format to script (#3097) 2024-06-17 12:37:28 +00:00
Mend RenovateandGitHub 0b623038fa chore(deps): update dependency flake8 to v7.1.0 (#3099) 2024-06-17 12:36:41 +00:00
7cd354436e chore, refactor, fix, feat(egen): template structure+K80GPU+contract words+clean up (#3085)
* chore, refactor, fix, feat: template structure, removes redundant code, contracts content, replaces K80 with T4, cleans up local files

* chore,chore, fix: addresses review comments+ sets replica=1,accelerator_count=4

* fix, chore: reduces the GPU count to 1, rewords the title

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-14 21:12:17 +00:00
Eric DongandGitHub d7c334353c Update README.md 2 (#3091)
Continued to update README.
2024-06-14 17:10:37 +00:00
kittyabsandGitHub ba80e59b1e Update tensorboard_vertex_ai_pipelines_integration.ipynb (#3036)
* Update tensorboard_vertex_ai_pipelines_integration.ipynb

added colab enterprise link and icon. Deleted <br> line, too

* Update tensorboard_vertex_ai_pipelines_integration.ipynb

fixed - added missing .ipynb
2024-06-14 14:23:43 +00:00
62b3f0af1b Update llama3 finetuning notebook (#3090)
* Update llama3 finetuning notebook

* Update model_garden_pytorch_llama3_finetuning.ipynb

fix linter issue

* Update model_garden_pytorch_llama3_finetuning.ipynb

Remove unnecessary metadata

---------

Co-authored-by: minwoopark <minwoopark@google.com>
2024-06-13 23:54:58 +00:00
bd10dede25 refactor(egen): follows new template+sentence and other minor corrections (#3073)
* chore: restructures according to template, contracts text and cells, organizes headings

* refactor: removes the IS_TESTING conditions for steps involving redis instance

* chore: addresses review comments

* fix: adds back the IS_TESTING conditions for redis commands to skip in the test environment

* chore: removes duplicate comment

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-13 20:52:43 +00:00
7e8bf8a126 fix, refactor, chore(egen): follows new template, adds dataflow enable step, refactor (#3089)
* Updated template of notebook

* fix, refactor, chore: follows new template, adds dataflow enable step, cleanup steps for files, removes IS_TESTING in cleanup, REGION==>LOCATION

* chore: addresses the review comments

---------

Co-authored-by: nileshspringml <nilesh.mahajan@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-13 20:36:50 +00:00
nileshspringmlandGitHub 847d38642c refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3086)
* Did required changes in notebook template

* Service account permission changed as we don't need admin level access for this notebook

* Fixed issue based on PR feedback
2024-06-13 20:31:07 +00:00
Gary WeiandGitHub 697a4c6e88 Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook. (#3082)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.

* Update Gradio notebook to use the latest Gradio version and fix some bugs.

1. Update Gradio version to 4.29.0, as it complains 3.50.0 is too old.
2. Uninstall nest-asyncio and uvloop as a workaround to b/339301920 and https://github.com/gradio-app/gradio/issues/8238#issuecomment-2101066984.

* Resolve merge conflict.

* minor updates.

* minor updates.

* Merge some SD notebook in g3 and github.

* Remove the unused variable in the controlnet notebook.

* minor updates.

* include the SD1.5 dreambooth notebook.

* Include the sd1.5 dreambooth notebook.

* Improve the stable diffusion dreambooth tuning CUJ in the Gradio notebook.

* minor update.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.
2024-06-13 14:01:39 +00:00
f5c17c0700 refactor, chore, feat(egen): contracts content, steps & template based fixes (#3075)
* refactor, chore, feat: removes/contracts long explanations, template based fixes, adds step to remove locally generated files

* fix: adds the missing import, replaces code markdown with bold style at some places

* fix: replaces REGION with LOCATION

* chore: addresses review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-12 22:37:30 +00:00
0e662eca2b refactor, chore(egen): Uses gcloud builds for building and pushing image to artifact registry, Removes boilerplate, heading fixes, and other corrections from template (#3074)
* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor,chore> refactored notebook according to template

* <refactor,chore> refactored notebook according to template

* fix for  docker repository creation in PR test environment

* <included IS_TESTING condition for docker repository

* lint fix

* Apply suggested edits from @kittyabs review

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-12 17:28:01 +00:00
Eric DongandGitHub d339690a4b Update README.md (#3088)
Update the overview with link to generative-ai repo
2024-06-12 17:08:54 +00:00
Mend RenovateandGitHub 134a6221e6 chore(deps): update dependency pyupgrade to v3.16.0 (#3066) 2024-06-11 19:14:25 +00:00
kittyabsandGitHub e79c4b5caa Update get_started_with_pytorch_rov.ipynb (#3034)
Update colab enterprise logo
2024-06-11 19:13:18 +00:00
Kathy YuandGitHub 535a6232d3 Remove legacy Llama 2 notebook. (#3083) 2024-06-11 19:11:11 +00:00
KCFindstrandGitHub f49e09698e Fix broken links in model garden notebooks (#3077)
* Fix broken links in notebooks

PiperOrigin-RevId: 641077957

* Revert llama3 deployment notebook change
2024-06-11 19:10:16 +00:00
Gary WeiandGitHub 792e3b16a5 Update the diffusers serving docker image to 20240605_1400_RC00 to resolve vulnerabilities. (#3079)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates

* Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards.

* Sync Colab notebooks between g3 and github.

* format changes

* format update.

* Improve the SDXL-dreambooth-lora finetune notebook CUJ.

* Update the diffusers serving docker image version to `20240605_1400_RC00` to resolve vulnerabilities.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.

* Add dreambooth-lora-sdxl task for SDXL base model in the dreambooth finetune Gradio notebook.
2024-06-11 19:09:30 +00:00
Kaushik KoiladaandGitHub fbcf3b4cc8 chore, refactor(Egen): restructure from template, remove boilerplate, and fix notebook (#3068)
* chore: updates copyright text, adds colab enterprise and for

* chore: removes boilerplate and changes colab authentication and get started section

* refactor: removes IS_TESTING and other test code

* refactor: removes IS_TESTING and other test code

* chore: clear all outputs and linter reformatting

* chore: removes code added for testing and other fixes

* chore: runs lint

* fix: fixes testing induced bug

* chore: review comments with header and copyright changes addressed
2024-06-11 18:27:36 +00:00
ac8f7ad196 chore, fix, feat(egen): follows template + fix docker run + adds clean up (#3072)
* chore, fix: restructures as per template, rewords some sentences, removes sudo in the option docker run

* feat: adds clean up step for local files

* chore: reverts lowercase to camelcase for artifact registry and other review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-11 18:06:50 +00:00
Kaushik KoiladaandGitHub 4e21510eeb refactor, chore, fix (Egen) : removes boilerplate and fixes notebook pytorch_train_deploy_models_with_prebuilt_containers.ipynotebook (#3070)
* chore: updates the license

* chore: formats run in buttons and adds colab enterprise link

* chore: removes code font for names of products

* refactor: removes boilerplate and edits aiplatform initialization cell order

* fix: changes naming of app to deal with setup changing tar.gz file to canonical name and gsutil command not able to find it

* chore: linter run

* chore: edit all the future tense sentences

* chore: updates review comments
2024-06-11 18:01:11 +00:00
Rohith AllaandGitHub 04059ebadb refactor(egen): Refactored the Custom tabular bq managed dataset code as per template guidelines (#3053)
* refactor: Refactored custom-tabular-bq-managed-dataset code according to the template notebook

* refactor: Included markdown code in the beginning of the license cell to make it collapsible

* chore: linter test

* refactor, chore: Updated markdown according to the updated notebook template and performed linter test

* chore: Grouped all the imports present in the notebook

* chore: linter test

* refactor, chore(egen): REGION is replaced with LOCATION, linter test
2024-06-11 17:53:12 +00:00
Kaushik KoiladaandGitHub acb4fbb684 refactor, fix, chore(Egen): changes and refactors the get_started_vertex_training_xgboost.ipynb notebook (#3069)
* chore: updates license information, adds colab enterprise, and reformats run buttons

* chore: 'will' replaced appropriately

* chore: updates region and removes boilerplate

* fix: corrects the argument at pip install

* refactor: refactoring the cells for end to end functionality

* chore: changes verbiage in bucket creation

* chore: linter test done

* refactor: rearrage cell order for aiplatform initialization

* chore: review comments addressed

* chore: review comments addressed
2024-06-11 17:48:44 +00:00
Rohith AllaandGitHub 32934925f6 refactor(egen): Refactored custom batch prediction feature filter code according to template guidelines (#3052)
* refactor: Refactored custom_batch_prediction_feature_filter code according to the template notebook

* refactor: Updated markdown according to the updated notebook template and did linter test

* chore: Modified code according to updated template

* chore: linter test

* refactor, chore(egen): REGION is replaced with LOCATION, linter test
2024-06-11 17:40:16 +00:00
Rohith AllaandGitHub daab623cac refactor, chore: Updated markdown according to the updated notebook template and performed linter test (#3063) 2024-06-07 23:12:01 +00:00
Rohith AllaandGitHub dad35742de fix, refactor(egen): Replaced tf2-gpu.2-5 with tf2-gpu.2-6, Refactored the code as per template guidelines (#3064)
* refactor: Updated markdown according to the updated notebook template

* refactor, chore: Added colab enterprise logo url and performed  linter test

* refactor, chore: Reverted back the max trail count and parallel trail count values, performed linter test
2024-06-07 21:30:06 +00:00
Rohith AllaandGitHub f7b49ebb40 refactor(egen): Refactored the Autosxs check alignment against human preference data code as per template guidelines (#3062)
* refactor, chore: Updated markdown according to the updated notebook template and performed linter test

* Revert "refactor, chore: Updated markdown according to the updated notebook template and performed linter test"

This reverts commit c91fa09431.

* refactor, chore: Updated markdown according to the updated notebook template and performed linter test
2024-06-07 21:24:53 +00:00
nileshspringmlandGitHub 95ffea1915 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3058)
* Did all the required changes in notebook

* Added below comments:
# @title Copyright & License (click to expand)

* Upadated the template of notebook

* Fixed issue based on the feedback given on PR
2024-06-07 21:20:07 +00:00
nileshspringmlandGitHub 7e6122a50d refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3046)
* refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template

* Added Below line in comments:
# @title Copyright & License (click to expand)

* Fixed issue in notebook based on feedback given by reviewer in PR

* Fixed issue based on feedback given on PR
2024-06-07 21:15:20 +00:00
7afdeb05f5 chore, fix(egen): corrections from template, guidelines, & fixes docker tag command (#3031)
* chore: replaces K80 with T4, Cloud ML with Vertex AI, REGION with LOCATION, restructures from template, & removes future tense

* fix: fixes the docker tag command for colab

* chore, fix: addresses the review comments, tf is pinned to 2.15.1 as the latest tf causes issues

* chore: replaces of with or

* chore: removes the collapsed license comment

* fix: removes the test env specific package update step and contracts the installations into one step to keep tf as 2.15

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-07 21:10:09 +00:00
2df29ec118 chore, fix(egen): restructuring from template, markdown corrections & dataset object fix (#3028)
* chore: restructures according to the template, removes future tense, removes IS_TESTING, unused imports

* chore, fix: addresses the review comments, converts npy array to list for running in py-3.9

* chore: adds --it's-- in the sentence

* chore: Getting started -->  Get started

* chore: removes the collapsed license comment

* fix: extracts list from numpy objects instead of Dataset object

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-07 20:58:54 +00:00
nileshspringmlandGitHub c2cd389201 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3020)
* Completed code fixing for file prediction/pytorch_image_classification_with_prebuilt_serving_containers.ipynb. Please note that we need to execute file end to end.

* Added Colab Enterprice link and testead once again with different environment as previously it was throwing an expecption of  libraries

* Added below comment:
# @title Copyright & License (click to expand)

* Fixed issue in notebook based on feedback given by reviewer in PR

* Fixed issue based on feedback give on PR
2024-06-07 20:54:10 +00:00
nileshspringmlandGitHub b30a230d1d refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3019)
* Fix code of file prediction/get_started_with_raw_predict.ipynb

* Added link of Colab Enterprise

* Updated create bucket command because it requried those changes to execute in google colab notebook

* Removed IS_TESTING environment variable

* Added below comment in notebook:
# @title Copyright & License (click to expand)

* Fixed issue in notebook based on feedback given by reviewer in PR

* Fixed issue based on the feedback given on PR
2024-06-07 20:51:24 +00:00
Aiden010200andGitHub c5be708d45 Update func of computing resources recycling (#3043)
* Upload examples of kfp v2

* Upload run experiment example.

* Upload batch prediction job sample.

* Update recycling of computing resources

Recycling computing resources after predictions.

* Upload missing file

Add delete endpoint func to recycle resources.
2024-06-07 12:39:33 +00:00
Gary WeiandGitHub bc577d9f79 Improve the SDXL-dreambooth-lora finetune notebook CUJ. (#3055)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates

* Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards.

* Sync Colab notebooks between g3 and github.

* format changes

* format update.

* Improve the SDXL-dreambooth-lora finetune notebook CUJ.
2024-06-07 12:36:14 +00:00
KCFindstrandGitHub 1fcafd3364 Fix accelerator_type variable name case in quota checks (#3061)
PiperOrigin-RevId: 640634353
2024-06-07 12:34:21 +00:00
be31756dac refactor, chore(egen): Claude documentation link update, Text explanations for required cells and other corrections from template (#3027)
* <refactor> refactored notebook according to template

* <refactor> refactored notebook according to template

* <refactor> refactored notebook according to template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-06 23:03:34 +00:00
868e49224b refactor(egen): Removes boilerplate, heading fixes, and other corrections from template (#3026)
* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored code according to new notebook template

* <refactor>: refactored notebook according to new notebook template

* <refactor>: refactored notebook according to new notebook template

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-06 23:01:07 +00:00
nileshspringmlandGitHub 32caaaa7d9 Updated notebook template (#3059)
* Updated notebook template based on google team comment on PR

* Removed unwated comment line from notebook
2024-06-06 13:12:57 +00:00
Rohith AllaandGitHub 521f58b7e6 refactor(egen): Refactored Text embedding api semantic search with scann code according to template guidelines (#3024)
* <refactor>: Refactored text_embedding_api_semantic_search_with_scann code according to the notebook template

* chore: linter test

* refactor: Modified colab enterprise logo url and made necessary changes according to the updated notebook template

* chore: linter test
2024-06-05 20:59:54 +00:00
030024cc51 refactor, chore, fix(egen): GPU usage fixes, template & markdown fixes (#3050)
* refactor, chore, fix: replaces K80 with T4, fixes to follow the template, fixes to utilize the defined accelerators while training

* chore: addresses the review comments

---------

Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-05 20:51:27 +00:00
Rohith AllaandGitHub dc38b9e0f9 refactor(egen): Refactored text embedding new api code according to the template guidelines (#3051)
* refactor: Refactored text_embedding_new_api code according to the template notebook

* refactor: Modified colab enterprise logo url and made necessary changes according to the updated notebook template
2024-06-05 20:12:57 +00:00
Amy WuandGitHub cd95c35cc2 remove data science package samples since they are deprecated (#3056) 2024-06-04 23:49:20 +00:00
4e04f7d166 Template vertex ai (#3054)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

added colab enterprise logo and link

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

hope I fixed the JSON issue

* Update notebook_template.ipynb

- changed "Getting Started" to "Get started" to be in compliance with style guide
- added "for Python" to "Vertex AI SDK" to be in compliance with product guidelines

* fix: reset changes

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-04 18:02:17 +00:00
bc14b3fa05 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3045)
* <refactor>: refactored code according to notebook template

* <refactor> refactored notebook according to template

---------

Co-authored-by: SumanthKasula99 <sumanth.kasula@egen.ai>
2024-06-04 08:20:36 +00:00
db9c182716 refactor, chore(egen): Removes boilerplate, heading fixes, and other corrections from template (#3021)
* refactor: removes boilerplate code, future tenses, and fixes heading styles

* chore: replaces REGION with LOCATION to match the notebook template

* chore: markdown heading fixes according to guidelines

---------

Co-authored-by: rohith-egen <rohith.alla@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-03 23:48:13 +00:00
Rohith AllaandGitHub c240cf6a34 refactor(egen): Refactored the code as per template guidelines (#3015)
* refactored code according to template notebook

* refactored code according to template notebook
2024-06-03 23:46:29 +00:00
lee1premiumandGitHub 78d2d46f80 fix: Comment on Vertex AI workbench. (#3049)
* fix: Comment on Vertex AI workbench.

* fix: Comment on Vertex AI workbench.
2024-06-03 20:04:53 +00:00
54ae9a17b2 chore(egen): removes future tense, adds colab enterprise link, and colab only steps (#3025)
* chore: updates the notebook according to the latest template

* chore: linter test

* refactor: removes IS_TESTING, and os import

* ran linter test using linter.sh

---------

Co-authored-by: rohith-egen <rohith.alla@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-03 18:24:18 +00:00
kittyabsandGitHub 9251100d25 Update get_started_with_model_registry.ipynb (#3047)
updated icon url: https://cloud.google.com/ml-engine/images/colab-enterprise-logo-32px.png
2024-06-03 18:05:06 +00:00
eccecc8e2b Update ray_cluster_management.ipynb (#3033)
* Update ray_cluster_management.ipynb

Updated logo for Colab Enterprise

* fix: change accelerator type

* fix: alter accelerator type

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-06-01 20:48:18 +00:00
263dba54bc fix, refactor(egen): Replaces K80 with T4 GPUs, corrections from template (#3013)
* fix: n1-standard-8 changed to n1-standard-16 and Tesla K80 changed to Tesla T4 + refactored code according to the template

* refactor: keeping the machine types same. Original issue with the K80 accelerators as they're no longer supported

---------

Co-authored-by: rohith-egen <rohith.alla@egen.ai>
Co-authored-by: krishr2d2 <krishna.movva@egen.ai>
2024-06-01 00:15:24 +00:00
86243a1cb7 chore: Refactor the instructions in model_monitoring_v2 notebooks (#3023)
Co-authored-by: SereniCode <binbinf@google.com>
2024-05-31 23:40:23 +00:00
kittyabsandGitHub dd7c60acff Update tensorboard_hyperparameter_tuning_with_hparams.ipynb (#3037)
Add colab enterprise link and logo
2024-05-31 23:24:01 +00:00
kittyabsandGitHub 6901cd24e5 Update tensorboard_profiler_custom_training_with_prebuilt_container.ipynb (#3038)
added colab enterprise link and logo
2024-05-31 23:21:50 +00:00
kittyabsandGitHub 3dae9238f5 Update notebook_template.ipynb (#3029)
update enterprise logo
2024-05-31 23:15:54 +00:00
kittyabsandGitHub 4e8bfb88b3 Update model_garden_gemma_fine_tuning_batch_deployment_on_rov.ipynb (#3032)
update colab enterprise icon
2024-05-31 23:14:54 +00:00
kittyabsandGitHub b6b921ef68 Experiments delete outdated experiments (#3041)
* Update tensorboard_custom_training_with_custom_container.ipynb

added colab enterprise link and logo

* Update comparing_local_trained_models.ipynb

Added colab enterprise logo and link. Also made some edits.

* Update delete_outdated_tensorboard_experiments.ipynb

Updated Colab Enterprise logo
2024-05-31 23:01:12 +00:00
kittyabsandGitHub faf68b59bb Update delete_outdated_tensorboard_experiments.ipynb (#3042)
updated colab enterprise logo
2024-05-31 22:57:11 +00:00
f9351c0e0b Update get_started_with_model_registry.ipynb (#3030)
* Update get_started_with_model_registry.ipynb

add colabe enterprise link

* fix: remove extra line break elements

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-05-31 22:51:24 +00:00
kittyabsandGitHub 921b1be406 Update get_started_with_model_registry.ipynb (#3022)
small edits.
2024-05-30 20:01:30 +00:00
Yichen ZhouandGitHub a0ed217801 Create TimesFM notebook for Vertex Model Garden (#3017)
* feat: Create TimesFM notebook.

* fix: updated CODEOWNER of TimesFM notebook

* fix: remove empty line in CODEOWNERS

* Removed unused import inside TimesFM notebook.

* fix: remove unused import and re-format
2024-05-30 18:50:16 +00:00
Tianrui YangandGitHub 8bed394caf fea: upgrade to v1 API in feature store llm grounding tutorial. (#3009)
* Upgrade to v1 API in feature store llm grounding tutorial.

* Sleep for 5min before starting serving to wait for DNS to be ready.

* use data_key in fetch request
2024-05-30 12:44:30 +00:00
c306cfaae1 Add common util functions for notebooks. (#3014)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-05-29 15:23:59 +00:00
fe97c65ea4 Update Gemma and PaliGemma notebooks (#3007)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-05-28 19:35:32 +00:00
Katie NguyenandGitHub 9d0ec7cc62 fix: update colab enterprise link (#3012) 2024-05-28 19:33:43 +00:00
de5146905c fix declare -x AUTO_PROXY="https://proxyconfig.corp.google.com/proxy.pac" (#3011)
declare -x CHROME_REMOTE_DESKTOP_DEFAULT_DESKTOP_SIZES="1600x1200,3840x2160,3840x2560,5120x1440,2160x3840"
declare -x COLORTERM="truecolor"
declare -x CVS_RSH="ssh"
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/809963/bus"
declare -x GOOGLE_CLOUD_DISABLE_DIRECT_PATH="truen"
declare -x HISTCONTROL="ignoredups"
declare -x HOME="/usr/local/google/home/minwoopark"
declare -x LANG="en_US.UTF-8"
declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"
declare -x LESSOPEN="| /usr/bin/lesspipe %s"
declare -x LOGNAME="minwoopark"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.crdownload=00;90:*.dpkg-dist=00;90:*.dpkg-new=00;90:*.dpkg-old=00;90:*.dpkg-tmp=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:*.swp=00;90:*.tmp=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:"
declare -x MOTD_SHOWN="pam"
declare -x OLDPWD="/tmp/vertex-ai-samples"
declare -x P4CONFIG=".p4config"
declare -x P4MERGE="/google/src/files/head/depot/eng/perforce/mergep4.tcl"
declare -x PARINIT="rTbgqR B=.?_A_a Q=_s>|:"
declare -x PATH="/usr/local/google/home/minwoopark/.local/bin:/usr/lib/google-golang/bin:/usr/local/buildtools/java/jdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
declare -x PWD="/tmp/vertex-ai-samples/notebooks/community/model_garden"
declare -x PYTHONPATH="/usr/local/buildtools/current/sitecustomize"
declare -x RSYNC_RSH="ssh"
declare -x SHELL="/bin/bash"
declare -x SHLVL="1"
declare -x SK_SIGNING_PLUGIN="gnubbyagent"
declare -x SSH_AUTH_KEY=$'ecdsa-sha2-nistp256-cert-v01@openssh.com AAAAKGVjZHNhLXNoYTItbmlzdHAyNTYtY2VydC12MDFAb3BlbnNzaC5jb20AAAAgazEAFZ2eo797Q/VO6uG2HkkShArEPHLKfyjKs/qYq0cAAAAIbmlzdHAyNTYAAABBBJQ0tXAyF9ZYMb4PE8Ev0Qsmg94oZ0skXvnuEHewktkb5R0Iq/01UbI5EC+g4ivkVsT1BEWkfEvK5mkVBYQkKpcZAAAADCmtRAAAAAEAAAAabWlud29vcGFya0Bjb3JwLmdvb2dsZS5jb20AAAAjAAAACm1pbndvb3BhcmsAAAARZ29vZ2xlXG1pbndvb3BhcmsAAAAAZlX9cQAAAABmVxfdAAAAAAAAAMwAAAAYY2VydC1tZXRhZGF0YUBnb29nbGUuY29tAAAAKgAAACYIARIgB1wlRexvZHwhV2JNrjQ1fgtUHfbXqyGq0FjDNs8V9lUgBgAAABVwZXJtaXQtWDExLWZvcndhcmRpbmcAAAAAAAAAF3Blcm1pdC1hZ2VudC1mb3J3YXJkaW5nAAAAAAAAABZwZXJtaXQtcG9ydC1mb3J3YXJkaW5nAAAAAAAAAApwZXJtaXQtcHR5AAAAAAAAAA5wZXJtaXQtdXNlci1yYwAAAAAAAAAAAAABFwAAAAdzc2gtcnNhAAAAAwEAAQAAAQEAvN0ZS5b1OZYtoJ1PSKY4GIwjis1i4zZZ2MBdN/TEYqJIOVsfAtkDrhC9YGSVuyai/kOXwLLnFc5dVDRWHLDSBzoXEgl4QKCmNu9nneV/cMLEq4d03o1DPOSPQGJDq+wep4K9HuRwvzog6wTDA5Kp0loCnWY8MHTbt4S/O2Ro5mvF0x0ec9vccwW1KOtc/CydQiGmevBZOQOyXt8ZCZKEtSOTIPhAE55WK8agtMEsJlHRtcswSg2BJNJMSeUKgL1An/oCE9bKAME/zXVYVK5Fuv4epqccnd3sQW2T8qniOIcEDI4oybDejm6G8VPw/pxieSPbaFGftuLyR/rHS52OhwAAARQAAAAMcnNhLXNoYTItMjU2AAABAB6848edrFMkVv7srR+12gWCcYsAXadttaF9VBNSK7AojCKPQC5axHjdfmGQHkc6FDj5x76wFhW2QoBWF6EEullMA/BBYtUeOYYrRwIQxvG2EshSl6Qyx1JW9RmClgEQa13JDNS+sHaGih0TK/+h1Cll3WcGYL5bSlTjyI4QX9gcoTA12Ctd01xKiMuXTscx+IMw8nyl9hQQ4eucc4FW130gRglHBdqH9VNjPgFXnoffXfC8P7kBKhPfVk9CjNWl3VN7LwEvFXAT40EBqFeK/b+2pKTL9lDEeUkXxDCz39GHWBu8BYd186GVjjjF8hgK01I90/xGldt/cORgorzziko=\n'
declare -x SSH_AUTH_SOCK="/tmp/ssh-XXXXFPQFEs/agent.634059"
declare -x SSH_CLIENT="172.253.30.128 55315 22"
declare -x SSH_CONNECTION="172.253.30.128 55315 192.168.3.61 22"
declare -x SSH_TTY="/dev/pts/1"
declare -x TERM="xterm-256color"
declare -x USER="minwoopark"
declare -x X20_HOME="/google/data/rw/users/mi/minwoopark"
declare -x XDG_DATA_DIRS="/usr/share/gnome:/usr/local/share/:/usr/share/"
declare -x XDG_RUNTIME_DIR="/run/user/809963"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_ID="c45"
declare -x XDG_SESSION_TYPE="tty"
declare -x service_endpoint="aiplatform.googleapis.com" error

Co-authored-by: minwoopark <minwoopark@google.com>
2024-05-28 16:41:55 +00:00
kittyabsandGitHub dd8d7946c4 Tensorboard-intro-4 (#2999)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* update url to /tensorboard-introduction
2024-05-24 14:14:45 +00:00
kittyabsandGitHub 37c0c2c373 Tensorboard-intro-3 (#2997)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* Update URL to point to /tensorboard-introduction
2024-05-24 14:14:13 +00:00
Tianrui YangandGitHub 974c3e866c Update embedding column type to float (#3006) 2024-05-24 14:13:20 +00:00
Kathy YuandGitHub d5b6b42615 Fix GCS bucket handling code in Mixtral deployment notebook. (#3008) 2024-05-24 14:12:49 +00:00
186e886edf feat: add model_monitoring_v2 notebooks (#2988)
Co-authored-by: SereniCode <binbinf@google.com>
2024-05-23 17:28:19 +00:00
Gary WeiandGitHub f597680d44 Improve the stable diffusion dreambooth tuning CUJ in the Gradio notebook: (#3004)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.

* Update Gradio notebook to use the latest Gradio version and fix some bugs.

1. Update Gradio version to 4.29.0, as it complains 3.50.0 is too old.
2. Uninstall nest-asyncio and uvloop as a workaround to b/339301920 and https://github.com/gradio-app/gradio/issues/8238#issuecomment-2101066984.

* Resolve merge conflict.

* minor updates.

* minor updates.

* Merge some SD notebook in g3 and github.

* Remove the unused variable in the controlnet notebook.

* minor updates.

* include the SD1.5 dreambooth notebook.

* Include the sd1.5 dreambooth notebook.

* Improve the stable diffusion dreambooth tuning CUJ in the Gradio notebook.

* minor update.
2024-05-23 17:10:40 +00:00
Gary WeiandGitHub 51315ecb2f sync the colab notebooks between g3 and github. (#3003)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates

* Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards.

* Sync Colab notebooks between g3 and github.

* format changes

* format update.
2024-05-23 17:08:23 +00:00
KCFindstrandGitHub 4a16d19cec Reformat llama3 deployment notebook and add quota check (#3001) 2024-05-23 17:07:50 +00:00
kittyabsandGitHub 452c77adb8 Ray-on-vertex-ai-public-access (#3002)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* Addresses a feature request regarding the "warning" when using public access
2024-05-22 22:40:37 +00:00
lee1premiumandGitHub 558e6eed88 feat: Getting Tuned Text-Embeddings tutorial. (#3000)
* feat: Getting Tuned Text-Embeddings tutorial.

* feat: Getting Tuned Text-Embeddings tutorial.

* feat: Getting Tuned Text-Embeddings tutorial.
2024-05-22 21:03:44 +00:00
kittyabsandGitHub 82f32efc30 Tensorboard-intro-2 (#2996)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* updated URL to point to tensorboard-introduction (and not "overview")

* change URL to /tensorboard-introduction
2024-05-21 23:38:53 +00:00
kittyabsandGitHub 4d2ea0d50f Tensorboard-introduction (#2994)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* updated URL to point to tensorboard-introduction (and not "overview")
2024-05-21 20:45:18 +00:00
Manu KumarandGitHub c81c195d46 fix: use renamed create_feature_view() function in embedding notebook (#2993)
Increase sleep for DNS propagation to pass CI.
2024-05-21 20:43:19 +00:00
11d7c6dd7e Add checks to ensure the artifacts are copied to user bucket. (#2992)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-05-21 12:30:21 +00:00
Gary WeiandGitHub 8bb6aa592a Merge a few SD notebooks in g3 and github (#2989)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.

* Update Gradio notebook to use the latest Gradio version and fix some bugs.

1. Update Gradio version to 4.29.0, as it complains 3.50.0 is too old.
2. Uninstall nest-asyncio and uvloop as a workaround to b/339301920 and https://github.com/gradio-app/gradio/issues/8238#issuecomment-2101066984.

* Resolve merge conflict.

* minor updates.

* minor updates.

* Merge some SD notebook in g3 and github.

* Remove the unused variable in the controlnet notebook.

* minor updates.

* include the SD1.5 dreambooth notebook.

* Include the sd1.5 dreambooth notebook.
2024-05-21 12:29:32 +00:00
Gary WeiandGitHub f5409efb30 Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards. (#2986)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates

* Delete the two deprecated SD1.5 and 2.1 notebooks, as they were no longer referenced on any model cards.
2024-05-21 12:27:59 +00:00
Manu KumarandGitHub 9fed51d88a fix: use renamed create_feature_view() function in optimized notebook (#2944)
Fx colab parameter usage - the linting/auto-format placed some variables
across multiple lines which doesn't work in colab. Make the FOS ID names
shorter to avoid this issue.

Also fix some usage for getting FOS - this can be done directly using
SDK constructor.

Set PSC allow list project to current project.

Increase sleep for DNS propagation to pass CI.
2024-05-16 19:41:07 +00:00
Huguens JeanandGitHub 5005b580d6 [Model Garden Team] Fix Gemma linter issue. (#2983)
* [Model Garden Team] Fix Gemma linter issue.

* [Model Garden Team] Fix Gemma linter issue.

* Update model_garden_gemma_evaluation.ipynb

* Update model_garden_gemma_evaluation.ipynb
2024-05-15 22:25:54 +00:00
dstnluong-googleandGitHub 80707d319d Fix Gemma finetuning notebook typo again. (#2984)
PiperOrigin-RevId: 634030805
2024-05-15 19:34:01 +00:00
Gary WeiandGitHub b630f8d5f0 Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks. (#2975)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.

* Parameterize the "show_debug_logs" to facilitate automatic test of the Gradio notebooks.

* Lint format.

* minor updates
2024-05-15 16:34:58 +00:00
Michael HuandGitHub 4fc807c570 Import AutoSxS pipeline from v1 directory (#2973) 2024-05-15 16:33:19 +00:00
chrisheechoandGitHub e1aef2f241 Update model_garden_gemma_fine_tuning_batch_deployment_on_rov.ipynb (#2982)
Need to update this headnode size per product requirement to not cause errors
2024-05-15 16:30:31 +00:00
dstnluong-googleandGitHub d5312bec5d Fix typo in Gemma finetuning notebook. (#2980)
PiperOrigin-RevId: 633712168
2024-05-15 00:32:24 +00:00
Louis LinandGitHub 5f86e65e6d fix: Broken 'processor' param due to linter (#2972)
* feat: Add notebook for E5 text embedding models

* feat: Add notebook for E5 text embedding models

* fix: Broken 'processor' param due to linter

* fix: Update the dev TEI docker images to the public ones
2024-05-14 22:08:53 +00:00
chrisheechoandGitHub f51d6c8e06 Update ray_cluster_management.ipynb (#2974)
Need to change the head node default to 16 to avoid error - i'm the PM for this product
2024-05-14 19:07:15 +00:00
84012f0e22 Add PaliGemma notebooks (#2971)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-05-13 23:34:41 +00:00
dstnluong-googleandGitHub bec5a1f61a Sync GitHub repo (#2966)
PiperOrigin-RevId: 629577775
2024-05-13 21:33:53 +00:00
Louis LinandGitHub 67d14b1e91 feat: Add notebook for E5 text embedding models (#2961)
* feat: Add notebook for E5 text embedding models

* feat: Add notebook for E5 text embedding models
2024-05-11 13:01:26 +00:00
Gary WeiandGitHub 1d720eba33 Switch from pytorch-peft-serve to pytorch-diffusers-serve-opt container for diffusion model serving with lora. (#2950)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.

* Switch to `pytorch-diffusers-serve-opt` container to for diffusion lora serving.

* add the dreambooth_lora notebook.

* minor update.
2024-05-09 23:56:08 +00:00
Gary WeiandGitHub 246dc04784 Update the instant-id Gradio notebook to use the latest Gradio version and fix some bugs. (#2959)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.

* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Update Gradio notebook to use the latest Gradio version and fix some bugs.

1. Update Gradio version to 4.29.0, as it complains 3.50.0 is too old.
2. Uninstall nest-asyncio and uvloop as a workaround to b/339301920 and https://github.com/gradio-app/gradio/issues/8238#issuecomment-2101066984.

* Resolve merge conflict.

* minor updates.

* minor updates.

* Update the instant-id Gradio notebook to use the latest Gradio version and fix some bugs.
2024-05-09 23:54:56 +00:00
Gary WeiandGitHub e08d445e17 Update Gradio notebook to use the latest Gradio version and fix some bugs. (#2958)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.

* Update Gradio notebook to use the latest Gradio version and fix some bugs.

1. Update Gradio version to 4.29.0, as it complains 3.50.0 is too old.
2. Uninstall nest-asyncio and uvloop as a workaround to b/339301920 and https://github.com/gradio-app/gradio/issues/8238#issuecomment-2101066984.

* Resolve merge conflict.

* minor updates.

* minor updates.
2024-05-09 23:54:11 +00:00
kewentandGitHub 859ed6a55d remove preview models in description (#2948) 2024-05-08 19:16:13 +00:00
dstnluong-googleandGitHub 44d11bee00 Set DEPLOY_SOURCE to MG notebooks. (#2947) 2024-05-08 18:53:13 +00:00
Gary WeiandGitHub 7c0213dfff Split the 'instant-id' deployment notebook prediction into two sections: (#2946)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.

* Split the 'instant-id' deployment notebook prediction into two sections.

* add `deployment_source` to the notebook.
2024-05-08 13:29:29 +00:00
JennieandGitHub 2cdc45b7b0 Information is outdated. Feature Store API is now available in more regions. (#2923) 2024-05-04 01:22:33 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
413bd6e7c1 Bump tqdm in /community-content/vertex_model_garden/model_oss/cloudnerf (#2927)
Bumps [tqdm](https://github.com/tqdm/tqdm) from 4.66.1 to 4.66.3.
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](https://github.com/tqdm/tqdm/compare/v4.66.1...v4.66.3)

---
updated-dependencies:
- dependency-name: tqdm
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 01:03:53 +00:00
Gary WeiandGitHub 34a68990b2 Some minor updates to the stable-diffusion-gradio notebook. (#2926)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.

* Minor fix to the stable diffusion gradio notebook.
2024-05-03 19:04:15 +00:00
Gary WeiandGitHub 08561d91c0 Update the image generation Gradio notebook to support Dreambooth finetuning. (#2921)
* Create a Gradio notebook for the new InstantId model.

* Add dreambooth finetune to the stable diffusion Gradio workshop notebook.

* Update the image generation Gradio notebook to support Dreambooth finetuning.

* linter update

* linter update

* minor fix to the instant-id notebook.
2024-05-03 18:02:52 +00:00
Huguens JeanandGitHub 2d280216ec Revert "[MG Model Team] Add environment var of DEPLOY_SOURCE with value 'note…" (#2925)
This reverts commit 056d909e3e.
2024-05-03 16:46:04 +00:00
Ivan NardiniandGitHub 662f7b1440 feat: tuning and serving Gemma on Ray on Vertex AI in Model Garden (#2920)
* adding gemma on rov in model garden

* linter passed
2024-05-02 19:11:01 +00:00
Huguens JeanandGitHub 056d909e3e [MG Model Team] Add environment var of DEPLOY_SOURCE with value 'notebook' for all mg notebooks. (#2917) 2024-05-02 16:47:39 +00:00
Gary WeiandGitHub f164335054 [InstantID] Update the link of the two reference images. (#2914)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Update the link of the reference images.
2024-05-02 12:54:08 +00:00
xcchen1andGitHub a05724d0d6 Create ByteDance/SDXL-Lightning notebook (#2912)
* Add ByteDance/SDXL-Lightning notebook

* Add ByteDance/SDXL-Lightning to gradio notebook
2024-05-02 12:53:24 +00:00
Gary WeiandGitHub 7f4e3f2afa Create a Gradio notebook for the new InstantId model. (#2911) 2024-05-02 12:52:43 +00:00
Tianrui YangandGitHub cc981bcd2c refactor: update feature store vector search notebook use latest features. (#2909)
* Update feature store vector search notebook to use latest vertex SDK.

* Run lint to fix format issue

* Sleep for a few minutes to wait for DNS to be ready
2024-04-30 21:02:17 +00:00
0fd7db5602 Fix link URL typo (#2910)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-04-30 18:58:56 +00:00
Huguens JeanandGitHub 6f4bb601d9 Update falcon instruct notebook to lowcode/nocode (#2905)
* Update falcon instruct notebook to lowcode/nocode

* Fix imported unused in falcon instruct deployment noteboook.
2024-04-30 18:52:50 +00:00
Kathy YuandGitHub 4b25631e53 Fix GCS path in Llama 3 finetuning notebook. (#2908)
* Fix GCS path in Llama 3 finetuning notebook.

* Fix bucket name for permission granting.
2024-04-30 18:49:50 +00:00
dstnluong-googleandGitHub d212b2fdc9 Fix Mixtral model id naming (#2904) 2024-04-30 18:49:03 +00:00
Gary WeiandGitHub e5cfffd44f Create a notebook for model instantx/instantid. (#2898)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.

* Create a notebook for model `instantx/instantid`.
2024-04-29 15:40:01 +00:00
Mend RenovateandGitHub 85a46165bc chore(deps): update dependency black to v24.4.2 (#2900) 2024-04-26 14:47:23 +00:00
Kathy YuandGitHub dcd26245c7 Add Llama 3 finetuning notebook. (#2897) 2024-04-24 23:07:29 +00:00
Mend RenovateandGitHub 3c10aba391 chore(deps): update dependency black to v24.4.1 (#2895) 2024-04-24 15:46:23 +00:00
dstnluong-googleandGitHub 6c3bd0e042 Add uuid to reduce bucket name crashing (#2894)
* Add uuid to notebooks.

* Lint
2024-04-23 21:22:17 +00:00
dstnluong-googleandGitHub cff2942b20 Load mistral and mixtral models from GCS (#2893)
* Load Mistral and Mixtral models from GCS.

* Lint

* Fix lint

* add -r to mixtral

* Try to automatically set region
2024-04-23 14:31:19 +00:00
xcchen1andGitHub bf3f96caf6 No-code/low-code notebook: fix sd 1.5 dreambooth model deployment section (#2892) 2024-04-23 14:29:23 +00:00
Aaron DietzandGitHub 3dac000915 Update automl_image_classification_batch_prediction.ipynb (#2891)
This notebook was throwing "invalid JSON" errors when users were opening it in Colab, etc.

The problem was introduced in https://github.com/GoogleCloudPlatform/vertex-ai-samples/pull/2866 when I didn't close a text cell line properly.
2024-04-22 17:37:50 +00:00
Kathy YuandGitHub 00d8f83630 Update embedded model card link for Llama 3 deployment notebook. (#2890) 2024-04-20 23:42:24 +00:00
eliasecchigandGitHub 03efaadb87 Update README.md (#2888) 2024-04-19 15:45:07 +00:00
qijing93andGitHub b70be17865 chore: Splitting legacy Feature Store colabs to a separate folder. (#2887) 2024-04-19 12:41:34 +00:00
Huguens JeanandGitHub badf6f4a61 Update codellamma nclc deployment and evaluation notebooks. (#2886) 2024-04-19 12:40:10 +00:00
weigaryandGitHub f5e3bfa727 Switch mediapipe-train docker container from vertex-ai-restricted to vertex-ai, in the mediapipe-train notebooks. (#2885)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.

* Switch `mediapipe-train` docker container from `vertex-ai-restricted` to `vertex-ai`, in the `mediapipe-train` notebooks.
2024-04-18 17:24:01 +00:00
Kathy YuandGitHub 998ca068a7 Add Llama3 deployment notebook. (#2884)
* Add Llama3 deployment notebook.

* Add to codeowners.
2024-04-18 16:35:28 +00:00
weigaryandGitHub 89c040bc24 Add a few community models to the Gradio workshop. (#2883)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.

* Minor update the `sd-xl` deployment notebook, based on the QA feedback.

* Add a few community models to the Gradio workshop.
2024-04-18 12:48:16 +00:00
e072753032 Rov-open-colab-enterprise (#2879)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* Added "Open in Colab Enterprise" link and made other edits

* Update ray_cluster_management.ipynb

---------

Co-authored-by: Katie Nguyen <21978337+katiemn@users.noreply.github.com>
2024-04-17 14:53:36 +00:00
dstnluong-googleandGitHub b9147f6dfe Collapse last cell (#2882)
* Collapse last cell

* Lint
2024-04-16 20:42:14 +00:00
Mend RenovateandGitHub 0d8482f17f Update dependency black to v24.4.0 (#2881) 2024-04-15 17:45:11 +00:00
e4abe986b1 Fix region for sdk streaming (#2878)
* add Claude 3 Opus model

* fix lint

* fix vertexai bug

* update region for streaming sdk call

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-11 20:28:18 +00:00
92804a7fac Fix vertexai bug on Claude 3 Opus (#2877)
* add Claude 3 Opus model

* fix lint

* fix vertexai bug

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-11 19:14:54 +00:00
513fef82dc Add Claude 3 Opus model (#2871)
* add Claude 3 Opus model

* fix lint

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-11 18:17:51 +00:00
Tianrui YangandGitHub 3f94a50a7d Update FeatureStore embedding notebook to use vertex SDK preview. (#2854)
* Update FeatureStore embedding notebook to use vertex SDK preview.

* Fix format issue.

* Comment deleting transfer config code

* Add                   Credentialed Accounts
ACTIVE  ACCOUNT
*       141951627079-compute@developer.gserviceaccount.com to debug permission issue

* Fix bigquery transfer run issue.
2024-04-11 03:55:14 +00:00
dstnluong-googleandGitHub db83e3f2d2 Fix typos in quantization notebook (#2875) 2024-04-10 21:28:16 +00:00
xcchen1andGitHub 9f896a2138 Update notebooks to no-code/low-code (#2874) 2024-04-10 03:46:16 +00:00
Aaron DietzandGitHub 15546cc1c0 Remove inaccurate description about length of training time automl_image_classification_batch_prediction.ipynb (#2866) 2024-04-10 03:45:46 +00:00
ee88765444 Tpuv5e llama2 briankang robv (#2853)
* Initial commit of a Llama2 TPUv5e LoRA example

* Addressing issue of job failing at the end by adding sys.exit(0) after all steps complete

* Adding Llama2 LoRA tuning on TPUv5e notebook

* Create /tmp/modelfiles folder for downloading model files during training

* Updated to use gcloud storage instead of gsutil

* Removed step to clear folder in bucket, since that causes failure

* Added serving/deployment section.

* Fixed linting errors

* Default to 8 chip tuning for quota issue on automated tests

* Defaulting back to 16 chip fine-tuning and epochs to 200

* Set Accelerate library to 0.28.0, as newer version break TPU support

* Updated upload of tuned model files to happen for all workers - to avoid timeout errors

* Temp remove active endpoint, then retest

* Updating docker container to python 3.10

* Added wait to prevent job delete step happening too early

* Lint issue and remove temporary endpoint delete

* Lint issue

* Add 15 minute wait while model is setup on the endpoint, and readd temp delete of endpoint

* Make 15 minute wait optional and remove temporary endpoint delete

* Remove GCS path to model garden model for final commit

---------

Co-authored-by: Rob Vogelbacher <robv@google.com>
2024-04-10 03:45:10 +00:00
fbb27557e8 Fix CodeGemma model ID (#2873)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-04-09 15:23:17 +00:00
6980995572 Fix CodeGemma notebook (#2872)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-04-09 12:31:10 +00:00
Aaron DietzandGitHub 217a774182 Fixed formatting of the "open in" table (#2870) 2024-04-09 03:49:05 +00:00
Huy NgoandGitHub de9350d695 Revert "add Claude 3 Opus model (#2855)" (#2869)
This reverts commit 106e34781c.
2024-04-09 02:32:21 +00:00
106e34781c add Claude 3 Opus model (#2855)
* add Claude 3 Opus model

* fix lint

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-09 00:36:17 +00:00
xcchen1andGitHub 692d4adc5d No-code/low-code notebooks: update notebook links (#2867) 2024-04-09 00:20:01 +00:00
2f243ddc54 Add CodeGemma (#2868)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-04-09 00:18:33 +00:00
yexing111andGitHub 9bdeed5c4a Update FS optimized serving GA colab (#2859)
* Update FS optimized serving GA colab

* Fix import order

* Fix import format

* Fix format

* Fix test issue

* Fix format

* Add way to getFOS&FV for FR/FG
2024-04-08 21:04:08 +00:00
Huguens JeanandGitHub ea2f4bbe3a Gemma eval fix (#2865)
* Fix minor typo in accelerator selection.

* Fix minor typo in accelerator selection.

* Update eval dataset to hellaswag.

* Update eval dataset to hellaswag.
2024-04-08 18:50:11 +00:00
geetaarora-googleandGitHub 76b7ef1c5e Added RLHF recommended best practices. (#2863) 2024-04-08 18:49:29 +00:00
dstnluong-googleandGitHub 69f2b0a900 Minor fix for llama2 quantization. (#2864)
* Minor fix for llama2 quantization.

* Lint
2024-04-08 17:09:41 +00:00
kittyabsandGitHub a1035554c7 Fix-table-3 (#2862)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* Still trying to fix table - so sorry about this.
2024-04-08 17:08:54 +00:00
xcchen1andGitHub fc45d4b114 Update notebooks to no-code/low-code (#2860) 2024-04-06 14:05:37 +00:00
kittyabsandGitHub 97bff66011 Fix-table (#2856)
* Update get_started_with_pytorch_rov.ipynb

This is a test

* fix table containing links to notebook samples.
2024-04-05 19:30:29 +00:00
dstnluong-googleandGitHub 4f98b604c3 Rewrite Gemma deployment notebook to be LC/NC (#2850)
* Rewrite Gemma deployment to be LC/NC

* Lint

* Lint
2024-04-05 19:29:24 +00:00
Huy NgoandGitHub 848cecb1b0 Revert "Add Claude 3 Opus model (#2847)" (#2849)
This reverts commit 19e95b90c7.
2024-04-04 20:22:49 +00:00
4b20f9a25b feat: Update supported models table in RLHF notebooks. (#2841)
* feat: Update supported models table in RLHF notebooks.

* feat: Update image that shows how to locate output_model_path.

* feat: Update name of deploy model component.

---------

Co-authored-by: Ryan Latture <latture@google.com>
2024-04-04 19:58:51 +00:00
19e95b90c7 Add Claude 3 Opus model (#2847)
* Add Colab on how to use Claude 3 models on Vertex AI

* Add Colab on how to use Claude 3 models on Vertex AI

* add codeowner

* lint

* update model version

* update stream sdk to have more readable response

* add colab for claude 3

* lint

* update CODEOWNERS and file name

* remove claude 3 colab from model_garden folder

* update CODEOWNERS

* format

* fix intergration test failed

* fix markdown not showing up

* fix markdown not showing up

* update pip command

* update install command

* update restart kernel command

* fix restart kernel command

* clear cell output

* update select region command

* raise error if user doesn't update project_id

* update ordering and add preview image section

* update ordering and add preview image section

* fix httpx package not install

* fix httpx package not install

* fix httpx package not install

* fix lint

* add claude 3 opus model

* fix lint

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-04 19:56:03 +00:00
c565eb9f4b Update colab order and add preview image section (#2789)
* Add Colab on how to use Claude 3 models on Vertex AI

* Add Colab on how to use Claude 3 models on Vertex AI

* add codeowner

* lint

* update model version

* update stream sdk to have more readable response

* add colab for claude 3

* lint

* update CODEOWNERS and file name

* remove claude 3 colab from model_garden folder

* update CODEOWNERS

* format

* fix intergration test failed

* fix markdown not showing up

* fix markdown not showing up

* update pip command

* update install command

* update restart kernel command

* fix restart kernel command

* clear cell output

* update select region command

* raise error if user doesn't update project_id

* update ordering and add preview image section

* update ordering and add preview image section

* fix httpx package not install

* fix httpx package not install

* fix httpx package not install

* fix lint

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-04-04 12:50:18 +00:00
dstnluong-googleandGitHub 2f5eef2c17 Add region check for llama2 deployment notebook. (#2843)
* Add region check for LLaMA2 deployment notebook.

* Lint
2024-04-04 12:48:48 +00:00
dstnluong-googleandGitHub d5b1b83d9a Remove text moderation from llama2 quantization notebook (#2844)
* Remove text moderation for LLaMA2 quantization notebook.

* Lint
2024-04-04 12:48:07 +00:00
weigaryandGitHub 4bcdc034bb Update all the diffusion-serve containder URI to 20240403_0836_RC00 which includes the latest optimizations to the diffusion models. (#2845)
* Some minor updates to the SD-XL model deployment notebook, based on the QA feedback.

* Updates to the `sd-xl-dreambooth-lora-finetune` notebook based on feedback.

* [Stable diffusion gradio] Add a few pre defined styles to the workshop, also some minor UX improvement.

* Update all the diffusion-serve containder URI to 20240403_0836_RC00 which includes the latest optimizations to the diffusion models.
2024-04-04 12:47:24 +00:00
xcchen1andGitHub 03ec89d3d4 Update notebooks to no-code/low-code (#2842) 2024-04-03 20:54:48 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f3d8051df4 Bump pillow (#2839)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 20:53:42 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4292d97dc6 Bump pillow (#2840)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 20:52:57 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e557dcd3df Bump pillow (#2838)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 20:52:12 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
27e5b007be Bump pillow (#2837)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.2.0 to 10.3.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.2.0...10.3.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 20:51:21 +00:00
siping-huandGitHub 72ebccd341 Update autosxs_llm_evaluation_for_summarization_task.ipynb (#2836)
* Update autosxs_llm_evaluation_for_summarization_task.ipynb

Quick fix for the xsum dataset description and citation.

* fix lint error
2024-04-03 13:46:56 +00:00
kittyabsandGitHub 09e44f8661 Ray on vertex ai (#2827)
* Made numerous edits. Code not impacted

* removed empty cell

* delete empty cell
2024-04-03 02:28:07 +00:00
weigaryandGitHub 1c12789805 [Stable diffusion gradio] Add a few pre defined styles to the workshop, also some minor UX improvement. (#2835)
* Some minor updates to the SD-XL model deployment notebook, based on the QA feedback.

* Updates to the `sd-xl-dreambooth-lora-finetune` notebook based on feedback.

* [Stable diffusion gradio] Add a few pre defined styles to the workshop, also some minor UX improvement.
2024-04-03 02:27:00 +00:00
Michael HuandGitHub 55323b74da Update AutoSxS notebooks to use latest package release (#2832)
* Update AutoSxS notebooks to use latest package release

* apply elijah's review comments

* remove force reinstall to avoid errors
2024-04-03 02:24:17 +00:00
14c927400a feat: Tune llama-2-7b with RLHF. (#2834)
Co-authored-by: Ryan Latture <latture@google.com>
2024-04-03 02:23:26 +00:00
lee1premiumandGitHub fff3ac1838 feat: Elastic Text-Embedding Model demo. (#2829)
* feat: Elastic Text-Embedding Model demo.

* feat: Elastic Text-Embedding Model demo.
2024-04-03 02:22:24 +00:00
xcchen1andGitHub f5eab96c13 Update notebooks to no-code/low-code (#2831) 2024-04-02 20:01:32 +00:00
KCFindstrandGitHub fde0abd9f6 Fix malformed Colab URLs in model garden notebooks (#2830)
* Fix malformed Colab URL in llama2 peft finetuning and HPT notebooks

* Fix Gemma PEFT finetuning notebook URL
2024-04-02 19:59:03 +00:00
32a75b15fe feat: Update RLHF parameter documentation. Document how to access real-time TB metrics. (#2819)
Co-authored-by: Ryan Latture <latture@google.com>
2024-04-01 20:14:44 +00:00
lee1premiumandGitHub eb8ae3d01b feat: Elastic Text-Embedding Model demo. (#2824)
* feat: Elastic Text-Embedding Model demo.

* feat: Elastic Text-Embedding Model demo.
2024-04-01 13:12:34 +00:00
KCFindstrandGitHub 6110aa2b13 Update Llama2 PEFT finetuning notebook to low-code version and minor fixes to HPT notebook (#2825) 2024-03-29 23:28:32 +00:00
Eric DongandGitHub 22435976d9 chore: Update template (#2821) 2024-03-29 21:41:07 +00:00
xcchen1andGitHub f279973cb7 Update notebooks to no-code/low-code (#2823) 2024-03-29 19:50:01 +00:00
weigaryandGitHub eace0e9884 Some minor updates to the SD-XL model deployment notebook, based on the QA feedback. (#2820)
* Some minor updates to the SD-XL model deployment notebook, based on the QA feedback.

* Updates to the `sd-xl-dreambooth-lora-finetune` notebook based on feedback.
2024-03-29 19:48:44 +00:00
Lav RaiandGitHub ed16b60537 Add low-code notebooks. (#2818) 2024-03-28 17:00:25 +00:00
KCFindstrandGitHub 5d5bbd072e Update Model Garden Llama2 HPT notebook to low-code version (#2817)
* Update Model Garden Llama2 HPT notebook to low-code version.

* Update resource clean up section
2024-03-28 12:43:44 +00:00
weigaryandGitHub 5587d41f08 Some minor updates to the SD2.1 deployment notebook. (#2816)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.

* Some minor updates to the SD2.1 deployment notebook.
2024-03-28 12:42:06 +00:00
weigaryandGitHub 54114468fd some minor updates to the sd-gradio notebook. (#2815)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Create a notebook to demonstrate dreambooth LoRA finetune for SD-XL model.

* minor updates

* add to the codeowner list.

* merge conflict.

* minor fix to the Gradio UI workshop notebook.
2024-03-27 20:49:14 +00:00
Eric DongandGitHub 8a38619827 feat: update notebook template (#2801)
* feat: update notebook template

* address linter errors

* Change a few TODOs

* Add Colab link

* Update the open links

* Address review comments

* Address review comments
2024-03-27 14:02:54 +00:00
kittyabsandGitHub 9b3f4f07db added link to Colab Enteriprise. (#2812) 2024-03-27 00:50:11 +00:00
lee1premiumandGitHub beb53f6ce8 feat: Elastic Text-Embedding demo. (#2811)
* feat: Elastic Text-Embedding demo.

* feat: Elastic Text-Embedding demo.
2024-03-27 00:49:42 +00:00
Huguens JeanandGitHub 0ef5bee2ce Add Falcon Instruct evaluation notebook. (#2808) 2024-03-26 18:46:35 +00:00
Huguens JeanandGitHub 3d21fc16e1 Add Falcon Instruct finetuning notebook. (#2807) 2024-03-26 18:46:11 +00:00
Huguens JeanandGitHub 84ee7fd53c Add Gemma evaluation notebook. (#2806) 2024-03-26 18:45:24 +00:00
Huguens JeanandGitHub 15ddb011d2 Add Falcon Instruct quantization notebook. (#2805) 2024-03-26 18:44:32 +00:00
Huguens JeanandGitHub 4a8e69f8c8 Add Falcon Instruct deployment notebook. (#2804) 2024-03-26 18:43:36 +00:00
Mend RenovateandGitHub 5590037281 chore(deps): update dependency nbqa to v1.8.5 (#2810) 2024-03-26 14:54:10 +00:00
Huguens JeanandGitHub e911c8e098 Add CodeLLama evaluation notebook. (#2803) 2024-03-26 14:53:49 +00:00
Huguens JeanandGitHub ab5d97607d Update CodeLLama notebook to low-code/no-code without evaluation section. (#2802) 2024-03-26 14:52:49 +00:00
Mend RenovateandGitHub 5124590d5f chore(deps): update dependency pyupgrade to v3.15.2 (#2798) 2024-03-25 20:25:09 +00:00
Kathy YuandGitHub b37ed6e53c Update docker link for pic2word serving. (#2797) 2024-03-22 20:42:55 +00:00
AmyandGitHub 2bb39a0e10 moving some data from personal bucket to 'cloud-samples-data' bucket (#2794) 2024-03-22 20:42:25 +00:00
weigaryandGitHub 17369c223f Some minor changes to the sd2.1 and sdxl notebooks. (#2795)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.

* Some minor changes to the stable diffusion 2.1 and sd-xl notebooks.

* some additional minor fixes.

* additional fixes.

* Fix the minor bug associated with "bucket_name".

* Minor fixes for "BUCKET_NAME" for sd2_1 and sdxl deployment notebooks.
2024-03-22 20:41:50 +00:00
zhangxiaotianandGitHub d76246d39b feat: add curl colab for video warehouse (#2793) 2024-03-21 20:58:46 +00:00
weigaryandGitHub 0a48635251 Rewrite the SD2.1 dreambooth finetune notebook. (#2792)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.

* Rewrite the SD2.1 dreambooth finetune notebook.

* Add code owners.
2024-03-21 17:07:00 +00:00
weigaryandGitHub 5976895d8d Update the serving docker image to include the latest changes. (#2791)
* Update the serving docker image to include the latest changes.

* Update the image version to 20240320_0836_RC00
2024-03-21 17:05:12 +00:00
Huguens JeanandGitHub cb75558e68 Update CamP ZipNeRF notebook with low-code/no-code version. (#2790)
* Update CamP ZipNeRF notebook with low-code/no-code version.

* Update CamP ZipNeRF notebook with low-code/no-code version.

* Update CamP ZipNeRF notebook with low-code/no-code version.
2024-03-21 15:17:09 +00:00
weigaryandGitHub 7b06a04e19 Rewrite the stable diffusion 2.1 notebook: step #1 deployment. (#2788)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Rewrite the stable diffusion 2.1 notebook: step #1 deployment.
2024-03-21 15:15:38 +00:00
weigaryandGitHub e2e78c9613 Add additional document regarding the list of supported models, and some UI enhancement. (#2787)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes

* Add additional document regarding the list of supported models, and some UI enhancement.

* Minor update to the hyperlink.
2024-03-21 15:13:49 +00:00
Kathy YuandGitHub 3574f8877a Update config and add Mistral v0.2 in Mistral/Mixtral notebook. (#2786) 2024-03-19 18:39:02 +00:00
Durian YogurtandGitHub 63b77e57aa Fix filename bug by appending suffix directly when a video doesn't have an extension (#2785)
* Append suffix directly when video doesn't have an extension

* retrigger checks
2024-03-19 18:38:13 +00:00
cc8aac7220 Add Claude 3 models colab (#2777)
* Add Colab on how to use Claude 3 models on Vertex AI

* Add Colab on how to use Claude 3 models on Vertex AI

* add codeowner

* lint

* update model version

* update stream sdk to have more readable response

* add colab for claude 3

* lint

* update CODEOWNERS and file name

* remove claude 3 colab from model_garden folder

* update CODEOWNERS

* format

* fix intergration test failed

* fix markdown not showing up

* fix markdown not showing up

* update pip command

* update install command

* update restart kernel command

* fix restart kernel command

* clear cell output

* update select region command

---------

Co-authored-by: Huy Ngo <huyngo@google.com>
2024-03-19 16:25:35 +00:00
Brian KangandGitHub c7e2818829 Briankang tpuv5e gemma2b training (#2775)
* Publishing fine-tuning Gemma on TPUv5e notebook

* Update codeowners to add new TPUv5e notebook

* Fixed log link formatting, and added note to require Colab pro for converting to HF format

* Reran local pylint

* Updated python version to 3.10.13

* Pylint reran

* Remove python version note and run linter

* Add gcloud components update for automated tests

* Revert 'Add gcloud components update for automated tests'

This reverts commit a3e79d299b

* Added gcloud components update for automated testing

* Rerun linter

* Updates per nb review

* Changed default region to one where TPUv5e exists

* Update match case to if else for python 3.9
2024-03-18 19:42:51 +00:00
Mend RenovateandGitHub 58bfebfabc chore(deps): update dependency black to v24.3.0 (#2784) 2024-03-15 23:22:33 +00:00
weigaryandGitHub 9130766757 Add controlnet-canny to the Gradio playground, and some additional UX enhancements. (#2783)
* Add controlnet-canny to the Gradio playground, and some additional UX enhancement.

* Minor fixes.

* Minor fixes
2024-03-15 23:21:30 +00:00
Eric DongandGitHub c5d48c80d8 fix: properly handle python versions (#2779) 2024-03-15 17:19:25 +00:00
weigaryandGitHub 39466fe5cb Update the logic of cleaning up the GCS bucket_uri in the sdxl notebook. (#2778)
* Some minor fixed to the `stable-diffusion-gradio` notebook.

* Fix the deployment error of the `SDXL-REFINER` model in the notebook.

* Removed two unnecessary comments.

* Update the logic of cleaning up the `bucket-uri` in the SDXL deployment notebook.
2024-03-15 12:55:07 +00:00
weigaryandGitHub a40675a7ec Fix the deployment error of the SDXL-REFINER model in the notebook. (#2774)
* Some minor fixed to the `stable-diffusion-gradio` notebook.

* Fix the deployment error of the `SDXL-REFINER` model in the notebook.
2024-03-14 18:05:25 +00:00
KCFindstrandGitHub ffb31f9397 Update the CODEOWNER of Gemma GKE deployment notebook (#2770) 2024-03-14 14:10:31 +00:00
xcchen1andGitHub 42d2878c2f Update notebooks to no-code/low-code (#2772)
* Update notebooks to no-code/low-code

* Update notebooks to no-code/low-code
2024-03-14 14:09:43 +00:00
dstnluong-googleandGitHub da46f8aab0 Convert LLaMA2 quantization notebook to low/no code (#2760)
* low/no code llama2 quantization notebook

* Lint

* lint

* Fix link

* Reduce to 1 section

* Lint

* fix

* Fix
2024-03-11 13:40:02 +00:00
weigaryandGitHub dcc2e916af Update the serving docker image to include the latest fixes for image-inpainting. (#2766)
* Add a stable diffusion playground based on Gradio UI.

* Add codeowner.

* Update the serving docker image to include the latest fixes for image-inpainting.
2024-03-11 13:38:57 +00:00
weigaryandGitHub b5f4ddf577 Some minor fixed to the stable-diffusion-gradio notebook. (#2767) 2024-03-11 13:38:19 +00:00
Mend RenovateandGitHub f29b1d785b chore(deps): update dependency nbqa to v1.8.4 (#2764) 2024-03-11 13:36:59 +00:00
ethan-gordonandGitHub ae01b4c85f Vertex AI Feature Store Notebook, Feature View Service Agent (#2752)
* Add files via upload

* Update vertex_ai_feature_store_feature_view_service_agents.ipynb
Update CODEOWNERS
2024-03-09 14:25:41 +00:00
Katie NguyenandGitHub eefda026b1 Fix: edit branding errors in variable names (#2765)
* fix: edit branding errors in variable names

* fix: add model registry variable names
2024-03-08 01:33:54 +00:00
weigaryandGitHub f9608b8ac0 Add a stable diffusion playground based on Gradio UI. (#2763)
* Add a stable diffusion playground based on Gradio UI.

* Add codeowner.
2024-03-07 16:14:42 +00:00
KCFindstrandGitHub 4dd5bfa621 Fix corrupted vllm.patch file due to merge conflicts not be resolved correctly (#2761)
* Fix corrupted vllm.patch file due to merge conflicts not be resolved correctly

* Update CODEOWNERS of vllm
2024-03-07 16:13:46 +00:00
KCFindstrandGitHub 5b72579e51 Update Gemma low-code finetuning notebooks (#2762)
* Update Gemma low-code finetuning notebooks

* Fix invalid params due to the formatter
2024-03-07 16:13:04 +00:00
KCFindstrandGitHub 73122731a9 Update Model Garden vllm serving docker script and dockerfile (#2758)
* Update vllm serving docker script and dockerfile

* Add vllm to community content CODEOWNERS

* Update vllm serving docker script and dockerfile

* Update vllm serving docker script and dockerfile
2024-03-06 20:47:56 +00:00
dstnluong-googleandGitHub 986aaa408f Set max model len (#2757)
* switch llama2 deploymente notebook to lowcode version

* add moderate text link and lint

* lint

* Set gpu utilization

* Add --max-num-batched-tokens=4096

* Set max model len

* move prints in function

* lint

* Remove comment

* Fix link
2024-03-06 19:52:01 +00:00
Kathy YuandGitHub 60810269ad Update vLLM dockerfile. (#2759) 2024-03-06 19:50:50 +00:00
dstnluong-googleandGitHub fedde5da76 Create separate deployment only notebook for SD1.5 (#2750)
* SD notebook

* lintlint

* codeowners

* number to integer
2024-03-06 19:27:45 +00:00
Mend RenovateandGitHub 613258940e chore(deps): update dependency nbqa to v1.8.3 (#2756) 2024-03-04 15:34:44 +00:00
weigaryandGitHub 59a337e3cb Rewrite the SDXL - vertex serving notebook for the low-code user experience. (#2753) 2024-03-01 02:09:42 +00:00
Huguens JeanandGitHub ea2068bc00 Add camp zipnerf jax implementation to model garden. (#2754) 2024-03-01 02:08:28 +00:00
dstnluong-googleandGitHub 4e13f317e8 Modify llama2 deployment notebook to be lowcode (#2755)
* switch llama2 deploymente notebook to lowcode version

* add moderate text link and lint

* lint
2024-03-01 02:07:22 +00:00
jismailyan-googleandGitHub 9db64f74a2 refactor: Simplify Pic2Word notebook steps (#2751)
* refactor: Simplify Pic2Word notebook steps

* fix: linter

* fix: Fix inference issue
2024-02-28 22:05:33 +00:00
Michael HuandGitHub b4b20c3995 Make optional section ending more obvious in AutoSxS notebooks (#2748)
* Make it clear when optional section ends in AutoSxS

* run formatter and linter

* fix component names

* update xsum sample
2024-02-28 22:04:11 +00:00
kittyabsandGitHub d7a9ea8eed Edited "Vertex AI: Track artifacts and metrics across Vertex AI Pipelines runs using Vertex ML Metadata. No impact to code (#2749) 2024-02-27 21:23:48 +00:00
3fb37b5f35 Fix fvlm dockerfiles. (#2747)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-02-26 21:46:48 +00:00
kittyabsandGitHub 92c1e27c50 Edited "Tabular Workflow for Forecasting". No impact on code. (#2726) 2024-02-26 21:46:15 +00:00
weigaryandGitHub a1695d47d9 Update the docker image version to 20240223_1230_RC00 to fix the image quality issue associated with DPMSolverMultistepScheduler. (#2744)
* Pin the `pytorch-diffusers-serve-opt` docker image to `20231213_0836_RC00`.

* Update 4 stable diffusion notebooks to use the optimized serving container, including controlnet, instruct-pix2pix, text-to-video, text-to-video-zero-shot.

* Fix linter error.

* Update the docker image version to 20240223_1230_RC00 to fix the image quality issue associated with DPMSolverMultistepScheduler.
2024-02-26 20:29:26 +00:00
Alok PattaniandGitHub df3e2d4889 Adding EDA with R and BigQuery notebook for update to Cloud Architecture Center guide (#2745)
* Create test

* Adding updated notebook for EDA with R & BigQuery

* Delete notebooks/community/exploratory_data_analysis/test

* Update CODEOWNERS
2024-02-24 14:07:00 +00:00
kittyabsandGitHub c1d1e23cd0 Added missing link and made other edits to "Custom training with pre-built Google Cloud Pipeline Components". No impact on code (#2710)
* Added missing link and made other edits to "Custom training with pre-built Google Cloud Pipeline Components". No impact on code

* Update custom_model_training_and_batch_prediction.ipynb

fixed typo
2024-02-23 20:16:58 +00:00
kittyabsandGitHub c837c4367d Vertex-ai-training-typo-3 (#2742)
* Changed "Vertex AI training" to "Vertex AI Training

* changed "Vertex AI training" to "Vertex AI Training"
2024-02-23 20:13:13 +00:00
kittyabsandGitHub d4a422da2d Edit "Using Vertex AI Multimodal Embeddings and Vector Search". Updated links to point to new directory /vector-search/. No impact on code (#2728) 2024-02-23 20:11:24 +00:00
weigaryandGitHub 78dacd7652 Update 4 stable diffusion notebooks to start using the optimized serving dock image. (#2727)
* Pin the `pytorch-diffusers-serve-opt` docker image to `20231213_0836_RC00`.

* Update 4 stable diffusion notebooks to use the optimized serving container, including controlnet, instruct-pix2pix, text-to-video, text-to-video-zero-shot.

* Fix linter error.
2024-02-23 18:50:43 +00:00
KCFindstrandGitHub d558e7d101 Allow selecting accelerator in the #Gemma Vertex finetuning notebook and update the predict section (#2743) 2024-02-23 02:03:36 +00:00
Huguens JeanandGitHub 8394c2317d Update Bytetrack video object tracking notebook with AutoML IOD deployment. (#2721) 2024-02-22 22:28:03 +00:00
kittyabsandGitHub 485648c0b1 Edited "Get started with Vertex AI Experiments". Changed "Vertex AP training" to "Vertex AI "Training," and remove back ticks from "Vertex AI Training" in one case where it shouldn't have been. (#2741) 2024-02-22 22:25:01 +00:00
kittyabsandGitHub 3d0a0e23e2 Changed "Vertex AI training" to "Vertex AI Training" (#2740) 2024-02-22 22:24:37 +00:00
Bo zhengandGitHub 00028dee95 feat: Replace evaluation pipeline with Vertex SDK evaluate function on automl_text_classification_model_evaluation.ipynb (#2719)
* feat: Replace evaluation pipeline with Vertex SDK evaluate function on automl_text_classification_model_evaluation.ipynb

* Add automl-text-classification-evaluation-image

* Manually change notebook to test lint locally

* Format lint
2024-02-22 21:27:50 +00:00
kittyabsandGitHub afb501a116 Changed "Vertex AI training" to "Vertex AI Training (#2739) 2024-02-22 21:25:39 +00:00
KCFindstrandGitHub 56924aa804 Update ModelGarden Gemma finetuning and delpoyment notebooks on Vertex (#2738) 2024-02-22 18:34:53 +00:00
dstnluong-googleandGitHub 839cc67a5a Add 3 SD 1.5 finetuning notebooks. (#2724)
* Add 3 SD 1.5 finetuning notebooks.

* Lint
2024-02-22 18:24:40 +00:00
kittyabsandGitHub 3eb9c4af53 Edited "Vertex AI: Create, train, and deploy an AutoML text classification model" Updated URLS. (#2725) 2024-02-22 17:53:51 +00:00
kittyabsandGitHub 34d941c52c Made edits to "Vertex AI SDK for Python: AutoML Tabular training and prediction". No impact on code (#2722) 2024-02-22 17:53:20 +00:00
kittyabsandGitHub 1da787a325 Edited "Using Vertex AI Vector Search for StackOverflow Questions." Updated links to avoid redirects. Fixed one link that was due to a failed redirect and yielded a 404. No impact on code (#2729) 2024-02-22 17:52:55 +00:00
kittyabsandGitHub 55dcba8883 Edited "Using Vertex AI Vector Search and Vertex AI embeddings for text for StackOverflow Questions" Fixed one URL to remove redirect. (#2734) 2024-02-22 17:52:37 +00:00
kittyabsandGitHub 5b3492f3ab Edited "Create Vertex AI Vector Search index". Updated a URL to avoid a redirect. No impact on code (#2735) 2024-02-22 17:52:08 +00:00
kittyabsandGitHub 452a270a4e Changed "Vertex AI training" to "Vertex AI Training" (#2737) 2024-02-22 17:51:18 +00:00
Kathy YuandGitHub 97a677c08d Update Gemma deployment and finetuning notebook descriptions. (#2733) 2024-02-21 14:11:52 +00:00
Laurent PicardandGitHub 8e7e5138a7 Add Gemma KerasNLP finetuning Vertex AI deployment notebook (#2732) 2024-02-21 13:49:04 +00:00
kittyabsandGitHub 6cd96394f7 Made edits to "Get started with Vertex AI Experiments. Updated URL to point to new location of doc. Code not impacted. (#2697) 2024-02-21 13:19:22 +00:00
KCFindstrandGitHub dd75908741 Add #ModelGarden Gemma finetuning and deployment notebooks (#2730) 2024-02-21 04:11:51 +00:00
KCFindstrandGitHub 9b72294cf1 Add mistral and mixtral model fine-tuning notebooks (#2716) 2024-02-20 15:18:57 +00:00
Huguens JeanandGitHub 1439a364e0 Unify the model name as MODEL_ID in related containers and notebooks. (#2720) 2024-02-20 15:17:32 +00:00
Mend RenovateandGitHub 4b2724ccbe chore(deps): update dependency pyupgrade to v3.15.1 (#2718) 2024-02-20 15:15:49 +00:00
Kelsi LakeyandGitHub ddf3d1c73b Fix errors in get_started_with_vertex_experiments.ipynb (#2717)
* Update get_started_with_vertex_experiments.ipynb

Fix several errors preventing notebook from being run out of the box, namely the custom job container image.

* Update get_started_with_vertex_experiments.ipynb

* Update get_started_with_vertex_experiments.ipynb

* Update get_started_with_vertex_experiments.ipynb

* Update get_started_with_vertex_experiments.ipynb

* Update CODEOWNERS

* Update get_started_with_vertex_experiments.ipynb
2024-02-20 15:15:12 +00:00
weigaryandGitHub 8d9e2cecf9 Update the stable-diffusion-upscaler notebook to use the optimized serving containder. (#2714)
* Update the link of how to request TPU v5e quota in the notebook.

* Create a notebook to demonstrate how to load a thrid-party stable diffusion model, on Vertex AI for online prediction.

* Add codeowner.

* add code owner.

* Make stable_diffusion_xl_turbo a separate notebook.

* Update the `stable-diffusion-upscaler` notebook to use the optimized serving containder.
2024-02-20 15:14:00 +00:00
Kavitha RajendranandGitHub 1ad4c0331f Detect anomalies in Cloud Audit Logs using BQML models (#2709)
* Adding a notebook to detect anomalies in Cloud Audit Logs with BQML models

* cleaned up version

* incorporated review comments
2024-02-17 15:14:43 +00:00
Ivan NardiniandGitHub cb2b1a19c3 feat: ray on vertex - torch sample (#2711)
* add rov torch sample

* update codeowners

* add gericdong review

* linter passed
2024-02-17 15:07:22 +00:00
weigaryandGitHub 6fb5c2ea04 Make stable_diffusion_xl_turbo a separate notebook. (#2713)
* Update the link of how to request TPU v5e quota in the notebook.

* Create a notebook to demonstrate how to load a thrid-party stable diffusion model, on Vertex AI for online prediction.

* Add codeowner.

* add code owner.

* Make stable_diffusion_xl_turbo a separate notebook.
2024-02-16 21:04:49 +00:00
weigaryandGitHub ddcd08fb0b Create a notebook to demonstrate how to load a thrid-party stable diffusion model, on Vertex AI for online prediction. (#2708)
* Update the link of how to request TPU v5e quota in the notebook.

* Create a notebook to demonstrate how to load a thrid-party stable diffusion model, on Vertex AI for online prediction.

* Add codeowner.

* add code owner.
2024-02-16 14:53:41 +00:00
dstnluong-googleandGitHub f272ca4796 Update quantization docker for LLaMA2 (#2707) 2024-02-16 01:21:17 +00:00
Aiden010200andGitHub df9192d0c2 Upload batch prediction job sample (#2705)
* Upload examples of kfp v2

* Upload run experiment example.

* Upload batch prediction job sample.
2024-02-16 01:20:36 +00:00
kittyabsandGitHub 23b90796ea Made edits to "Vertex AI Pipelines: pipeline control structures using the KFP SDK," which includes updated the KFP URL and adding a missing URL to "Enable the Vertex AI API". No impact to code. (#2706) 2024-02-14 16:55:02 +00:00
Mend RenovateandGitHub c03b43b79b chore(deps): update dependency black to v24.2.0 (#2702) 2024-02-14 16:54:07 +00:00
kittyabsandGitHub 731b456c2f Edited "Vertex AI TensorBoard custom training with prebuilt container" No impact on code. (#2704) 2024-02-14 16:53:33 +00:00
weigaryandGitHub 130c621df7 Update the link of how to request TPU v5e quota in the notebook. (#2703)
* Update the link of how to request TPU v5e quota in the notebook.

* Create a notebook to demonstrate how to load a thrid-party stable diffusion model, on Vertex AI for online prediction.

* Delete notebooks/community/model_garden/model_garden_pytorch_stable_diffusion_custom.ipynb

move it to a separate commit
2024-02-14 16:52:51 +00:00
kittyabsandGitHub 87c43c0231 Made edits to "Vertex AI TensorBoard custom training with custom container". Fixed typos and cleaned up content. No impact on code (#2701)
* Made edits to "Vertex AI TensorBoard custom training with custom container". Fixed typos and cleaned up content. No impact on code

* Update tensorboard_custom_training_with_custom_container.ipynb

Deleted empty cell.
2024-02-14 16:52:13 +00:00
2e8dc70079 Remove eval_dataset from RLHF tuning parameters. (#2700)
We temporarily disabled this parameter for first-party models, so this will avoid validation errors when running the RLHF tuning notebook in the meantime.

Co-authored-by: Ryan Latture <latture@google.com>
2024-02-14 16:50:48 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
e712fe3503 chore(deps): bump pillow (#2699)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-14 16:50:02 +00:00
Huguens JeanandGitHub 39da99a8bb Open source pytorch zipnerf model garden dockers. (#2696) 2024-02-12 15:14:01 +00:00
weigaryandGitHub 13de238a84 Add a notebook for SDXL - lora serving (#2691)
* Add a notebook with example on deploying SDXL model on TPU v5e

* Add a notebook for SDXL - lora serving

* Add code owners
2024-02-12 15:12:48 +00:00
kittyabsandGitHub 080674024b Made edits to "Vertex AI Experiments: Custom training autologging - Local script" and added link to relevant documentation. No impact on code (#2698) 2024-02-12 15:06:47 +00:00
kittyabsandGitHub f348edb56e Made edits to "Delete Outdated Experiments in Vertex AI TensorBoard". Updated URL(s). (#2695) 2024-02-12 15:05:21 +00:00
dstnluong-googleandGitHub 5c4bfa0979 Fix upscaler notebook (#2694) 2024-02-12 15:04:05 +00:00
cac8896a80 Increase default max-num-batched-tokens to 16385 for larger models. (#2689)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-02-12 15:03:09 +00:00
kittyabsandGitHub 5ca8adca08 Numerous edits to "Vertex AI SDK: AutoML training video classification model for batch prediction". Does not impact code. (#2688)
* Numerous edits to "Vertex AI SDK: AutoML training video classification model for batch prediction". Does not impact code.

* Update sdk_automl_video_classification_batch.ipynb

deleted "a"
2024-02-09 18:53:29 +00:00
weigaryandGitHub a9e2d4e7c4 Pin the pytorch-diffusers-serve-opt docker image to 20231213_0836_RC00. (#2692) 2024-02-09 14:31:37 +00:00
kittyabsandGitHub aa9ce6a6fb Made edits to "Vertex AI TensorBoard hyperparameter tuning with the HParams Dashboard" and updated URL to go to more relevant document. (#2690) 2024-02-09 14:09:04 +00:00
kittyabsandGitHub c51c52c03f Change url for viewing TensorBoard data. (#2687) 2024-02-09 14:07:58 +00:00
Michael HuandGitHub 163b66d3e7 Update Prophet and ARIMA notebook GCPC versions (#2658)
* Update Prophet and ARIMA notebook GCPC versions

Also, move ARIMA notebook back into official.

* Delete comparison with Vertex Forecasting

* Disable caching

* Rename
2024-02-08 21:41:58 +00:00
Thomas Le moullecandGitHub 2d960509f6 Mistral 7B Finetuning with QLora (#2645)
* Mistral 7B Finetuning with QLora

Need to fix the PEFT Train docker image for the finetuning step. 
Merging works correctly with the docker image, You might face an error when merging if the peft version used for merging is different from the one used for finetuning (new field added in the config_adapter file)

* Update peft docker train image to 20240126_0936_RC00

* Linter OK

* updated the notebook with pull requests comments

* Remove HPT and updated the bucket URI

* Linter update
2024-02-08 18:19:40 +00:00
Lav RaiandGitHub 2bf37e86fb Autogluon source (#2685)
* Add AutoGluon source files.

* Add AutoGluon source files.
2024-02-08 15:25:38 +00:00
bb274e4040 Support DITO training (#2683)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-02-08 15:23:34 +00:00
kittyabsandGitHub 34abfec74c Made edits to "Vertex AI TensorBoard integration with Vertex AI Pipelines". I also updated the section on viewing and comparing pipeline runs to point to new documentation. (#2684)
* Made edits to "Vertex AI TensorBoard integration with Vertex AI Pipelines". I also updated the section on viewing and comparing pipeline runs to point to new documentation.

* Update tensorboard_vertex_ai_pipelines_integration.ipynb

A few more small fixes. Trying to find source of lint error

* Update tensorboard_vertex_ai_pipelines_integration.ipynb

removed empty cells
2024-02-08 14:29:53 +00:00
kittyabsandGitHub 49f2f12ea2 Fixed typos and rewrote some sentences to make them clearer. Be sure to check that I didn't change the meaning or intent. No code impacted (#2680) 2024-02-07 15:17:35 +00:00
Huguens JeanandGitHub 306c4fa8f4 Update model deployment function with serving_container_environment_variables. (#2675) 2024-02-06 22:03:02 +00:00
kittyabsandGitHub 0964e7f0da Updated link to Vertex AI TensorBoard profiler page, which had been moved. Other edits to align with guidelines (#2676) 2024-02-06 22:01:30 +00:00
dstnluong-googleandGitHub 8e1d91e2c2 Fix URI (#2677) 2024-02-06 22:01:06 +00:00
Bo zhengandGitHub 26001062b7 feat: Replace evaluation pipeline with Vertex SDK evaluate function on model evaluation notebooks (#2610)
* Replace evaluation pipeline with evaluate function

* Replace evaluation pipeline with evaluate function on automl_tabular_regression_model_evaluation.ipynb

* Replace evaluation pipeline with evaluate function on custom_tabular_classification_model_evaluation.ipynb

* Replace evaluation pipeline with evaluate function on custom_tabular_regression_model_evaluation.ipynb

* Replace evaluation pipeline with evaluate function on automl_video_classification_model_evaluation.ipynb

* Format automl_tabular_classification_model_evaluation.ipynb

* Format automl_tabular_regression_model_evaluation.ipynb

* Format automl_video_classification_model_evaluation.ipynb

* Format custom_tabular_classification_model_evaluation.ipynb

* Format custom_tabular_regression_model_evaluation.ipynb

* Add files via upload

* Update screenshot for notebooks with evaluate function usage

* Revert custom_tabular_classification_model_evaluation.ipynb

* Format lint

* manual fix lint
2024-02-06 00:25:15 +00:00
siping-huandGitHub 56656f2225 Add notebooks for autosxs (model based llm evaluation) (#2659)
* Create model_based_llm_evaluation folder

* Add autosxs sample notebooks.

* Update autosxs sample notebooks.

* Update CODEOWNERS for autosxs

* Fix lint and format.

* Resolve Michael's comments.

* Fix test failures.

* Fix test errors and resolve Eric's comments.

* Update autosxs_llm_evaluation_for_summarization_task.ipynb

* Update autosxs_llm_evaluation_for_summarization_task.ipynb

* Update autosxs_llm_evaluation_for_summarization_task.ipynb

* Update autosxs_llm_evaluation_for_summarization_task.ipynb

* Update autosxs_llm_evaluation_for_summarization_task.ipynb

* Fix isort.

* Fix nbfmt
2024-02-06 00:22:16 +00:00
kittyabsandGitHub 684285d4f1 Update URL to go directly to /training/... (#2674) 2024-02-06 00:19:20 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
a898bf8aad chore(deps): bump fastapi (#2673)
Bumps [fastapi](https://github.com/tiangolo/fastapi) from 0.75.2 to 0.109.1.
- [Release notes](https://github.com/tiangolo/fastapi/releases)
- [Commits](https://github.com/tiangolo/fastapi/compare/0.75.2...0.109.1)

---
updated-dependencies:
- dependency-name: fastapi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-05 18:11:03 +00:00
weigaryandGitHub 60b49d8419 Add a notebook with example on deploying SDXL model on TPU v5e (#2672) 2024-02-05 17:42:31 +00:00
8b55dada76 Dealing with numerous text edits. Does not impact code (#2670)
* Update get_started_with_vertex_experiments_autologging.ipynb

Added link in "Learn more about..." to the Vertex AI Experiments intro page. Currently, this notebook is not showing up properly in the Jupyter SDK Tutorial page.

* Update get_started_with_vertex_experiments_autologging.ipynb

* Update notebook_template_review.py

Missing left curly bracket/brace 2xs 
(Note, commented out, but still fixing)
 #'AutoML Vision': '{automl_vision_name}}',
 #'AutoML Image': '{automl_vision_name}}',

* Update get_started_with_vertex_experiments_autologging.ipynb

Needed to add a period.

* fix: update spacing

---------

Co-authored-by: Katie Nguyen <katiemn@gmail.com>
2024-02-02 17:05:24 +00:00
dstnluong-googleandGitHub f18c851428 Fix Lama URI (#2671)
* LaMa notebook

* lint

* codeowners

* update

* lint

* Fix indentation issue

* fix URI
2024-02-02 14:23:57 +00:00
Huguens JeanandGitHub a78b5ce878 Search for the MODEL_ID env and set it in the deployment function for… (#2669)
* Search for the MODEL_ID env and set it in the deployment function for all model garden notebooks for pre-trained and tuned models.

* Fix model_garden_pytorch_stable_video_diffusion_img2vid_xt notebook linter issue with load_image and HTML.

* Fix model_garden_pytorch_stable_video_diffusion_img2vid_xt notebook linter issue with load_image and HTML.

* Fix missing MODEL_ID in model_garden_mediapipe_image_generation.ipynb.
2024-02-02 14:21:29 +00:00
kittyabsandGitHub a9aea28b37 Update get_started_with_bqml_training.ipynb (#2666)
Remove "back ticks" around product/service names. Fix typos.
2024-02-02 14:12:31 +00:00
kittyabsandGitHub 0cb84572ba Update tensorboard_profiler_custom_training.ipynb (#2665)
Text edits: Removed `...` from product names and made other edits. Code not impacted
2024-02-02 14:11:18 +00:00
kittyabsandGitHub 764b7a5cc8 Update comparing_pipeline_runs.ipynb (#2664)
* Update comparing_pipeline_runs.ipynb

Needed edits for the page. Does not impact code.

* Update comparing_pipeline_runs.ipynb

responded to katie's feedback.
2024-02-02 14:10:18 +00:00
zbl94andGitHub 94294de17c feat: Vertex AI Feature Store Based LLM Grounding Tutorial (#2652)
* feat: Vertex AI Feature Store Based LLM Grounding Tutorial

* fix: fix the feature store based llm grounding tutorial based on a few comments

* fix: fix the feature store based llm grounding tutorial based on a few comments

* fix: move the fs grounding notebook to official

* fix: comment colab only code

* fix: fix pipeline prefix

* fix: resolve several comments

* fix: resolve several comments

* fix: a quick fix for type

* fix: a quick fix for import

* fix: a quick fix for colab
2024-02-01 22:06:34 +00:00
d9d3be36f9 Support CodeLlama 70B models. (#2667)
Co-authored-by: minwoopark <minwoopark@google.com>
2024-02-01 18:10:12 +00:00
kittyabsandGitHub 48f1a43efc Update sdk-custom-image-classification-batch.ipynb (#2662)
Removed tick marks from product names so they don't render as code.
2024-01-31 21:55:26 +00:00
kittyabsandGitHub 64417df16a Update tensorboard_vertex_ai_pipelines_integration.ipynb (#2663)
Fixing typo: "monitorning" -> "monitoring"
2024-01-31 21:53:59 +00:00
dstnluong-googleandGitHub 165d58f328 Fix indentation in LaMa notebook (#2661)
* LaMa notebook

* lint

* codeowners

* update

* lint

* Fix indentation issue
2024-01-31 19:42:43 +00:00
Shikanime DevaandGitHub bb2085a95d Add Peft additional parameters (#2657) 2024-01-31 16:12:34 +00:00
kittyabsandGitHub 5cd844f2dd Small edit - first time making a change to a github sample. (#2660) 2024-01-30 21:00:18 +00:00
Lehui LiuandGitHub 4b455390f6 feat: add sample notebook for vertex distillation (#2656) 2024-01-30 01:29:29 +00:00
Mend RenovateandGitHub d5f90ce6de chore(deps): update dependency black to v24.1.1 (#2654) 2024-01-30 01:17:16 +00:00
Aiden010200andGitHub 4ede21cccd Upload run experiment example (#2653)
* Upload examples of kfp v2

* Upload run experiment example.
2024-01-29 15:36:10 +00:00
weigaryandGitHub 16bf0a8813 Update/optimize the serving efficiency of the image-inpainting model. (#2650) 2024-01-26 19:04:55 +00:00
Mend RenovateandGitHub c7fb10d374 chore(deps): update dependency black to v24 (#2651) 2024-01-26 19:03:13 +00:00
dstnluong-googleandGitHub e700dbbad3 Add LaMa Notebook to Vertex MG (#2648)
* LaMa notebook

* lint

* codeowners

* update

* lint
2024-01-25 17:40:59 +00:00
Katie NguyenandGitHub 0a082b4c07 fix: update links to official notebook (#2647) 2024-01-25 17:39:03 +00:00
Lav RaiandGitHub ad947ea952 Add AutoGluon notebook. (#2649) 2024-01-25 17:38:17 +00:00
dstnluong-googleandGitHub 7d7db7d2d7 Separate hp tuning from llama notebook. (#2641)
* Separate notebook

* lint

* add codeowners

* Remove unused import

* Merge with pipeline addition.

* Remove prediction from hptuning nb.
2024-01-24 22:27:05 +00:00
Erick De Santiago AnayaandGitHub 884d649434 Update model_garden_video_object_tracking_serve.ipynb (#2646)
The model it's expecting a number instead of a boolean value
2024-01-24 20:52:40 +00:00
61789574c0 feat: Document how to get predictions from tuned 1P and 3P models. (#2642)
1P models should use Online or Batch Prediction. 3P models should use the Bulk Inference pipeline.

Co-authored-by: Ryan Latture <latture@google.com>
2024-01-24 20:51:02 +00:00
Matthew TangandGitHub 0ea0c04195 [Vertex AI SDK] Add custom serializer args for bigframes tensorflow (#2633)
* Add custom serializer args for bigframes tensorflow

* Add custom serializer args for remote prediction
2024-01-24 20:47:02 +00:00
Katie NguyenandGitHub 556cbe7049 fix: update API call in triton client (#2644) 2024-01-24 20:45:48 +00:00
jismailyan-googleandGitHub b695dc7631 Move and update pipeline finetuning section. (#2640)
* Add a section documenting the one-click finetuning
button in the Model Card UI.

The section explains how to use the button,
what the pipeline does and some troubleshooting
tips.

* Edit one-click finetuning instructions for clarity
and syntax.

* Correct 'Tensorboard' to 'TensorBoard'

* Updated finetuning pipeline instructions to
include steps on launching the pipeline via the
Vertex SDK.

* Added more parameters to the pipeline command
example. Moved the section down.

* Remove unintentional character interpolation

* Removed changes

* Undo formatting

* Remove old version of finetuning pipeline section

* Only allow huggingface datasets with the
finetuning pipeline.

* Fix linter issues
2024-01-23 18:43:35 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
f8f2f35920 chore(deps): bump pillow (#2639)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 18:42:07 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3c6198f8bc chore(deps): bump pillow (#2638)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 18:41:39 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
3ed1f26dab chore(deps): bump pillow (#2637)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 10.0.1 to 10.2.0.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/10.0.1...10.2.0)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-23 18:41:09 +00:00
3507602da1 feat: add llava 1.5 docker and notebook. (#2636)
Co-authored-by: Pooya Moradi <pooyam@google.com>
2024-01-23 18:40:22 +00:00
Amy WuandGitHub 0cae18cfba feat: Add Ray on Vertex AI cluster management sample (#2634)
* feat: Add Ray on Vertex cluster management sample

* fix: lint

* fix: vpc

* fix: python version

* fix: scale up

* fix: lint

* fix: clean up

* fix: update notebook

* fix: docs

* fix: docs

* fix: links
2024-01-23 18:25:25 +00:00
Aiden010200andGitHub e735195230 Upload examples of kfp v2 (#2627) 2024-01-18 19:08:49 +00:00
Kathy YuandGitHub c8f95d2121 Update Mixtral vLLM container and support OpenAI vLLM server. (#2630) 2024-01-18 19:06:48 +00:00
Huguens JeanandGitHub b679b3d72d Added individual download links for mipnerf360 dataset. (#2631) 2024-01-18 19:06:04 +00:00
joiceyeandGitHub c52ce038f6 notebook for stable video diffusion img2vid xt (#2626) 2024-01-15 15:15:18 +00:00
35f42fd9fc fix: Update RLHF large_model_reference to match text. (#2625)
Co-authored-by: Ryan Latture <latture@google.com>
2024-01-15 15:13:09 +00:00
jismailyan-googleandGitHub 252093ddf3 Add Fine-tuning Pipeline button instructions to Llama2 PEFT notebook (#2621)
* Add a section documenting the one-click finetuning
button in the Model Card UI.

The section explains how to use the button,
what the pipeline does and some troubleshooting
tips.

* Edit one-click finetuning instructions for clarity
and syntax.

* Correct 'Tensorboard' to 'TensorBoard'
2024-01-12 18:23:03 +00:00
Alicia WilliamsandGitHub 722a8cfe4c Update bq_ml_with_vision_translation_nlp.ipynb (#2624)
Update dataset links
2024-01-11 21:07:21 +00:00
weigaryandGitHub c9d4a27cff Update the SD notebooks using the new pytorch-diffusers-serve-opt container. (#2597)
* Update staable-diffusion 1.5 and XL notebooks to deploy with default GPU as L4, instead of A100.

* Update the SD notebooks using the new  container.

* Delete notebooks/community/model_garden/model_garden_pytorch_stable_diffusion_xl_1_0.ipynb

Resolve the merge conflict.

* Resolve the merge conflict.
2024-01-10 19:57:25 +00:00
Mend RenovateandGitHub 97de848e13 chore(deps): update dependency flake8 to v7 (#2612) 2024-01-10 15:33:50 +00:00
Mend RenovateandGitHub dea762c54a chore(deps): update dependency black to v23.12.1 (#2608) 2024-01-10 15:33:04 +00:00
Mend RenovateandGitHub e8ed4c3fd9 chore(deps): update actions/setup-python action to v5 (#2569) 2024-01-10 15:21:37 +00:00
Katie NguyenandGitHub 00b4598734 fix: lowercase hyperparameter tuning (#2616) 2024-01-10 15:06:00 +00:00
Katie NguyenandGitHub f5ccb578f4 fix: lowercase custom training (#2617) 2024-01-10 15:05:20 +00:00
Katie NguyenandGitHub cacbdbcf93 fix: lowercase maintenance (#2618) 2024-01-10 15:04:33 +00:00
Katie NguyenandGitHub 7737a98ec9 fix: lowercase hyperparameter tuning within text cells (#2619) 2024-01-10 15:03:51 +00:00
Ivan NardiniandGitHub 745bd03644 feat: adding Vertex AI Deployer notebook (#2613)
* adding vertexai deployer notebook

* linter test passed

* adding codeowners

* eric review

* linter test passed
2024-01-10 15:02:36 +00:00
Huguens JeanandGitHub c502dee709 Adding Pytorch-ZipNeRF notebook to Vertex AI samples model garden. (#2615)
* Adding Pytorch-ZipNeRF notebook to Vertex AI samples model garden.

* Format and lint Pytorch-ZipNeRF notebook.
2024-01-08 18:56:16 +00:00
KCFindstrandGitHub a1e0012df0 Add #ModelGarden Wizard LM notebook (#2614) 2024-01-08 18:54:46 +00:00
Douglass ChenandGitHub 9f6f46d56e Fix ready_to_go text classification pipeline notebook (#2609)
* Code fix, specify that old version of components library must be used

* reformat

* fix workbench url
2024-01-08 18:52:54 +00:00
Katie NguyenandGitHub f90d4f59c0 fix: lowercase distributed training (#2606) 2023-12-22 02:25:43 +00:00
Katie NguyenandGitHub 3e31d830c6 fix: lowercase batch prediction (#2605) 2023-12-21 23:36:18 +00:00
Katie NguyenandGitHub c0607f46ba fix: update name to cloud profiler (#2604) 2023-12-21 21:39:09 +00:00
Katie NguyenandGitHub b67cccb91a fix: update video workbook title (#2602) 2023-12-21 13:15:14 +00:00
Katie NguyenandGitHub 70db60129a fix: update workbook title (#2601) 2023-12-20 22:23:48 +00:00
Kathy YuandGitHub a185e106e0 Switch API for launching evaluation jobs and make bug fixes. (#2598)
* Switch API for launching evaluation jobs and make bug fixes.

* Fix linter issues.
2023-12-19 14:15:54 +00:00
dstnluong-googleandGitHub 38a1367fb8 Fix typos in Vicuna and Openllam Notebook. (#2594) 2023-12-15 19:50:53 +00:00
KCFindstrandGitHub f991f868d2 Add #ModelGarden wizard coder notebook. (#2595) 2023-12-15 19:49:56 +00:00
Eric DongandGitHub 813547b8fd fix: bad link to PaLM (#2596) 2023-12-15 16:06:41 +00:00
Kathy YuandGitHub 6cac1b2456 Add Mixtral 8x7B to Mistral notebook. (#2584) 2023-12-14 19:49:24 +00:00
Mend RenovateandGitHub f23cade8a6 chore(deps): update dependency isort to v5.13.2 (#2576) 2023-12-14 15:33:40 +00:00
Mend RenovateandGitHub 45520e9c06 chore(deps): update dependency nbqa to v1.7.1 (#2549) 2023-12-14 15:32:58 +00:00
Mend RenovateandGitHub 903c964487 chore(deps): update dependency black to v23.12.0 (#2470) 2023-12-14 15:32:16 +00:00
Mend RenovateandGitHub a3bb4afe06 chore(deps): update python docker tag to v3.12 (#2315) 2023-12-14 15:14:09 +00:00
f242e348c4 Document RLHF and inference pipelines support chat-bison@001. (#2577)
This adds `chat-bison@001` to the table of supported models and documents chat dataset formats for relevant input parameters.

Co-authored-by: Ryan Latture <latture@google.com>
2023-12-13 21:54:45 +00:00
weigaryandGitHub 8d47ab03c7 Add a new notebook for sdxl LCM (#2582)
* Add SDXL-turbo as a separate section in the SDXL notebook.

* Add SDXL-turbo as a separate section in the SDXL notebook.

* Add a new notebook for sdxl LCM
2023-12-13 21:50:35 +00:00
e8b86f503f Use open source detectron2 docker. (#2583)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-12-13 21:48:35 +00:00
dstnluong-googleandGitHub 9449785b20 Switch TFvisio docker URIs to use vertex-ai (#2280) 2023-12-13 21:47:41 +00:00
genquan9andGitHub ac4f63b4e0 remove old vertex_vision_model_garden folder (#2570) 2023-12-13 19:56:38 +00:00
weigaryandGitHub 65ee5cdf52 Sd turbo (#2572)
* Add SDXL-turbo as a separate section in the SDXL notebook.

* Add SDXL-turbo as a separate section in the SDXL notebook.
2023-12-13 19:52:24 +00:00
dstnluong-googleandGitHub 90219e0a76 Add GPTQ to Falcon Instruct (#2574)
* Add local inference for Falcon Instruct

* Lint

* Add memory necessary for falcon 7b

* nit: Typo

* add gptq quantization to falcon

* lint

* typo

* Comment out one setting.
2023-12-13 19:49:39 +00:00
dstnluong-googleandGitHub d2ad1dd763 Add cache_examples_on_gpu flag to GPTQ. (#2579)
* Add cache_examples_on_gpu flag to GPTQ.

* Lower GPU suggestions for 70b model.

* Lower GPU suggestions for 70b.

* Typo
2023-12-13 19:47:07 +00:00
Kathy YuandGitHub b2ec0e956e Update timm notebook to use vertex-ai docker link. (#2580) 2023-12-13 19:45:01 +00:00
dstnluong-googleandGitHub 7fb60acf89 Create 5 separate notebooks from LLaMA2 notebook sections (#2568)
* add deployment notebook

* lint

* add finetune notebook

* lint

* lint

* add evaluation notebook

* lint

* add rlhf notebook

* lint

* lint rlhf notebook?

* add notebooks to codeowners
2023-12-05 20:50:46 +00:00
genquan9andGitHub 4f2408ce9e use the vertex_model_garden links instead of vertex_vision_model_garden (#2567) 2023-12-05 20:50:13 +00:00
Kathy YuandGitHub ef9a176c75 Add evaluation for CodeLLaMA and fix typos in CodeLLaMA and Mistral notebooks. (#2566) 2023-12-04 15:11:41 +00:00
genquan9andGitHub e72fffd682 copy vertex_vision_model_garden as vertex_model_garden (#2565) 2023-12-04 15:11:07 +00:00
KCFindstrandGitHub a9301eeb64 Add hyperparameter tuning examples to #PEFT Llama2 and OpenLlama notebooks (#2564) 2023-12-04 15:10:04 +00:00
weigaryandGitHub 9e2dcd494a Add charts to the benchmark report. (#2563)
* Add charts to the benchmark report.

* Add charts to the benchmark report.
2023-12-02 00:09:06 +00:00
KCFindstrandGitHub 2ae33b5b12 Add OpenLLaMA hyperparameter tuning benchmark report (#2562) 2023-12-01 22:47:03 +00:00
weigaryandGitHub d85a1e9c0c Update the SD XL notebook for refiner to use the default GPU as L4 (instead of A100). (#2561) 2023-12-01 22:46:30 +00:00
dstnluong-googleandGitHub fff9673703 Add SD benchmarking report (#2560)
* Add SD benchmarking report

* Fix images

* remove old table

* grammar

* lint

* typo
2023-12-01 22:45:50 +00:00
dstnluong-googleandGitHub 55fbb89a95 Update Docker URIs. (#2554)
* Update Docker URIs.

* lint

* update docker URI

* typo

* add comma

* lint

* fix parameters

* Add quantization method to gptq
2023-12-01 22:45:12 +00:00
dstnluong-googleandGitHub 007610f4f2 Add quantization section for Openllama (#2551)
* Add quantization section for Openllama

* use peft serving for 3b quantized

* missing comma

* lint

* add quantization_method to gptq

* add quantization_method to gptq
2023-12-01 22:44:36 +00:00
weigaryandGitHub 1354c74058 Move the openllama 7b benchmark report to the centralized place. (#2559) 2023-12-01 22:43:34 +00:00
Andrew FerlitschandGitHub f36ab8ef40 fix: online FS (#2558) 2023-11-30 17:08:43 +00:00
Andrew FerlitschandGitHub 33793dbb78 fix: backticks (#2557) 2023-11-30 15:05:18 +00:00
Lav RaiandGitHub d3bdf63115 Vit report (#2556)
* Add ViT benchmarking report.

* Add ViT benchmarking report.

* Add ViT benchmarking report.

* Add ViT benchmarking report.

* Add ViT benchmarking report.

* Add ViT benchmarking report.
2023-11-30 14:20:04 +00:00
weigaryandGitHub f3395041e4 Add openllama-7b fine tuning benchmark report. (#2555) 2023-11-30 14:19:29 +00:00
Andrew FerlitschandGitHub 5dfc87cbab fix: FS legacy delete (#2553) 2023-11-29 18:17:40 +00:00
Andrew FerlitschandGitHub a162066c94 in-progress: SDK whl replacement (#2552)
* in-progress: SDK whl replacement

* add: cmd param
2023-11-29 18:17:07 +00:00
dstnluong-googleandGitHub a4940cc2ba Add quantization to llama2 notebook (#2550) 2023-11-29 03:20:21 +00:00
Andrew FerlitschandGitHub d1dfe04ff0 2nd part of deprecate (#2542)
* 2nd part of deprecate

* fix links
2023-11-22 23:55:33 +00:00
fca8a0f9f5 Support DITO custom categories (#2543)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-11-20 21:27:39 +00:00
Andrew FerlitschandGitHub ea3a5d3d79 deprecate flaky notebook (#2541) 2023-11-20 19:25:19 +00:00
Andrew FerlitschandGitHub 013bd9b78b fine tuning: auto error detection (#2539) 2023-11-20 18:42:28 +00:00
Andrew FerlitschandGitHub 1ca46e450d update: notebook status (#2535) 2023-11-20 16:52:16 +00:00
Xiang XuandGitHub 6c4f09fd43 increase max_num_batched_tokens for vllm and remove streaming (#2536) 2023-11-17 20:46:26 +00:00
Andrew FerlitschandGitHub 66427bd244 fix: detecting internal (#2534) 2023-11-17 20:37:13 +00:00
weigaryandGitHub d49bae8d29 Update staable-diffusion 1.5 and XL notebooks to deploy with default GPU as L4, instead of A100. (#2533) 2023-11-17 19:40:17 +00:00
Andrew FerlitschandGitHub 66c05c8217 fix: typo in results vs result (#2532) 2023-11-17 18:46:51 +00:00
Andrew FerlitschandGitHub 79473f0b88 fix: cleanup for FS 2.x (#2526) 2023-11-17 14:35:47 +00:00
Andrew FerlitschandGitHub 2568e012f9 fix: detect other types of quota and internal errors (#2525) 2023-11-16 23:50:25 +00:00
Kathy YuandGitHub 97fa323aca Fix typo in LLaMA 2 instructions. (#2524) 2023-11-16 22:04:52 +00:00
Kelsi LakeyandGitHub 20a9ff65e0 Update IMAGE_URI in tensorboard_custom_training_with_custom_container.ipynb (#2522)
Add variable in IMAGE_URI to set region. Right now it is hard-coded to us-central1.
2023-11-16 22:04:11 +00:00
Andrew FerlitschandGitHub ed6de9fde5 feat: stub and document reaper support for FS 2.x (#2521) 2023-11-15 22:04:01 +00:00
zhangxiaotianandGitHub dbaa3d098c fix clean up (#2520)
* improve to make it more aligned with the template

* fix:fix clean up section
2023-11-15 21:53:44 +00:00
Andrew FerlitschandGitHub 7e77de2800 CI/CD fix (#2514)
* CI/CD fix

* pin 1.34
2023-11-15 17:59:11 +00:00
Andrew FerlitschandGitHub ef8b70db32 Update CI/CD fix (#2513) 2023-11-15 00:09:33 +00:00
578adab3b0 revert how sdk is downloaded (#2518)
Co-authored-by: Kamal Gurala <gkamal@google.com>
2023-11-15 00:08:22 +00:00
KCFindstrandGitHub 3ef187ecc3 Update Llama2 PEFT notebook train docker version (#2519) 2023-11-15 00:05:45 +00:00
23dc370602 Updates optimized to remove known issues (#2512)
Co-authored-by: Kamal Gurala <gkamal@google.com>
2023-11-15 00:05:17 +00:00
Andrew FerlitschandGitHub d1835e98af feat: auto find latest build results (#2517) 2023-11-15 00:00:31 +00:00
823c10315a Update vector notebook to remove disclaimer (#2515)
* Update vector notebook to disclaimer

* Update region used for vector case

---------

Co-authored-by: Kamal Gurala <gkamal@google.com>
2023-11-14 22:51:17 +00:00
Kathy YuandGitHub 497297007c Update serving container version for sequence classification models. (#2509) 2023-11-14 22:17:31 +00:00
87ddc8ec00 Update for GA relase, use v1 sdk, and remove known issues (#2510)
* Updates Bigtable serving noteebok for GA release

* Removes preview disclaimer

* Updates from linter

---------

Co-authored-by: Kamal Gurala <gkamal@google.com>
2023-11-14 22:17:01 +00:00
Andrew FerlitschandGitHub eb104d4d92 fix: capture log on fail (#2508) 2023-11-14 20:59:49 +00:00
zhangxiaotianandGitHub ba335b250b improve to make it more aligned with the template (#2506) 2023-11-14 20:41:57 +00:00
Andrew FerlitschandGitHub 5f014bcf34 CI/CD debug (#2503) 2023-11-14 20:30:29 +00:00
Andrew FerlitschandGitHub 0d453b7e01 documented what to do for FS 2.x cleanup (#2507) 2023-11-14 18:27:23 +00:00
Andrew FerlitschandGitHub 379644e115 Update CI/CD debug (#2504) 2023-11-14 16:43:53 +00:00
Andrew FerlitschandGitHub 72ab1484b7 deprecate to community (#2502) 2023-11-14 16:32:54 +00:00
zhangxiaotianandGitHub 885a62489e fix: fix image rending for running in Jupyter (#2501) 2023-11-14 15:45:47 +00:00
Andrew FerlitschandGitHub 9591e8db4d fix CI/CD (#2498) 2023-11-14 00:27:39 +00:00
Andrew FerlitschandGitHub 9757e14644 feat: filter for notebooks under investigation (#2497) 2023-11-13 23:53:33 +00:00
Kathy YuandGitHub 959c56a4c7 Add documentation for building chat applications using LLaMA 2. (#2494) 2023-11-13 19:17:29 +00:00
Andrew FerlitschandGitHub ea1afda39d fix: internal and log url (#2492) 2023-11-13 19:06:41 +00:00
weigaryandGitHub e8539218e4 Temporarily pin the docker to 20231112_0948_RC00. (#2493) 2023-11-13 18:49:32 +00:00
Andrew FerlitschandGitHub 4fb0761fb8 add log url (#2490)
* add log url

* fix: syntax error

* fix: syntax error
2023-11-13 17:39:16 +00:00
Andrew FerlitschandGitHub 6a61010225 feat: finish round1 of dirty dashboard (#2489)
* feat: finish round1 of dirty dashboard

* debug: CICD issue
2023-11-13 17:38:04 +00:00
838e72087f refactor: explicitly prepare featch_Feature_values request (#2485)
* refactor: explicitly prepare featch_Feature_values request

* Fix unintednded metadata updates

* Fixes from linter

* add unique to resource ids

* add unique to resource ids for public optimized

---------

Co-authored-by: Kamal Gurala <gkamal@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-11-11 01:15:29 +00:00
zhangxiaotianandGitHub c633231e07 Warehouse (#2484)
* add warehouse sdk colab

* update owner

* update colab and github link

* resolve comments

* resolve comments

* resolve comments

* fix format

* remove unused code

* resolve lint
2023-11-10 23:03:37 +00:00
zhangxiaotianandGitHub 5f73c9e445 create a notebook for image warehouse (#2488)
* create a notebook for image warehouse

* update

* resolve comments

* resolve comments
2023-11-10 22:41:14 +00:00
Andrew FerlitschandGitHub 4d77391672 fix: bad link (#2486) 2023-11-10 21:18:32 +00:00
Matthew TangandGitHub 289db671b8 [Vertex AI SDK] Remove sdk2 wording from bigframes notebooks (#2487)
* Remove sdk2 wording

* don't override class
2023-11-10 21:15:29 +00:00
weigaryandGitHub c725d85433 Update stable diffusion 2.1 notebook to use the optimized serving docker (#2483)
* Update stable diffusion 2.1 notebook to use the optimized serving docker.

* Update model_garden_pytorch_stable_diffusion_2_1.ipynb

* Update model_garden_pytorch_stable_diffusion_2_1.ipynb
2023-11-10 21:13:22 +00:00
Andrew FerlitschandGitHub 6f48419a31 pin to fix CI/CD failure (#2480) 2023-11-10 18:02:30 +00:00
Andrew FerlitschandGitHub 3c83824d02 fix syntax error (#2481) 2023-11-09 19:54:23 +00:00
Andrew FerlitschandGitHub 7d53d90235 fix: timeout in CI/CD (#2478) 2023-11-09 19:42:43 +00:00
Matthew TangandGitHub fc3f467899 [Vertex AI SDK] Remove bigframes tf-io installation on user side (#2472)
* Remove tf-io installation on user side

* Fix lint
2023-11-09 19:31:40 +00:00
Andrew FerlitschandGitHub 11fe3dbc28 fix: missing link (#2466) 2023-11-09 18:11:12 +00:00
Andrew FerlitschandGitHub 253f755d86 fix: remove output (#2476) 2023-11-09 16:50:03 +00:00
Mend RenovateandGitHub 89b868705b chore(deps): update actions/checkout action to v4 (#2394) 2023-11-09 14:32:16 +00:00
Mend RenovateandGitHub 038fc057ee chore(deps): update dependency pyupgrade to v3.15.0 (#2314) 2023-11-09 14:30:53 +00:00
Andrew FerlitschandGitHub 4377a1b485 fix: bug in selection algo for age and max notebooks (#2475)
* fix: invert time test

* fix: percent unt
2023-11-09 00:17:51 +00:00
Andrew FerlitschandGitHub 9f5cb39eb4 already in official (#2477) 2023-11-09 00:17:28 +00:00
yexing111andGitHub 103c168a82 Rephrase optimized notebook to address previous comment (#2473)
* Rephrase optimized notebook

* Update format issue and change region

* Update format issue and change region2

* Fix import format

* Apply format

* Change region
2023-11-08 22:04:42 +00:00
Andrew FerlitschandGitHub 42914ffba6 fix: read from local file (#2474)
* fix: read from local file

* fix: GCS file
2023-11-08 21:46:03 +00:00
Andrew FerlitschandGitHub b4f3601262 debug: saving results (#2471) 2023-11-08 19:48:43 +00:00
yexing111andGitHub 3978ea80bf Create new colab for FS optimized serving (#2454)
* Create new colab for FS optimized serving

* Address comments

* Fix allowlist syntax error with param

* Change default region to trigger test in clean env

* Comment expect to fail cells

* Change default region to trigger test
2023-11-08 13:15:24 +00:00
Kelsi LakeyandGitHub b3a8e98150 Update delete_outdated_tensorboard_experiments.ipynb (#2469)
Change detailed_log to match DETAILED_LOG variable defined above.
Add note about how user can set tensorboard experiment labels.
2023-11-08 00:56:39 +00:00
weigaryandGitHub 817e9f6f5f Update stable diffusion XL notebook to use the optimized serving docker. (#2467)
* Update stable diffusion XL notebook to use the optimized serving docker.

* Update model_garden_pytorch_stable_diffusion_xl_1_0.ipynb

minor update

* Update model_garden_pytorch_stable_diffusion_xl_1_0.ipynb

minor update
2023-11-08 00:55:49 +00:00
Andrew FerlitschandGitHub f028260fe9 feat: detect error from log (#2465)
* feat: detect error from log

* fix: None
2023-11-07 15:57:13 +00:00
Mend RenovateandGitHub 3b0dc3a9af chore(deps): update dependency black to v23.10.1 (#2086) 2023-11-07 13:51:08 +00:00
Kathy YuandGitHub d27adf8c47 Update swap space setting for CodeLLaMA notebook. (#2462) 2023-11-07 00:13:51 +00:00
KCFindstrandGitHub 4873c54cf0 Add hyperparameter tuning instructions to llama2 PEFT notebook (#2460) 2023-11-07 00:13:27 +00:00
Andrew FerlitschandGitHub 55645a8583 fix: protect harness from system wide execution failure (#2464)
* feat: add option for files not to index

* fix: harden harness against system failure
2023-11-06 16:17:38 +00:00
Andrew FerlitschandGitHub 47da217cca Tpu ga 2 (#2461)
* migrate to official

* fix: AR permission

* fix: TPU available

* convert to KFP2
2023-11-03 20:49:48 +00:00
Andrew FerlitschandGitHub 2cc877438c fix: timeout (#2458) 2023-11-02 16:46:34 +00:00
Jose BracheandGitHub 2ee1c72bf9 Jbrache 20231101 (#2457)
* chore: Renaming notebook, updated text formatting, typos.

* chore: Renaming notebook, updated text formatting, typos.
2023-11-02 16:42:41 +00:00
Kathy YuandGitHub ee5f69b5b8 Add deployment recommendations, clarifications and bug fixes to PEFT and vLLM notebooks. (#2455) 2023-11-01 20:19:26 +00:00
Andrew FerlitschandGitHub da3f4abbc2 updates for webdoc index generation (#2456)
* fix: remove backticks

* fix: vector search branding
2023-11-01 18:52:04 +00:00
Andrew FerlitschandGitHub cc585a3faa fix broken links (#2453) 2023-11-01 13:27:59 +00:00
Andrew FerlitschandGitHub 6afc5ce353 fix: skipping in indexer (#2452) 2023-10-31 22:36:33 +00:00
Andrew FerlitschandGitHub 9cb9d272f0 fix: last date ran (#2451) 2023-10-31 21:00:07 +00:00
weigaryandGitHub 759726e7b4 Update the stable diffusion 1.5 notebook to use the optimized serving docker image (#2450) 2023-10-31 20:55:23 +00:00
kemurayamaandGitHub d282fe7461 Update model_garden_pytorch_stable_diffusion_2_1.ipynb (#2446)
Deleted `torch_dtype=torch.float16` on line 397
2023-10-31 20:54:57 +00:00
Andrew FerlitschandGitHub ed7cd22e27 feat: add arg for run first file (#2449) 2023-10-31 19:04:32 +00:00
Andrew FerlitschandGitHub fdac86f541 fix: run first (#2448) 2023-10-31 17:54:22 +00:00
Andrew FerlitschandGitHub 7f464a92e0 migrate to official (#2443)
* migrate to official

* fix: missing install

* fix: import os

* fix: IS_COLAB
2023-10-30 19:11:44 +00:00
Andrew FerlitschandGitHub a779d317af migrate to official (#2431)
* migrate to official

* fix: artifact registry

* fix: lint

* fix: missing image

* fix: add more cleanup
2023-10-30 19:10:05 +00:00
Andrew FerlitschandGitHub ee538ce371 migrate to official (#2444)
* migrate to official

* fix: missing installs

* fix: IS_COLAB
2023-10-30 17:27:30 +00:00
Andrew FerlitschandGitHub 2ec5b39bdc migrate to official (#2441)
* migrate to official

* fix: remove param

* fix: IS_COLAB

* fix: requirements.txt

* fix: image missing

* fix: IS_TESTING

* fix: IS_TESTINGFG
2023-10-30 14:27:17 +00:00
Andrew FerlitschandGitHub 68f160db50 migrate to official (#2445) 2023-10-30 14:20:12 +00:00
Andrew FerlitschandGitHub b65392f2be fix: learn more about (#2419)
* fix: learn more about

* fix: VPC issue

* fix: VPC issue

* fix: handle exception

* fix: add VPC network

* fix: lint
2023-10-30 14:06:58 +00:00
Jaycee LiandGitHub 6625012a95 Move sdk2 bigframes notebooks (#2440)
* Refactor SDK 2.0 notebooks

* fix linting

* Update CODEOWNERS

* change codeowner username

* install dependencies

* update dependencies

* update folder name

* Update CODEOWNERS

* move sdk2 notebooks

* linting
2023-10-27 17:47:55 +00:00
e542e915b1 Colab (#2439)
* Support Colab Enterprise

* Support Colab Enterprise

---------

Co-authored-by: minwoopark <minwoopark@google.com>
2023-10-27 17:47:00 +00:00
Huguens JeanandGitHub 757419e1b1 Update BioGPT serve docker URI in notebook. (#2438) 2023-10-27 17:46:28 +00:00
Andrew FerlitschandGitHub 3dd41db8a5 fix: timeouts (#2437) 2023-10-27 17:01:30 +00:00
Andrew FerlitschandGitHub c027f88d2a fix: unreliable service (#2436) 2023-10-27 15:30:43 +00:00
Mend RenovateandGitHub 596bb6a6b7 chore(deps): update dependency flake8 to v6.1.0 (#2131) 2023-10-27 14:56:51 +00:00
xqr-gandGitHub d3a6a7bf91 change model version (#2433) 2023-10-26 23:03:11 +00:00
Jaycee LiandGitHub be68829742 Refactor SDK 2.0 notebooks (#2367)
* Refactor SDK 2.0 notebooks

* fix linting

* Update CODEOWNERS

* change codeowner username

* install dependencies

* update dependencies

* update folder name

* Update CODEOWNERS
2023-10-26 18:54:02 +00:00
dstnluong-googleandGitHub 64be3cd9ee Fix VLLM format string. (#2432)
* Minor updates to Vicuna notebook

* Lint

* Fix format string for Vicuna notebook.
2023-10-26 17:41:33 +00:00
Eric DongandGitHub 2414433f94 chore: remove unnecessary comments from the template (#2428) 2023-10-26 15:40:49 +00:00
Andrew FerlitschandGitHub 7206ea4d99 Harden 9 (#2429)
* fix: force run based on age of last run

* fix: force run based on age of last run
2023-10-26 15:40:34 +00:00
Andrew FerlitschandGitHub 8dad9cd13f fix: clean and rebrand - permission (#2335)
* fix: clean and rebrand

* fix: VPC setup

* rebrand

* rebrand

* fix: PROJECTT

* fix: VPC network

* fix: redis

* fix: import os
2023-10-25 21:20:59 +00:00
Andrew FerlitschandGitHub d0037863ff feat: record last date of fail (#2425) 2023-10-25 17:20:12 +00:00
Andrew FerlitschandGitHub ce4b2b1781 fix CI/CD error (#2423) 2023-10-25 17:03:37 +00:00
Andrew FerlitschandGitHub 8b2e7766c3 add more notebooks to list (#2424) 2023-10-25 16:51:11 +00:00
Andrew FerlitschandGitHub 7844755cac feat: select notebook if failed on last run (#2420) 2023-10-25 12:56:53 +00:00
Andrew FerlitschandGitHub 6f566cc4f8 feat: add option for files not to index (#2418) 2023-10-24 18:59:35 +00:00
Andrew FerlitschandGitHub 6ac2f82c0b debug CI/CD failure (#2405)
* debug CI/CD failure

* pin GCPC version
2023-10-24 18:24:55 +00:00
Andrew FerlitschandGitHub 1f818fe469 Harden 3 (#2416)
* feat: run-first argument

* feat: run-first code

* feat: add run first file
2023-10-24 17:03:33 +00:00
weigaryandGitHub 51f87eb06a Pin the transformer-serve version in the NLLB notebook (#2417) 2023-10-24 16:58:33 +00:00
KCFindstrandGitHub cdb5c1c54b Switch #BiomedCLIP default GPU to V100 (#2415) 2023-10-24 16:58:03 +00:00
dstnluong-googleandGitHub 7f6c2f28d3 Minor updates to Vicuna notebook. (#2410)
* Minor updates to Vicuna notebook

* Lint
2023-10-24 16:57:28 +00:00
Kathy YuandGitHub ced4f55dac Add V100 recommendations for LLaMA 2. (#2409) 2023-10-24 16:56:52 +00:00
Andrew FerlitschandGitHub a5a003b831 Harden 2 (#2414)
* feat: run-first argument

* feat: run-first code
2023-10-24 13:57:46 +00:00
Andrew FerlitschandGitHub e7b8238615 fix: filename only not path (#2412) 2023-10-23 20:11:19 +00:00
Andrew FerlitschandGitHub e5a50be51e feat: skip notebook option (#2411) 2023-10-23 19:37:37 +00:00
Andrew FerlitschandGitHub e5bfc74c11 clean: not index notebooks w/o webdoc page (#2408) 2023-10-23 17:57:49 +00:00
Andrew FerlitschandGitHub d03779423c cleanup: obsolete build files (#2406) 2023-10-23 17:01:54 +00:00
weigaryandGitHub ba62d20dad Update an incorrect hyperlink in the NLLB notebook. (#2403)
* Add a notebook example for the NLLB model in model garden

* Add a notebook example for the NLLB model in model garden

* Update an incorrect hyperlink in the NLLB notebook.
2023-10-23 16:30:56 +00:00
KCFindstrandGitHub 50273e9883 Tag PEFT trainer docker in #ModelGarden notebooks. (#2404) 2023-10-20 23:42:07 +00:00
Kelsi LakeyandGitHub d6ab1248e2 Remove tensorboard billing alert from get_started_with_vertex_experiments_autologging.ipynb (#2402) 2023-10-20 23:39:59 +00:00
c6f451c8d1 Patch-4 (#2363)
* Miscellaneous editorial fixes and rebranding to "Vertex AI Feature Store (Legacy)"

* chore: rebrand Legacy Feature Store product

* chore: Rebrand to "Vertex AI Feature Store (Legacy)" and change "ingest" to "import".

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-10-20 22:26:02 +00:00
Andrew FerlitschandGitHub 71f3f12607 fix CI/CD failure (#2398) 2023-10-20 20:51:01 +00:00
Sebastian SchmidtandGitHub c7b9274c2e Display generated images in Image Generator notebook (#2395)
* Display generated images in Image Generator notebook

* Style

* Lint
2023-10-20 18:47:40 +00:00
Kathy YuandGitHub ee46a01c83 Open-source ImageBind serving Docker image. (#2401)
* Open-source ImageBind serving Docker image.

* Update CODEOWNERS to cover ImageBind.
2023-10-20 18:19:35 +00:00
Kathy YuandGitHub d8a6659fd2 Update deployment recommendations in ImageBind notebook. (#2400) 2023-10-20 18:18:55 +00:00
Andrew FerlitschandGitHub b24eb863af migrate to official (#2354)
* migrate to official

* workaround VPC

* fix: missing title
2023-10-20 18:15:59 +00:00
Andrew FerlitschandGitHub a0bebae049 migrate to official (#2355)
* migrate to official

* fix: settings

* workaround VPC
2023-10-20 17:35:46 +00:00
Andrew FerlitschGitHubivanmkc@google.com <ivanmkc@google.com>
1cab2c2d1c rebrand and clean (#2350)
* rebrand and clean

* fix: Added better type checking and fixed misspelling of _GCP_VPC_NETWORK_NAME

---------

Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-10-20 15:50:52 +00:00
Andrew FerlitschandGitHub f0dacd8ccd deprecate to community (#2396) 2023-10-20 12:31:17 +00:00
Andrew FerlitschandGitHub 9b8dd67fc6 clean and rebrand - parallelism (#2338)
* clean and rebrand

* import

* import

* fix: lint

* deprecate: move to community

* fix: lint
2023-10-20 12:30:21 +00:00
Andrew FerlitschandGitHub fe57394773 fix: link (#2393) 2023-10-19 16:58:36 +00:00
Kathy YuandGitHub 6b98f077b7 Add ImageBind notebook. (#2392) 2023-10-19 16:56:50 +00:00
Huguens JeanandGitHub b515719465 Chore: Open source Segment Anything handler and dockerfile to Model Garden. (#2389) 2023-10-19 16:56:06 +00:00
dstnluong-googleandGitHub 0603133c15 Add accelerator suggestions for Vicuna. (#2374)
* Add Vicuna notebook

* Add notebook to CODEOWNERS

* add GPU recs

* replace 33b with 13b-32k

* lint

* Update accelerator count

* Lint

* Add suggested accelerator setup.

* Lint

* Add comment for max_model_len

* remove license line
2023-10-19 16:55:37 +00:00
Andrew FerlitschandGitHub 9901150c5c fix: add missing learn about (#2388) 2023-10-18 19:23:25 +00:00
3d7886eb0b Fix CODEOWNERS change due to merge conflict. (#2390)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-10-18 17:29:54 +00:00
9abb80db28 Add DITO notebook (#2387)
Co-authored-by: minwoopark <minwoopark@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-10-18 16:55:29 +00:00
85e93c8db3 Add OWL-ViT v2 notebook (#2386)
* Add OWL-ViT v2 notebook

* Add OWL-ViT v2 notebook.

---------

Co-authored-by: minwoopark <minwoopark@google.com>
2023-10-18 16:53:24 +00:00
Andrew FerlitschandGitHub df11806ebf fix: missing learn more about (#2384) 2023-10-18 14:16:28 +00:00
Andrew FerlitschandGitHub 57210868ad fix: missing learn more about (#2385) 2023-10-18 12:28:23 +00:00
Jose BracheandGitHub 44fa59f6de Jbrache persistent resource (#2379)
* feat: Committing new example for persistent resources

* feat: Committing new example for persistent resources
2023-10-17 21:32:52 +00:00
Xiang XuandGitHub d397549dac fix streaming (#2378) 2023-10-17 19:42:20 +00:00
Andrew FerlitschandGitHub c45aaff2f1 fix: handling H1 heading (#2383) 2023-10-17 17:47:12 +00:00
Andrew FerlitschandGitHub 88cf9b3278 update indices (#2382) 2023-10-17 17:42:09 +00:00
Matthew TangandGitHub b589216811 Clean up SDK2 Bigframes notebooks (#2362)
* Clean up SDK2 Bigframes notebooks

* Debug ci dependency error

* Remove cell output

* Remove local overrides

* Additional debug

* Re-trigger CI test

* Rerun CI tests

* Rerun CI tests

* Rerun CI tests

* Add tensorflow-io-gcs-filesystem pin

* Fix version pin

* Fix other version pin
2023-10-17 17:05:54 +00:00
Andrew FerlitschandGitHub 7ae85ce5d6 fix: CI/CD failure (#2377)
* fix: CI/CD failure

* deprecate from official

* lint
2023-10-17 15:58:15 +00:00
Andrew FerlitschandGitHub 0ad3530420 Debug CI/CD failure (#2375)
* Debug CI/CD failure

* change TF11 to TF12

* Update get_started_with_custom_training_autologging_local_script.ipynb

try 2.10

* valid TF12
2023-10-16 23:36:47 +00:00
Andrew FerlitschandGitHub 58547f4630 CI/CD: debug fail (#2346)
* CI/CD: debug fail

* unhardcode the PROJECT_ID
2023-10-16 23:36:02 +00:00
Sebastian SchmidtandGitHub 4fca43d63d Update MediaPipe Image Generator notebook with latest changes (#2372) 2023-10-16 16:40:25 +00:00
KCFindstrandGitHub 8a0acfa1b0 Remove misleading prompt output from openllama notebook (#2371) 2023-10-13 15:35:24 +00:00
KCFindstrandGitHub 90001d4234 Add custom dataset support to #ModelGarden PEFT notebooks (#2370)
* Add custom dataset support to #ModelGarden PEFT notebooks

* Update OpenLLaMA notebook

* Revert unnecessary change in Llama2 notebook.
2023-10-12 20:10:13 +00:00
sen-samandGitHub 3d4bd5fdfc chore: rebrand "Vertex AI Feature Store (Legacy)", miscellaneous editorial changes, and changing "ingest" to "import" globally. (#2369) 2023-10-12 20:09:17 +00:00
Kathy YuandGitHub 283c0a3727 Add model evaluation to Dolly V2 notebook. (#2368) 2023-10-12 20:08:23 +00:00
Andrew FerlitschandGitHub bbfc2d9114 migrate to official (#2356)
* migrate to official

* fix: os

* fix: review

* fix: review
2023-10-12 00:17:20 +00:00
Kathy YuandGitHub fa1cfbe09b Remove extra print statement in LLaMA 2 notebook. (#2366) 2023-10-11 22:48:51 +00:00
KCFindstrandGitHub c781c9f7ad Update #ModelGarden TFVision notebooks model export docker URI. (#2365) 2023-10-11 22:48:26 +00:00
Huguens JeanandGitHub 4c37f8e43b Update SAM docker URI and accelerator type for vertex endpoint deployment. (#2361) 2023-10-11 22:47:41 +00:00
KCFindstrandGitHub acf5853b98 Add #ModelGarden BiomedCLIP notebook. (#2364) 2023-10-11 19:05:29 +00:00
Julio Anthony LeonardandGitHub 7d086b08e7 Fix typos and sentence (#2359)
Fix a typo and add more clarity to sentences
2023-10-11 12:17:33 +00:00
sen-samandGitHub e4275197ac Miscellaneous editorial fixes and rebranding to "Vertex AI Feature Store (Legacy)" (#2358)
* Miscellaneous editorial fixes and rebranding to "Vertex AI Feature Store (Legacy)"

* chore: rebrand Legacy Feature Store product
2023-10-11 00:35:56 +00:00
Xiang XuandGitHub 8fede82c32 Upgrade deps version for Mistral model (#2351) 2023-10-09 22:53:13 +00:00
Andrew FerlitschandGitHub e598af21ac debug: CI/CD failure (#2347)
* debug: CI/CD failure

* debug: CI/CD failure
2023-10-06 22:24:59 +00:00
Andrew FerlitschandGitHub 682786616c port: kfp2 (#2302)
* port: kfp2

* fix import importer_node

* fix: selector

* fix: format

* lint

* set node

* fix: types

* fix: type

* types

* yaml/json

* yaml/json

* train image

* train image

* key error

* fix: outputs

* fix: outputs

* fix: outputs

* fix: outputs

* fix: outputs
2023-10-06 20:40:51 +00:00
dstnluong-googleandGitHub feee6149a1 Add Vicuna notebook (#2252)
* Add Vicuna notebook

* Add notebook to CODEOWNERS

* add GPU recs

* replace 33b with 13b-32k

* lint

* Update accelerator count

* Lint
2023-10-06 17:57:31 +00:00
Huguens JeanandGitHub bf374c8c5e Fix BioGPT notebook name in Vertex AI Model Garden. (#2344) 2023-10-06 17:29:02 +00:00
Xiang XuandGitHub 7e58fb8471 add streaming to llm notebooks (#2345) 2023-10-06 17:27:22 +00:00
Andrew FerlitschandGitHub 37f75ce3da fix: rebrand (#2342) 2023-10-06 13:45:14 +00:00
Andrew FerlitschandGitHub 2b94e8b51e fix: rebrand (#2343) 2023-10-06 13:43:37 +00:00
Andrew FerlitschandGitHub 0041b7da91 fix: rebrand (#2341) 2023-10-06 13:42:32 +00:00
Andrew FerlitschandGitHub 6de14d11c8 port: kfp2 (#2327)
* port: kfp2

* fix: imports

* fix: v1

* fix: params

* fix: params

* fix: imports

* fix: model upload

* fix: importer node

* fix: artifacts_type

* fix: component paths

* fix: component paths

* fix: component paths
2023-10-06 00:20:50 +00:00
Rajesh ThallamandGitHub 203d2e8a0b Add Mistral models to Vertex AI Model Garden (#2340)
* PyTorch efficient training - refcator code

* Revert "PyTorch efficient training - refcator code"

This reverts commit 90b563a7697b15b4154ac76236b894253dd58f3c.

* Add notebook to deploy Mistral models on Vertex AI

* Add notebook to deploy Mistral models on Vertex AI

* Add notebook to deploy Mistral models on Vertex AI

* Updated notebook to deploy Mistral models on Vertex AI

* Linting fixes

* Adding endpoint cleanup and machine spec

* Updating CODEOWNERS file

* Update linting fixes
2023-10-06 00:02:22 +00:00
Andrew FerlitschandGitHub ca7cb251ec fix: rebrand (#2339) 2023-10-05 23:21:42 +00:00
Andrew FerlitschandGitHub db359011f4 fix: rebrand/clean (#2334) 2023-10-05 22:56:14 +00:00
Andrew FerlitschandGitHub 52313b8fc4 fix: remove redis (#2333) 2023-10-05 22:55:39 +00:00
sen-samandGitHub c6a2c8e673 Update online_feature_serving_and_fetching_bigquery_data_with_feature_store.ipynb (#2331)
Made a minor fix flagged by the PM.
2023-10-05 18:48:08 +00:00
sen-samandGitHub 3e090ce61d Update online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb (#2332)
Minor change (restored the missing "of" in the title).
2023-10-05 18:47:40 +00:00
Huguens JeanandGitHub 8061ce96ed Add BioGPT to Vertex AI Model Garden. (#2323) 2023-10-05 15:51:28 +00:00
5eeb4b1fd9 Add offical notebook for Vertex SDK LLM snippets (#1843)
* Add offical notebook for Vertex SDK LLM snippets

* Updating based on template

* cleanup for linter

* edit notebook

* fix lint

* test checks

* project id

* comply with template

* fix lint

* add pandas import

* fix lint

* fix test error

* Address Andy's comments

---------

Co-authored-by: Yvonne <liyvonne@google.com>
2023-10-05 00:15:02 +00:00
Andrew FerlitschandGitHub bc14aa72b9 fix: CI/CD failure (#2329) 2023-10-04 23:18:20 +00:00
Andrew FerlitschandGitHub c9faf848b2 port: kfp2 (#2328) 2023-10-04 23:17:29 +00:00
Andrew FerlitschandGitHub ea89e8e1f6 port: kfp2 (#2326) 2023-10-04 23:13:08 +00:00
Andrew FerlitschandGitHub aa8e2c6af3 port: kfp2 (#2318)
* port: kfp2

* port: kfp2
2023-10-04 20:28:16 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2529586683 build(deps): bump pillow (#2322)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.0.1 to 10.0.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.0.1...10.0.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 16:38:17 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
66601678e0 build(deps): bump pillow (#2321)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.0.1 to 10.0.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.0.1...10.0.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 16:37:47 +00:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
75da4cfb99 build(deps): bump pillow (#2320)
Bumps [pillow](https://github.com/python-pillow/Pillow) from 9.0.1 to 10.0.1.
- [Release notes](https://github.com/python-pillow/Pillow/releases)
- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst)
- [Commits](https://github.com/python-pillow/Pillow/compare/9.0.1...10.0.1)

---
updated-dependencies:
- dependency-name: pillow
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-04 16:37:09 +00:00
Eric DongandGitHub 7d406848ea feat: feature store 2.0 tutorial (goku) (#2281)
* feat: feature store 2.0 tutorial (goku)

* Complying with the template

* Complying with the template 2

* clarify the notebook description

* clarify the notebook description 2

* address review comments and rename file

* add known issue and change install package

* wait for the sync job to complete, and fix resource conflicts

* address review comments

* address review comments 2

* add a delay for the endpoint to start properly
2023-10-04 01:20:44 +00:00
Eric DongandGitHub 2aea69a022 feat: feature store 2.0 tutorial for feature value fetching (#2283)
* feat: feature store 2.0 tutorial for feature value fetching

* remove 2.0 references and rename file name

* add known issue and change install package

* add sdk; add job check logic; fix cleanup

* address review comments
2023-10-03 20:54:03 +00:00
Andrew FerlitschandGitHub 4a56ab4138 port: kfp2 (#2313) 2023-10-03 14:31:40 +00:00
Andrew FerlitschandGitHub b7c7691c52 kfp: notice (#2312) 2023-10-03 01:50:37 +00:00
Andrew FerlitschandGitHub 57da2a745f kfp: notice (#2311) 2023-10-03 01:50:04 +00:00
Andrew FerlitschandGitHub d0ea048385 fix: notice (#2310) 2023-10-03 01:49:28 +00:00
Andrew FerlitschandGitHub 15537b2ed8 port: kfp2 (#2309) 2023-10-03 01:48:47 +00:00
Andrew FerlitschandGitHub a3239d8b71 port: kfp2 (#2308) 2023-10-03 01:48:10 +00:00
Andrew FerlitschandGitHub 6ecebd2973 port: kfp2 (#2304)
* port: kfp2

* fix: import

* fix: params

* fix: json/yaml
2023-10-02 21:37:01 +00:00
Andrew FerlitschandGitHub c4fe6fad23 deprecate (#2306) 2023-10-02 20:29:36 +00:00
Andrew FerlitschandGitHub a162051187 deprecate (#2305) 2023-10-02 20:18:58 +00:00
Ashley XuandGitHub 0d7d96e09c feat: add BigFrames llm code notebooks in generative_ai (#2290)
* feat: add BigFrames llm code notebooks

* fix: fix the linter and address comments
2023-10-02 17:26:07 +00:00
Huguens JeanandGitHub 5a1549d5cc Open source jax vision transformer to model garden. (#2295) 2023-10-02 16:11:16 +00:00
Kathy YuandGitHub aed9434c7f Add instructions for using L4-24G GPUs to serve LLaMA 2 70B models. (#2303) 2023-10-02 16:00:58 +00:00
Andrew FerlitschandGitHub 5ce45d1222 port: kfp2 (#2300)
* port: kfp2

* port: kfp2

* resolve import issue

* fix import

* fix: import

* fix importer_node
2023-10-02 15:50:18 +00:00
Andrew FerlitschandGitHub 58b8cba1e9 port: kfp2 (#2299)
* port: kfp2

* port: kfp2

* port: kfp2
2023-10-02 15:48:42 +00:00
Andrew FerlitschandGitHub da1e2b17f3 port: kfp2 (#2298)
* port: kfp2

* port: kfp2
2023-10-02 15:47:21 +00:00
Andrew FerlitschandGitHub f98a7aa4d6 port: kfp2 (#2297)
* port: kfp2

* port: kfp2
2023-10-02 15:30:29 +00:00
Andrew FerlitschandGitHub 84393171c2 port: KFP2 (#2296) 2023-09-30 14:53:34 +00:00
Ashley XuandGitHub d7f07167aa feat: add BigFrames gen-ai notebook for a use case about drug (#2291)
* feat: add BigFrames gen-ai notebook for a use case about drug

* fix: sort the imports

* fix: fix the linter checks
2023-09-29 19:05:12 +00:00
Andrew FerlitschandGitHub 2511bb1246 fix: CI/CD failure (#2292)
* fix: CI/CD failure

* fix: CI/CD failure
2023-09-29 16:56:11 +00:00
Andrew FerlitschandGitHub 4e3fbed9f7 missing setting IS_COLAB (#2288) 2023-09-29 15:54:51 +00:00
dstnluong-googleandGitHub 6726b90892 Add train/model_export files for TFVision. (#2279)
* Add TFVision

* Add TFVision to CODEOWNERS

* remove serving.Dockerifle

* build from vertex-ai
2023-09-29 15:51:30 +00:00
weigaryandGitHub f257b2f924 Add a notebook example for the NLLB model in model garden (#2289)
* Add a notebook example for the NLLB model in model garden

* Add a notebook example for the NLLB model in model garden
2023-09-28 22:00:06 +00:00
Andrew FerlitschandGitHub 2ace347737 fix: CI/CD failure (#2284)
* fix: CI/CD failure

* continue to debug

* continue to debug

* fix REGION
2023-09-28 18:28:18 +00:00
Huguens JeanandGitHub 572cbaf8b7 Open source detectron2 handler and trainer scripts and dockerfiles. (#2286) 2023-09-28 15:23:24 +00:00
eb93058f8e Add F-VLM Dockerfiles (#2285)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-09-28 15:22:53 +00:00
Andrew FerlitschandGitHub 45e9a2db9e debug CI/CD internal failure (#2278)
* debug CI/CD internal failure

* fix: CI/CD failure
2023-09-27 20:58:27 +00:00
Andrew FerlitschandGitHub 530b4a6978 fix: cache issue (#2282)
* fix: cache issue

* fix: missing import

* fix: review comments
2023-09-27 20:56:46 +00:00
Andrew FerlitschandGitHub 3a9d88d642 fix: CI/CD failure (#2277) 2023-09-27 15:38:29 +00:00
Andrew FerlitschandGitHub fe5dc2bfbe Update pre-built to prebuilt (#2276) 2023-09-25 18:40:56 +00:00
Mend RenovateandGitHub d4c96f334d chore(deps): update dependency pyupgrade to v3.13.0 (#2066) 2023-09-25 18:30:06 +00:00
Mend RenovateandGitHub 487c04a216 Update python Docker tag to v3.11 (#1345) 2023-09-25 18:20:50 +00:00
Matthew TangandGitHub 45536c644c Make SDK 2.0 bigframes notebook wording consistent (#2274)
* Make SDK 2.0 bigframes notebook wording consistent

* Make learn more in a new line
2023-09-25 14:17:48 +00:00
Andrew FerlitschandGitHub 297d7b7e71 debug: verify works (#2275) 2023-09-25 14:16:15 +00:00
Andrew FerlitschandGitHub 4a9e61a007 feat: SDK2 remote predict (#2259)
* feat: SDK2 remote predict

* fix: 3.10

* fix: py check

* fix: py check

* fix: review comments

* fix: pytorch lightning not support register model
2023-09-22 19:50:52 +00:00
Andrew FerlitschandGitHub ef6c7457c3 fix: CI/CD failure (#2269) 2023-09-22 16:10:14 +00:00
weigaryandGitHub 578287d3ef Add a section to merge a base model with a lora (#2272) 2023-09-22 15:59:48 +00:00
Andrew FerlitschandGitHub 0fb27b69b6 feat: SDK2 remote training (#2258)
* feat: SDK2 remote training

* fix: 3.10

* fix: 3.10

* fix: py check

* fix: py check

* fix: review comments
2023-09-22 12:57:22 +00:00
Andrew FerlitschandGitHub f327bd4bec feat: SDK2 remote tuning (#2260)
* feat: SDK2 remote tuning

* fix: missing pandas

* fix: review comments
2023-09-22 12:54:20 +00:00
xqr-gandGitHub efc37b883e Modify a comment. (#2262) 2023-09-21 22:31:39 +00:00
Matthew TangandGitHub 5e8011040d Add SDK 2.0 Bigframes Tensorflow sample notebook (#2256)
* Add SDK 2.0 Bigframes Tensorflow sample notebook

* Add pip install tensorflow

* Pin version of tensorflow

* Fix comments

* Add link to bigframes documentation
2023-09-21 18:45:55 +00:00
weigaryandGitHub 7189513c27 Make vLLM the default serving option for open llama peft (#2261) 2023-09-21 15:34:08 +00:00
Ray IramaneeratandGitHub ed560893d9 fix: Add REGION to the pipeline init (plus BigQuery region validation step) to make "non-US" region to work (#2245)
* Update automl_tabular_classification_beans.ipynb, add REGION to pipeline init and validate BQ REGION

- Add REGION to pipeline init
- Add validation to BQ REGION against pipeline REGION

* Update automl_tabular_classification_beans.ipynb: Add region to the region validation message to print

* Update automl_tabular_classification_beans.ipynb

* Update automl_tabular_classification_beans.ipynb

* Update automl_tabular_classification_beans.ipynb

* Update automl_tabular_classification_beans.ipynb

Fix lint error: white space around =, order of import
2023-09-21 15:32:26 +00:00
Andrew FerlitschandGitHub 0df92f8127 feat: streaming prediction (#2255)
* feat: streaming prediction

* fix: cleanup

* fix: review comments

* fix: learn about
2023-09-21 13:48:38 +00:00
Andrew FerlitschandGitHub b43d97e2c6 feat: SDK2 tabnet (#2253)
* feat: SDK2 tabnet

* fix: hardcoded project id

* fix: hardcoded project id

* fix: import scikit-learn

* fix: install preview

* fix: installs

* fix: missing TF

* fix: review comments

* fix: todo
2023-09-20 19:39:40 +00:00
Matthew TangandGitHub 5b4f20a1ef Add SDK 2.0 Bigframes Pytorch sample notebook (#2247)
* Add SDK 2.0 Bigframes Pytorch sample notebook

* Fix lint

* Add torch pip install

* Add remote job name constant
2023-09-19 19:03:06 +00:00
dstnluong-googleandGitHub cac8816db7 Add LoRA examples to SD notebook. (#2221)
* Add LoRA examples to SD notebook.

* Add comment to explain taks flag

* fix

* set correct task

* Add LoRA to SD notebook
2023-09-19 16:15:09 +00:00
xqr-gandGitHub 6d00ad9e95 Add embedding new API colab to the official folder. (#2246)
* Add embedding new API colab to the official folder.

* Add more comments.

* Change the description from See from to Learn more
2023-09-19 16:11:33 +00:00
Andrew FerlitschandGitHub 65a5f952c4 fix: post Next (#2250)
* fix: post Next

* fix: lint
2023-09-18 20:53:01 +00:00
Andrew FerlitschandGitHub 6662639e30 update: post-Next (#2249) 2023-09-18 20:34:30 +00:00
Matthew TangandGitHub 461e1e6f8b Add SDK 2.0 Bigframes Sklearn sample notebook (#2238)
* Add SDK 2.0 Bigframes Sklearn sample notebook

* Fix lint

* Unpin python version since py310 is broken for CI

* Rerun lint

* Resolve comments

* Remove local overrides

* Update folder path
2023-09-18 19:02:56 +00:00
Andrew FerlitschandGitHub e27db74595 fix: new model value (#2207) 2023-09-18 16:24:08 +00:00
Eric DongandGitHub e4895da43b fix: investigate a weekly regression error - remove a hardcoded debug code cell (#2244) 2023-09-18 16:16:38 +00:00
David HaleyandGitHub a331687d86 Add missing 'import os' for notebooks in Colab (#2105)
* Add missing 'import os' for Colab

The module is imported, but the Colab instructions restart the kernel
losing the import. Make sure `os` is imported on use.

* Remove redundant import
2023-09-15 14:03:33 +00:00
Huguens JeanandGitHub 54cb49c269 Manually release oss vLLM source code and dockerfiles to model garden. (#2243) 2023-09-14 17:50:00 +00:00
a7a106db51 Add F-VLM training. (#2241)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-09-14 03:22:01 +00:00
Kelsi LakeyandGitHub 0d080632d8 Update Image Classification components to use updated v0.2 container (reduced number of vulnerabilities) (#2242)
* Update preprocess component to use ready-to-go docker container v0.2

* Update load component to use ready-to-go docker container v0.2

* Update train component to use ready-to-go docker container v0.2

* Update transcode csv component to use ready-to-go docker container v0.2

* Update load component to use ready-to-go docker container v0.2
2023-09-14 03:20:39 +00:00
Sebastian SchmidtandGitHub 3b1249eb41 Remove duplicate configuration of project ID (#2240) 2023-09-13 22:44:18 +00:00
genquan9andGitHub 2e9d41266a Minor updatesfor LLaMA2 notebooks with clear instructions (#2239) 2023-09-13 05:24:05 +00:00
Huguens JeanandGitHub b8b6a17836 Manually release oss TIMM source code and dockerfiles to model garden. (#2236) 2023-09-13 05:22:42 +00:00
KCFindstrandGitHub d1b68b2d19 Add Vertex Online Prediction to #MediaPipe #ModelGarden image generation notebook. (#2227) 2023-09-13 05:19:54 +00:00
Sebastian SchmidtandGitHub 9c6ea2571c Add Face Stylizer notebook (#2230)
* Add Face Stylizer notebook

* Remove unused import
2023-09-12 17:59:41 +00:00
Kathy YuandGitHub 3a4c6f6c3a Add language model evaluation to Falcon Instruct + PEFT notebook. (#2231) 2023-09-11 16:21:55 +00:00
dstnluong-googleandGitHub e77aadf64e Fix comments (#2234) 2023-09-11 16:18:13 +00:00
Xiang XuandGitHub dc6949043f fix llama gcs bucket path (#2226) 2023-08-31 22:23:04 +00:00
genquan9andGitHub d9ac568f07 Add instructions to deploy Llama2 13B with multiple V100 (#2224)
* Add instructions to deploy Llama2 13B with multiple V100

* update the prediction reference link
2023-08-31 17:21:08 +00:00
xqr-gandGitHub c32505330c Remove the quiet tag (#2225)
* Demo colab for the embedding model

* Update text_embedding_api_cloud_next_new_models.ipynb

* Update the demo. Update the CODEOWNER.

* Update the links.

* Remove the quiet tag of the pip command
2023-08-30 22:08:23 +00:00
xqr-gandGitHub f5354ad8e8 Update the links to the embedding demo. (#2223)
* Demo colab for the embedding model

* Update text_embedding_api_cloud_next_new_models.ipynb

* Update the demo. Update the CODEOWNER.

* Update the links.
2023-08-30 04:56:13 +00:00
xqr-gandGitHub 0647c1c790 Demo colab for the embedding model (#2222)
* Demo colab for the embedding model

* Update text_embedding_api_cloud_next_new_models.ipynb

* Update the demo. Update the CODEOWNER.
2023-08-30 04:20:52 +00:00
bda6fb06d8 Fixes the build failure (#2195)
* feat: boilerplate reduction 59

* fix: bucket

* spark runtime

* dataproc runtine -> 1.1.20

* updates the build steps + clean up steps

* ran linter test

* adds gcloud components update step for test env + adds needed services in before you begin section

* ran linter test

* moves the gcloud components update to the start + updates experiment fetching

* ran linter test

* updates the aiplatform sdk to the latest

* ran linter test

* removes gcloud components update and adds try except at get_dataframe() method

* ran linter test

* initializes experiment + adds gcloud update + removes try catch

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-29 19:33:36 +00:00
KCFindstrandGitHub 66472e2642 Revise Model Garden MoViNet notebooks (#2220)
* Revise Model Garden MoViNet notebooks.

* Update GPU number in MoViNet notebook docs.
2023-08-29 19:31:33 +00:00
Xiang XuandGitHub 887ed4c9e2 update llama2 (#2219) 2023-08-29 19:30:36 +00:00
Kathy YuandGitHub c9bea5fa06 Add language model evaluation to OpenLLaMA + PEFT notebook. (#2218)
* Add language model evaluation to OpenLLaMA + PEFT notebook.

* Sync lint change to OpenLLaMA + PEFT notebook.
2023-08-29 19:30:03 +00:00
Alexey VolkovandGitHub c8941953a7 Pipeline components - cherry-pick fix: Google-cloud - Vertex_AI - Models - Upload_XGBoost_model - Fixed the file extension (#2217)
* Pipeline components - cherry-pick fix: Google-cloud - Vertex_AI - Models - Upload_XGBoost_model - Fixed the file extension

Cherry-pick of [fix: Google-cloud - Vertex_AI - Models - Upload_XGBoost_model - Fixed the file extension](https://github.com/Ark-kun/pipeline_components/commit/e16ceefd98743165eda70147f75bb4ac0f11d259)

* [Community] Train tabular models with many frameworks - Updated the XGBoost  samples
2023-08-29 12:18:10 +00:00
Xiang XuandGitHub ba91df54ac add llama2 rlhf (#2215) 2023-08-29 01:19:33 +00:00
Yvonne LiandGitHub 8f5f5a6b69 feat: add notebook for next (#2214)
* add notebook for next

* fix lint error

* move file
2023-08-29 01:18:47 +00:00
Xiang XuandGitHub ff1c126df5 fix codellama (#2212) 2023-08-28 21:41:59 +00:00
kathyyu-googleandGitHub d35b3d08c8 Add Dockerfile for language model evaluation harness. (#2209) 2023-08-28 15:37:25 +00:00
Xiang XuandGitHub 5dd9acd84b add codellama (#2210) 2023-08-28 15:36:59 +00:00
Huguens JeanandGitHub 7703378a58 Open source Bytetrack multi object tracking container to model garden. (#2206) 2023-08-25 16:44:29 +00:00
Andrew FerlitschandGitHub f74425e740 feat: RLHF bulk infer (#2203)
* feat: RLHF bulk infer

* fix: review comments

* fix: review comment

* fix: review comment

* update: text-bison@001

* fix: revert change

* fix: colab endpoint
2023-08-24 19:36:13 +00:00
Andrew FerlitschandGitHub ee651d1f22 feat: RLHF tuning (#2202)
* feat: RLHF tuning

* fix: review comments

* fix: review comments
2023-08-24 17:00:05 +00:00
Sebastian SchmidtandGitHub 5128b8c6f2 Sync MediaPipe notebooks with internal versions (#2204)
* Sync MediaPipe notebooks with internal versions

* Fix breakage due to lint

* Lint
2023-08-23 21:05:18 +00:00
Xiang XuandGitHub 80752fb7b8 fix vllm (#2201) 2023-08-23 20:53:42 +00:00
0a4421504e Add Stable Diffusion notebook (#2199)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-23 16:16:45 +00:00
xcchen1andGitHub fe18c65c5b Add StarCoder notebook. (#2198) 2023-08-23 16:16:33 +00:00
Xiang XuandGitHub 27ad9ef273 add vLLM (#2200) 2023-08-23 16:11:33 +00:00
MarkandGitHub 5c6d4b89a0 Add notebook for Tabular Workflow for Forecasting (#2184) 2023-08-23 16:10:44 +00:00
dstnluong-googleandGitHub 20b69adc5c Add OSS checkpoint to YOLOv7 (#2169)
* support yolov7

* Add OSS checkpoint to YOLOv7
2023-08-22 22:36:41 +00:00
dstnluong-googleandGitHub d7e5cf0f85 Switch peft notebooks from vertex-ai-restricted to vertex-ai (#2167) 2023-08-22 22:35:40 +00:00
genquan9andGitHub d94e1b0edf Update instruction to enable NLP API for text moderation (#2194) 2023-08-21 15:50:42 +00:00
KCFindstrandGitHub fab75315ae Add MoViNet action recognition notebook (#2193) 2023-08-18 19:37:26 +00:00
weigaryandGitHub f3be7fac74 Open source Parameter-efficient Fine-tuning (PEFT) containers (#2192) 2023-08-17 23:57:49 +00:00
Krishna Chaithanya MovvaandGitHub df20a2fe50 Fixes the 400 model server issue (#2190)
* fixes the sklearn versions + section structure updates based on template

* ran linter test
2023-08-17 17:29:39 +00:00
Karl WeinmeisterandGitHub 1a9c7011f0 fix: update notebook template comment (#2191)
Add extra # character. This enables users to uncomment the whole cell, versus picking just the right lines to uncomment.
2023-08-17 17:27:27 +00:00
genquan9andGitHub 3eb27ebf71 Polish llama2 notebooks (#2189) 2023-08-17 17:26:29 +00:00
edb90d4255 Fixes the issues from PR#1871 (#2186)
* fix: boilerplate reduction 41

* fix: install

* fix: TFDV version

* fix: increase wait time

* increase wait time

* replace INPUT_GS_PATH with TRAINING_DATASET while copying data in GCS + removes future tense + clean up step for batch job + moves the learn more section above clean up section

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-16 16:42:43 +00:00
dstnluong-googleandGitHub c7332c647b Add Keras YOLOv8 notebook. (#2159)
* Add Keras YOLOv8 notebook.

* List out possible backbones.

* Make expand_dims consistent

* Add function comments and sample dataset

* Fix comment.
2023-08-16 16:36:38 +00:00
genquan9andGitHub 60e0aafbbc update llama2 notebooks with precision mode and override parameters (#2183) 2023-08-15 16:01:01 +00:00
bingatgoogleandGitHub a89991e159 Mg stable diffusion xl (#2179)
* Add the stable diffusion xl notebook

* Fix CODEOWNERS error.

* Minor changes to stable diffusion xl notebook.

* Add workbench link in stable diffusion xl notebook.
2023-08-15 16:00:29 +00:00
weigaryandGitHub 437c23bbdf Add batch prediction examples to the ICN/IOD proprietary models in Mo… (#2171)
* Add batch prediction examples to the ICN/IOD proprietary models in Model Garden

* Update teh IOD documentation to allow users to use up to 8 GPUs in training.

* Resolved comments
2023-08-15 15:59:48 +00:00
dstnluong-googleandGitHub 8730fd6fec Add local inference for Falcon Instruct. (#2174)
* Add local inference for Falcon Instruct

* Lint

* Add memory necessary for falcon 7b

* nit: Typo
2023-08-14 18:34:18 +00:00
dstnluong-googleandGitHub d7caba028c Add local inference instructions to OpenLLaMA (#2172)
* Add local inferences to openllama

* Lint

* model.to is unnecessary

* Remove commented line
2023-08-14 18:33:41 +00:00
9ce9cec0a8 Reduction 88 (#2178)
* fix: boilerplate reduction 88

* fix: install

* fix: reduce dataset size

* fix: > 24hrs

* fix: reduce dataset for testing

* fix: reduce dataset for testing

* updates sklearn and fixes the version, elaborates some existing descriptions and adds updates based on the template

* ran linter test

* changes FILE_NAME to LOCAL_FILE_NAME and adds a clean up step for the local saved model

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-14 17:39:11 +00:00
42bc870ee3 Fixes timestamp issue + Elaborates some text descriptions (#2177)
* fix: boilerplate reduction 33

* fix: project ID

* fix: df type

* fix: uuid

* fix: uuid

* fix: uuid

* fix: uuid

* fix: timestamp

* fixes the timestamp issue + cleans up the descriptions

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-14 16:04:28 +00:00
dstnluong-googleandGitHub 85f4e2b294 Fix YOLOv7 config link (#2175) 2023-08-14 16:00:25 +00:00
genquan9andGitHub 734836b928 Add a notebook for llama2 serving and finetuning with peft, and analyze with vertex text moderation API (#2170)
* Add a notebook for llama2 serving and finetuning with peft, and analyze with vertex text moderation API

* Fix comments
2023-08-14 15:57:31 +00:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
0b13475152 fix: Removed memorystore (#2173)
Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-08-12 18:50:51 +00:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
4320bf500c Added multimodal embeddings (#2164)
* fix: Added multimodal embeddings notebook

* Fixed remaining issues

* Reverted notebooks/official/matching_engine/sdk_matching_engine_create_text_to_image_embeddings.ipynb

* Reduced QPS to 2

* Ran linter

* Added None check

* Fixed header links

* Fixed header text

* GH review fixes

* Removed outputs

* Changed title

* debug

* More fixes

---------

Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-08-11 01:30:05 +00:00
07ec84687e Reduces the max_steps parameter + Textual content updates and fixes (#2168)
* fix: issue 2125

* removes duplicate parameters, reduces max_steps to 100, fixes grammar and updates realted to the writing guidelines

* removes f from the string parameter

* ran linter test

* sets max_steps to 20 and adds lines in the cleanup step to remove the pipeline jobs

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-10 20:49:01 +00:00
Lav RaiandGitHub 06926f8318 Add F-VLM notebook. (#2166) 2023-08-10 20:48:12 +00:00
Krishna Chaithanya MovvaandGitHub 067fab6aba Adds preprocessing steps from the original dataset (#2165)
* adds the preprocessing steps on the original dataset + updates for boiler plate reduction

* ran linter test

* adds project-id and ticks in the sql queries

* ran linter test
2023-08-09 16:25:14 +00:00
Yvonne LiandGitHub b239467901 feat: add generative ai notebooks (#2127)
* add generative ai notebooks

* fix lint

* comment out auth

* comply with official notebook templates

* fix lint + comments

* fix clear output

* fix lint error

* resolve Andy's comments

* remove TODOs

* fix lint

* add code comments

* change we to you
2023-08-08 18:41:22 +00:00
Andrew FerlitschandGitHub 9cb60dc7f8 fix: bad filename (#2162)
* fix: bad filename

* fix: lint
2023-08-08 18:35:19 +00:00
Andrew FerlitschandGitHub 8ad0e435e8 fix: broken links (#2161) 2023-08-08 18:35:07 +00:00
Andrew FerlitschandGitHub e229ba997b fix broken links (#2160) 2023-08-08 18:34:55 +00:00
KCFindstrandGitHub 8f1c79684f Switch movinet and data converter dockers to vertex-ai project (#2158) 2023-08-08 17:45:39 +00:00
LynneandGitHub 1ecb182603 Add OpenCLIP notebook (#2154)
* Add OpenCLIP notebook

* Resolve PR comments.
2023-08-08 04:24:09 +00:00
68452d30ce Typo fixes + Template related updates + Grammar + Dataflow service dependancy (#2155)
* upgrade: boilerplate reduction 38

* fixes the pipeline-root-path typo, adds dataflow api dependency in the before-you-begin section, restructures the sections according to the template, fixes grammar and headings

* ran linter test

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-08 04:23:28 +00:00
Andrew FerlitschandGitHub 2c12bcb257 fix: replace internal links (#2157) 2023-08-07 22:09:58 +00:00
Andrew FerlitschandGitHub 688f748c1e fix: official standard (#2156) 2023-08-07 22:09:53 +00:00
Andrew FerlitschandGitHub 57061d7a7b fix: official standard (#2151) 2023-08-07 22:09:44 +00:00
c26c240570 Add train/serve files for OpenCLIP (#2153)
* Add train/serve files for OpenCLIP

* Fix build path in comment

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-07 17:33:23 +00:00
KCFindstrandGitHub ce1f9080ee Add data converter and movinet code to model garden (#2152)
* Add model garden data converter and movinet code.

* Add movinet and data converter CODEOWNERS.
2023-08-07 17:21:11 +00:00
5909a3dbb1 Update documentation about only 2 GPUs are supported now. (#2150)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-08-04 19:52:12 +00:00
5ec6512c3e feat: boiler plate reduction 54 - bigquery-public-data:ml_datasets.census_adult_income: not exist (#1912)
* feat: boiler plate reduction 54

* fix: bucket

* fix: import os

* ran linter test (#2138)

---------

Co-authored-by: Krishna Chaithanya Movva <krishna.movva@springml.com>
2023-08-04 17:05:17 +00:00
Andrew FerlitschandGitHub c9ff35db22 fix: issue 1898 (#2148) 2023-08-04 01:31:20 +00:00
Andrew FerlitschandGitHub 2dd8729326 fix: deprecated service (#2146) 2023-08-04 01:27:20 +00:00
Andrew FerlitschandGitHub b9e07d9400 fix: issue 2121 (#2145) 2023-08-04 01:25:59 +00:00
9d3c84dbd5 Change default accelerator count. (#2147)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-08-03 21:15:18 +00:00
Andrew FerlitschandGitHub d2b07abdea Mg 1 (#2141)
* update: official requirements

* update: official requirements
2023-08-03 16:46:39 +00:00
dstnluong-googleandGitHub fff45ff60a Revert URI back to vertex-ai-restricted (#2142) 2023-08-03 16:46:09 +00:00
Karl WeinmeisterandGitHub f115e52637 Update copyright year to 2023 in notebook template (#2143) 2023-08-03 16:45:38 +00:00
dstnluong-googleandGitHub 3c7c3f8b3a revert change to docker URI (#2140) 2023-08-02 22:08:12 +00:00
188525acc9 Update deploy machine info. (#2139)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-08-02 22:07:35 +00:00
90da7214c7 Add Pic2Word serving dockerfile and handler (#2134)
* Added Pic2Word notebook to Vertex AI Model Garden.

* Added jismailyan to pic2word notebook codeowners

* Pic2Word update.

* Formatted notebook using lint script.

* Add Pic2Word serving dockerfile and handler.

* Add jismailyan to CODEOWNERS for model OSS pic2word

* Fix filename typo

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-08-01 19:07:27 +00:00
ac4bf93914 Adding video object tracking with Vertex AI IOD endpoint and Bytetrac… (#2098)
* Adding video object tracking with Vertex AI IOD endpoint and Bytetrack to model garden.

* Run vot container locally.

* fix: typo in license

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@gmail.com>
2023-08-01 19:04:08 +00:00
Andrew FerlitschandGitHub 80eefe2043 debug: check if passes 20 - 'float' has no len() (#2044)
* debug: check if passes 20

* fix: len float issue
2023-08-01 01:22:10 +00:00
Andrew FerlitschandGitHub d573c9e7f5 fix: scikit-learn version (#2135) 2023-08-01 01:21:22 +00:00
Andrew FerlitschandGitHub 62f49b91ec fix: install db-dtypes (#2112)
* fix: install db-dtypes

* fix: TF import issue

* fix: TF related import

* debug: import issue

* debug: TF issue

* debug: try again

* fix: install issue

* fix: install within job

* fix: install within job
2023-07-31 20:11:35 +00:00
KCFindstrandGitHub 0901306cf5 Fix #ModelGarden MoViNet notebook links (#2133) 2023-07-31 19:16:24 +00:00
Sebastian SchmidtandGitHub 2dd47e8c70 Add GestureRecognizer and TextClasssifier notebooks (#2129)
* Add GestureRecognizer and TextClasssifier notebooks

* Updates
2023-07-31 17:44:44 +00:00
Andrew FerlitschandGitHub 3e89a23166 fix: CI/CD failure (#2123)
* fix: CI/CD failure

* fix: delete dataset
2023-07-28 23:17:40 +00:00
Andrew FerlitschandGitHub d48692bd4b fix: torch install (#2130)
* fix: torch install

* try again
2023-07-28 23:16:49 +00:00
9fa9fb078e add a separate notebook for falcon instruct peft to be more easy to understand (#2126)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-07-28 15:39:10 +00:00
Daniel Elias BecerraandGitHub e170a5cb5a Add workaround to import BigQuery table for predictions_bigquery_sour… (#2110)
* Add workaround to import BigQuery table for predictions_bigquery_source parameter

* Fix format after running lint

* Comment out optional code block for reference

* Comment out optional code block for reference

* Change env variables
2023-07-28 15:36:40 +00:00
KCFindstrandGitHub a6794907e4 Add #ModelGarden MoViNet Video Clip Classification Notebook (#2119)
* Add #ModelGarden MoViNet video classification notebook.

* Add CODEOWNERS for MoViNet clip classification community notebook.

* Revise #ModelGarden MoViNet VCN notebook
2023-07-27 17:22:10 +00:00
Andrew FerlitschandGitHub fed657b8fb fix: pip install (#2124) 2023-07-26 21:11:03 +00:00
Andrew FerlitschandGitHub c2ca773c27 debug: check if passes 26 (#2050)
* debug: check if passes 26

* fix: setting project ID
2023-07-25 20:41:00 +00:00
Andrew FerlitschandGitHub 228cad82c2 fix: AR not found (#2116) 2023-07-25 00:46:33 +00:00
Andrew FerlitschandGitHub d83ef25cc6 fix: pin gcpc (#2114) 2023-07-25 00:42:59 +00:00
a6439ecb5e Added Pic2Word notebook to Model Garden github (#2026)
* Added Pic2Word notebook to Vertex AI Model Garden.

* Added jismailyan to pic2word notebook codeowners

* Pic2Word update.

* Formatted notebook using lint script.

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-07-24 21:09:23 +00:00
Andrew FerlitschandGitHub 2cbebe604c fix: numpy type (#2117) 2023-07-24 20:40:07 +00:00
Andrew FerlitschandGitHub 432ce2aeb1 fix: AR issue (#2115) 2023-07-24 20:39:32 +00:00
Andrew FerlitschandGitHub 654907ad4d fix: missing install (#2113) 2023-07-24 20:15:40 +00:00
Andrew FerlitschandGitHub 8d0ad548b2 fix: positional params (#2111) 2023-07-24 19:47:55 +00:00
dstnluong-googleandGitHub 0bb5343dca Replace vertex-ai-restricted with vertex-ai for diffusers, keras, and transformers; also remove extraneous <td> (#2099)
* Add train/serve files for keras

* Fix comment and typo.

* Fix dockerfile commands

* Fix dockerfile comment.

* replace vertex-ai-restricted iwth vertex-ai for diffusers, keras, and transformers; also remove extraneous <td>
2023-07-24 18:55:45 +00:00
Andrew FerlitschandGitHub 97a18feba0 fix: branding (#2109) 2023-07-22 13:31:45 +00:00
7200238f4f Update deploy machine information. (#2107)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-07-21 15:34:09 +00:00
genquan9andGitHub d9058c2e4e add a sperate notebook for openllama peft to be more specific (#2106) 2023-07-21 15:33:08 +00:00
dstnluong-googleandGitHub 1b6e663af0 Move frames_to_video_bytes to handler.py (#2104) 2023-07-20 15:30:28 +00:00
Andrew FerlitschandGitHub 5887f400c8 feat: KFP2 pipeline example (#2096)
* feat: KFP2 pipeline example

* Update kfp2_pipeline.ipynb

remove hardwired project ID

* fix: review
2023-07-19 21:12:45 +00:00
dstnluong-googleandGitHub 5e509423a6 support yolov7 (#2037) 2023-07-19 16:55:41 +00:00
dstnluong-googleandGitHub bb61d92f80 Add train/serve files for keras (#2077)
* Add train/serve files for keras

* Fix comment and typo.

* Fix dockerfile commands

* Fix dockerfile comment.
2023-07-18 15:42:07 +00:00
genquan9andGitHub 34431b6511 Fix typos in peft notebooks (#2100)
* fix typos in keras model deployment

* fix types in peft notebook
2023-07-18 15:31:30 +00:00
dstnluong-googleandGitHub ec3ec5a2c1 import urllib in timm notebook (#2101)
* import urllib

* lint
2023-07-18 15:30:59 +00:00
d9f5a40088 fix: boilerplate reduction 76 - training failed - bug filed (#1947)
* fix: boilerplate reduction 77

* fix: lint

* fix: syntax error

* fix: GCS bucket

* Fix GCS bucket

* fix: bucket

* fix: bucket

* fix: correct the model GSC output path (#2102)

---------

Co-authored-by: Eric Dong <itseric@google.com>
2023-07-18 14:18:21 +00:00
713a54815b debug: check if passes 30 - Training failed (#2054)
* debug: check if passes 30

* fix: service account

* fix: pin protobuff version for dependency compatibility (#2097)

---------

Co-authored-by: Eric Dong <itseric@google.com>
2023-07-17 16:10:22 +00:00
Andrew FerlitschandGitHub 06c87bc24d debug: regression failure (#2093)
* debug: internal error

* debug: install dbdtypes

* debug: create repo
2023-07-17 15:57:06 +00:00
Andrew FerlitschandGitHub 75c37416d8 debug: internal error (#2092) 2023-07-17 15:46:49 +00:00
dstnluong-googleandGitHub ad99d0d0c0 Fix local inference when loading weights from GCS (#2090)
* Fix local inference when loading weights from GCS

* remove extra <td>
2023-07-14 22:37:31 +00:00
dstnluong-googleandGitHub c7b3e67989 Remove COCA from available models (#2091) 2023-07-14 22:36:54 +00:00
dstnluong-googleandGitHub 2f7078e6a8 Cleanup IOD proprietary notebook. (#2035)
* Cleanup proprietary IOD notebook

* lint

* fix: aip to aiplatform
2023-07-14 18:18:45 +00:00
dstnluong-googleandGitHub 393bb67645 Cleanup ICN proprietary notebook. (#2034)
* Clean up ICN proprietary notebook

* Lint

* add back region check
2023-07-14 18:18:06 +00:00
genquan9andGitHub b945549ec4 minor updates for peft notebooks with BERT supports (#2089)
* fix typos in keras model deployment

* minor updates for peft notebooks with BERT supports
2023-07-14 18:05:45 +00:00
Xiang XuandGitHub d963893088 remove t5 (#2088) 2023-07-14 18:05:03 +00:00
dstnluong-googleandGitHub 7ffbf0cde7 Add pylintrc to model_oss (#2085) 2023-07-14 18:04:21 +00:00
Sebastian SchmidtandGitHub fb978444f7 Update wording in MediaPipe notebooks (#2084) 2023-07-14 18:03:40 +00:00
dstnluong-googleandGitHub de35525c70 Install entire diffusers repository rather than diffusers package (#2081)
* Install entire diffusers repository rather than diffusers package

* Remove google3 references

* Update diffuser install for serve.Dockerfile

* Add video_utils

* Move common functions to util and video_util.

* Fix dockerfile commands by adding $
2023-07-14 18:02:53 +00:00
Andrew FerlitschandGitHub feb0e6410d feat: add arg for max concurrent notebooks (#2080) 2023-07-14 18:02:01 +00:00
Andrew FerlitschandGitHub 6b1c0b35e8 fix help msg (#2079)
* feat: make rate limit a cmdarg

* review: rename cmd arg

* fix: replace rate_limit with max_threads

* fix: docstring typo
2023-07-14 18:01:36 +00:00
dstnluong-googleandGitHub 04540495f0 Add transformers serve files. (#2075)
* Add transformers serve files.

* Add transformer files to CODEOWNERS

* Add image_format_converter.py to utils

* Add $ to dockerfile example commands.
2023-07-14 18:01:04 +00:00
bingatgoogleandGitHub ad6e554984 Add the stable diffusion 2.1 notebook (#2087) 2023-07-12 20:09:48 +00:00
Andrew FerlitschandGitHub ee52b0487c feat: make rate limit a cmdarg (#2078)
* feat: make rate limit a cmdarg

* review: rename cmd arg

* fix: replace rate_limit with max_threads
2023-07-07 15:58:48 +00:00
Andrew FerlitschandGitHub 89b494b96d Attempt to fix CI/CD issue (#2074)
* Attempt to fix CI/CD issue

* Fix TF import
2023-07-06 21:50:39 +00:00
genquan9andGitHub 5cc8751c20 fix typos in keras model deployment (#2070) 2023-07-06 15:53:11 +00:00
genquan9andGitHub 0a22ad7578 Add model garden peft notebooks for LLMs (#2063)
* add model garden peft notebooks for LLMs

* fix comments and minor update peft notebook descriptions
2023-07-05 15:27:31 +00:00
dstnluong-googleandGitHub 792313cce5 Remove bad parameters for local stable diffusion. (#2062) 2023-06-30 19:52:18 +00:00
Andrew FerlitschandGitHub 27e87047bb fix: lint (#2065) 2023-06-30 17:53:05 +00:00
Xiang XuandGitHub 145b2cab33 add restart (#2064) 2023-06-30 16:22:06 +00:00
Andrew FerlitschandGitHub ca65becfe3 debug: lint (#2061) 2023-06-29 01:36:53 +00:00
Andrew FerlitschandGitHub eeb5a9f6e4 fix: lint (#2059) 2023-06-29 01:35:45 +00:00
Andrew FerlitschandGitHub c5f11d35d5 debug: lint (#2060) 2023-06-29 01:34:23 +00:00
Andrew FerlitschandGitHub 91beb065ff next try at resolving lint issue (#2057) 2023-06-28 19:19:49 +00:00
Huguens JeanandGitHub c22fe20973 add missing pycocotools import (#2058) 2023-06-28 16:27:42 +00:00
Andrew FerlitschandGitHub e97e5ed7cc debug: check if passes 29 (#2053) 2023-06-28 12:55:48 +00:00
Andrew FerlitschandGitHub be98093169 fix: check if passes 24 (#2048)
* fix: check if passes 24

* fix: lint
2023-06-28 12:54:58 +00:00
Andrew FerlitschandGitHub ea8bc3f993 debug: check if passes 23 (#2047) 2023-06-28 12:54:19 +00:00
Andrew FerlitschandGitHub bcacc0d0d4 set pyupgrade to use Python 3.10 for consistency with Docker version (#2055) 2023-06-27 22:01:09 +00:00
Andrew FerlitschandGitHub 656afd3cff debug: check if passes 28 (#2052) 2023-06-27 20:11:13 +00:00
Andrew FerlitschandGitHub e6ae1b185c debug: check if passes 27 (#2051) 2023-06-27 20:10:47 +00:00
Andrew FerlitschandGitHub b0fdf128c3 debug: check if passes 25 (#2049) 2023-06-27 19:40:44 +00:00
Huguens JeanandGitHub 99c4f80558 SAM notebook final qa. (#2039) 2023-06-27 17:43:05 +00:00
Andrew FerlitschandGitHub 71436766d2 debug: check if passes 22 (#2046) 2023-06-27 17:39:30 +00:00
Andrew FerlitschandGitHub 2ad5331658 debug: check if passes 19 (#2043) 2023-06-27 17:13:24 +00:00
Andrew FerlitschandGitHub 83d231ada8 debug: check if passes 18 (#2042) 2023-06-27 17:12:48 +00:00
Andrew FerlitschandGitHub 6479533e29 Check if passes 17 (#2041)
* fix: boulerplate reduction

* fix: IS_COLAB

* fix: IS_COLAB

* debug: check if passes 17
2023-06-27 17:12:22 +00:00
Andrew FerlitschandGitHub 6e7ec746d1 update: lower rate limit (#2036)
per Ivan suggested, change greedy=True to greedy=False
2023-06-27 16:46:05 +00:00
Mend RenovateandGitHub efd08571df chore(deps): update dependency pyupgrade to v3.7.0 (#1986) 2023-06-27 15:38:19 +00:00
Andrew FerlitschandGitHub 44c868c4b4 fix: boilerplate reduction (#2032)
* fix: boulerplate reduction

* fix: IS_COLAB

* fix: IS_COLAB
2023-06-27 15:34:50 +00:00
Alicia WilliamsandGitHub 59f7fa0fd9 Remove allowlist note (#2033) 2023-06-26 23:39:45 +00:00
Andrew FerlitschandGitHub 2c3f2736eb fix: check if passes 16 (#2031) 2023-06-26 19:40:25 +00:00
Andrew FerlitschandGitHub ed54360fc7 fix: check if passes 15 (#2030) 2023-06-26 19:39:48 +00:00
Sebastian SchmidtandGitHub 66506d4269 Add MediaPipe Object Detection Colab to Model Garden (#2025) 2023-06-26 16:20:19 +00:00
099876c411 Remove VIT from the model_type list since it is not supported yet. (#2009)
* Add diffusers train/serve docker files.

* Add two notebook examples for model garden google proprietary ICN/IOD models.

* Reformat the icn/iod notebooks.

* Format the notebook files.

* Remove VIT from the  list since it is not supported yet.

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-06-26 16:14:33 +00:00
Huguens JeanandGitHub bfd36eecbb Cleanup SAM segmentation notebook (#2027)
* Cleanup SAM notebook to:
 - run endpoint/model deployment in separate cell and results visualization in another.
 - add show_predictions function to show overlayed masks.

* Fix typo in SAM model garden notebook.

* Fix typo and cleanup SAM notebook with linter.
2023-06-26 16:13:47 +00:00
Andrew FerlitschandGitHub b82ade00bb fix: stale dataset > 24hrs (#1928)
* fix: stale dataset

* fix: project ID
2023-06-26 12:14:22 +00:00
Andrew FerlitschandGitHub 68f3500196 fix: boilerplate reduction 112 (#2023)
* fix: boilerplate reduction 112

* fix: machine type

* fix: cleanup

* fix: cleanup

* fix: lint

* fix: lint

* fix: exception
2023-06-26 12:13:04 +00:00
Andrew FerlitschandGitHub 74b5b8ce59 fix: boilerplate reduction 18 - > 24hrs (#1844)
* fix: boilerplate reduction 18

* fix: boilerplate reduction 18

* missing import

* fix: create AR repo

* fix: gcloud update
2023-06-23 23:38:38 +00:00
Andrew FerlitschandGitHub 6627f58dac fix: boilerplate reduction 19 - >24hrs (#1845)
* fix: boilerplate reduction 19

* fix: create AR repo

* fix: fb install

* fix: install gcloud

* fix: syntax error
2023-06-23 22:01:39 +00:00
Andrew FerlitschandGitHub 31fdffd56a fix: boilerplate reduction 49 - import protobuf (#1884)
* fix: boilerplate reduction 49

* fix: syntax error

* fix: install

* fix indent

* Update model_monitoring.ipynb

* fix TF install

* TF install

* fix: pin protobuf

* install protobuf

* another attempt at fixing import

* fix: pin versions

* fix: imports

* debug: TF conflict

* fix: user email
2023-06-23 22:01:06 +00:00
Andrew FerlitschandGitHub 15bec0d5ba fix: boilerplate reduction 71 - model path (#1943)
* fix: boilerplate reduction 71

* bucket name

* bucket name

* fix: bucket

* fix: bucket

* fix: storage path

* fix: model path
2023-06-23 22:00:43 +00:00
Andrew FerlitschandGitHub f0a2b16f75 fix: boiletplate reduction 105 (#2016)
* fix: boiletplate reduction 105

* fix: missing REGION

* fix: missing import

* Fix: cleanup
2023-06-23 22:00:28 +00:00
Andrew FerlitschandGitHub 3c6a5b3245 fix: boilerplate reduction 106 (#2017)
* fix: boilerplate reduction 105

* fix: bucket name

* fix: cleanup
2023-06-23 22:00:25 +00:00
Sebastian SchmidtandGitHub 21ba3b0f71 Small content updates for ImageClassification notebook (#2024) 2023-06-23 19:07:33 +00:00
Andrew FerlitschandGitHub d15a635917 fix: boilerplate reduction 111 (#2022)
* fix: boilerplate reduction 111

* fix: TIMESTAMP
2023-06-23 18:36:48 +00:00
dstnluong-googleandGitHub ce18d2a32a Add MaxViT to the TFVision ICN Notebook. (#1974)
* Add MaxViT to TFVision ICN Notebook

* Lint
2023-06-23 17:55:51 +00:00
Andrew FerlitschandGitHub 12cbd5a082 fix: boilerplate 103 (#2010)
* fix: boilerplate 103

* fix: REGION
2023-06-23 17:08:05 +00:00
Andrew FerlitschandGitHub 86fbbdbe01 fix: boilerplate reduction 109 (#2020)
* fix: boilerplate reduction 109

* fix: remove unused code

* fix: train image
2023-06-23 12:34:09 +00:00
Andrew FerlitschandGitHub 191424175e fix: boilerplate reduction 110 (#2021) 2023-06-23 12:32:53 +00:00
Andrew FerlitschandGitHub c544933d44 fix: boilerplate reduction 108 (#2019)
* fix: boilerplate reduction 108

* fix: missing import

* fix: missing import
2023-06-23 12:32:06 +00:00
Andrew FerlitschandGitHub fff8aad453 fix: boilerplate reduction 107 (#2018) 2023-06-23 12:30:58 +00:00
Andrew FerlitschandGitHub 3c3c924917 fix: boilerplate reduction 104 (#2015) 2023-06-23 12:30:01 +00:00
Andrew FerlitschandGitHub a874825e61 fix: check if passes 11 (#2013) 2023-06-23 12:28:58 +00:00
Andrew FerlitschandGitHub 10ca70f9b3 fix: boilerplate reduction 100 (#2005) 2023-06-23 12:27:24 +00:00
Andrew FerlitschandGitHub b640558e09 fix: check if passes 7 (#2004) 2023-06-23 12:26:20 +00:00
Andrew FerlitschandGitHub b5169f96b7 Check passes 10 (#2012)
* fix: check if passes 9

* fix: check if passes 10
2023-06-22 21:19:44 +00:00
Andrew FerlitschandGitHub b7a3c3faed fix: check if passes 9 (#2011) 2023-06-22 19:35:47 +00:00
weigaryandGitHub 9ae5ce3276 Updates to the vision diffusers. (#2008)
* Add diffusers train/serve docker files.

* Updates to the vision diffusers.
2023-06-22 18:11:06 +00:00
Andrew FerlitschandGitHub bce7d73867 fix: check if passes 8 (#2006) 2023-06-22 17:57:16 +00:00
Sebastian SchmidtandGitHub 708861b55c Add MediaPipe Image Classification notebook (#1991)
* Add MediaPipe Image Classification notebook

* Add to Codeowners

* Move to MG Community

* Update notebook

* Remove mediapipe-model-maker
2023-06-22 15:55:10 +00:00
Andrew FerlitschandGitHub 93f36606a2 fix: check if passes #5 (#2001) 2023-06-22 14:48:06 +00:00
Andrew FerlitschandGitHub 373795f9f8 fix: check if passes #4 (#2000) 2023-06-22 14:47:22 +00:00
Andrew FerlitschandGitHub d9bb986997 fix: boilerplate reduction 99 (#2003) 2023-06-22 12:41:40 +00:00
Andrew FerlitschandGitHub 048336b6d2 900 sec timeout - Model.upload (#1984)
* check if passes

* lint: fix

* fix: fix XAI issue
2023-06-22 02:21:46 +00:00
Andrew FerlitschandGitHub 9340737a8e feat: boilerplate reduction 60 - DAG failed (#1918)
* feat: boilerplate reduction 60

* fix: CI/CD failure
2023-06-22 02:20:34 +00:00
dstnluong-googleandGitHub e801ede0c8 Remove "--allow_compression" flag on serving for Yolo models. (#1994)
* Remove --allow_compression for Yolo models.

* Lint
2023-06-21 22:23:02 +00:00
Lav RaiandGitHub 7fce82b608 Add ViT JAX notebook. (#1997)
* Add ViT JAX notebook.

* Add ViT JAX notebook.
2023-06-21 19:06:46 +00:00
Andrew FerlitschandGitHub 20440b6418 fix: boilerplate reduction 72 - DAG failed (#1944)
* fix: boilerplate reduction 72

* fix: region

* data region

* fix: import os

* fix: lint

* fix: lint

* fix: lint
2023-06-21 18:37:11 +00:00
Andrew FerlitschandGitHub ef69968160 fix: boilerplate reduction 82 : custom job not created (#1953)
* fix: boilerplate reduction 82

* fix: IS_COLAB

* fix: AR repo

* fix: indent

* fix: import os

* fix: enable api

* fix: delete AR

* fix: longer pause

* fix: pause
2023-06-21 17:52:46 +00:00
Andrew FerlitschandGitHub 9bbe7c6643 fix: boilerplate reduction 84: NumPy array to a Tensor (#1955)
* fix: boilerplate reduction 84

* install numpy

* fix: numpy type

* add import numpy

* fix: np type

* fix: syntax error
2023-06-21 16:48:24 +00:00
weigaryandGitHub 84875c4814 Notebook (#1996)
* Add diffusers train/serve docker files.

* Add two notebook examples for model garden google proprietary ICN/IOD models.

* Reformat the icn/iod notebooks.

* Format the notebook files.
2023-06-21 16:23:05 +00:00
Anthony TripaldiandGitHub 28fb284400 Update broken link for data format (#1992) 2023-06-21 15:37:41 +00:00
Andrew FerlitschandGitHub 441e4e7965 fix: check if passes - training failed - no model (#1988)
* fix: check if passes

* fix: import tf
2023-06-21 12:27:04 +00:00
weigaryandGitHub 52d1fe548e Add diffusers train/serve docker files. (#1995) 2023-06-21 00:17:03 +00:00
71921231dc Fixed typo and linkback - 900 sec timeout (#1551)
* Update automl_text_classification_model_evaluation.ipynb

* pin components

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-06-21 00:10:35 +00:00
Andrew FerlitschandGitHub 0553f768eb boilerplate reduction #97 (#1990)
* boilerplate reduction #100

* fix: import os

* fix: AR stuff

* fix: syntax error
2023-06-20 23:52:33 +00:00
Andrew FerlitschandGitHub 9a0037bb64 fix: cleanup AR > 24hrs (#1929)
* fix: repo cleanup

* fix: delete AR

* fix: unique repo name

* fix: enable service

* fix: artifact repo create

* fix: create AR repo

* fix: AR create

* fix: IS_COLAB

* fix: gcloud install components

* --quiet option
2023-06-20 21:57:19 +00:00
Andrew FerlitschandGitHub 68aad86385 Check passes 4 (#1989)
* check if passes

* fix: bucket name
2023-06-20 19:14:06 +00:00
Andrew FerlitschandGitHub 520a0b0ae8 fix: boilerplate reduction 85 - BUCKET_NAME (#1956)
* fix: boilerplate reduction 85

* db-dtypes

* fix: pin seaborn

* handle exception

* fix: bucket name
2023-06-20 16:04:00 +00:00
Andrew FerlitschandGitHub 8e817a4ece check if passes (#1985) 2023-06-19 16:05:51 +00:00
Andrew FerlitschandGitHub 7391eed85c Update sdk_custom_tabular_regression_online_explain.ipynb (#1983) 2023-06-19 14:03:23 +00:00
Andrew FerlitschandGitHub 578b118329 Check if passes (#1982) 2023-06-19 14:02:49 +00:00
Andrew FerlitschandGitHub 4bd9d4c54b fix: boilerplate reduction 29 - XAI issue (#1856)
* fix: boilerplate reduction 29

* Fix TF issue, upgrade to 2.11

* Fix: missing cv install

* Update sdk_custom_image_classification_online_explain.ipynb
2023-06-16 19:31:08 +00:00
weigaryandGitHub c97aedf227 Add two additional files to the util directory. (#1981)
* Add the first util class to the vertex-vision-model-garden repo

* Updated file names.

* Delete the 1st incorrect file set.

* Add the codeowners

* Revised the file folder structures.

* Add two additional files to the util directory.
2023-06-16 19:23:32 +00:00
weigaryandGitHub 6bb255bc5f Add the first util class to the vertex_vision_model_garden repo. (#1978)
* Add the first util class to the vertex-vision-model-garden repo

* Updated file names.

* Delete the 1st incorrect file set.

* Add the codeowners

* Revised the file folder structures.
2023-06-16 19:22:51 +00:00
Eric DongandGitHub 5a96b4a335 fix: pin protobuf version to address a dependency compatibility issue (#1980)
* fix: pin protobuf version to address a dependency compability issue

* removed --user install

* update protobuf version

* workaround an artifact registry
2023-06-16 19:18:35 +00:00
Andrew FerlitschandGitHub b502254a10 Weekly index (#1972)
* feat: add build to generate web index of official notebooks

* fix: review comments

* fix: store results

* fix: store results

* fix: --steps

* fix: --steps

* fix: moved to its own dir
2023-06-16 18:26:54 +00:00
ec6ba9ecf0 Add the text2video-zero notebook (#1977)
* Add the text2video-zero notebook.

* Add code owner for text2video-zero.

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-06-16 17:38:36 +00:00
KCFindstrandGitHub 709745f405 Add #ModelGarden text-to-video notebook. (#1973) 2023-06-16 17:36:51 +00:00
Huguens JeanandGitHub 0b1046e6c6 Add Segment Anything (SAM) notebook to model garden community folder. (#1975)
* Add Segment Anything (SAM) notebook to model garden community folder.

* Added SAM notebook to the CODEOWNERS file.
2023-06-16 17:34:19 +00:00
Andrew FerlitschandGitHub f6ae1205dc fix: create AR repo > 24hrs (#1937)
* fix: create AR repo

* fix: gcloud install
2023-06-15 20:53:16 +00:00
ab98cf8b36 fix: boilerplate reduction 67 : training pipeline failed (#1939)
* fix: boilerplate reduction 67

* fix: pin transformers version to avoid Pytorch breaking change (#1979)

---------

Co-authored-by: Eric Dong <itseric@google.com>
2023-06-15 16:41:53 +00:00
Andrew FerlitschandGitHub c60e8d1e3d feat: add build to generate web index of official notebooks (#1971)
* feat: add build to generate web index of official notebooks

* fix: review comments

* fix: store results
2023-06-13 20:08:04 +00:00
Andrew FerlitschandGitHub f1e3b02eb0 fix: boilerplate reduction 73 - DAG failed (#1945)
* fix: boilerplate reduction 73

* fix: region

* import os

* fix: import uuid

* fix: lint
2023-06-13 12:38:39 +00:00
Mend RenovateandGitHub 5885cb3724 chore(deps): update dependency pyupgrade to v3.6.0 (#1969) 2023-06-11 13:40:09 +00:00
Andrew FerlitschandGitHub 9827ae0218 fix: boilerplate reduction 27 - Internal error (#1854)
* fix: boilerplate reduction 27

* fix: import os
2023-06-10 00:19:55 +00:00
Andrew FerlitschandGitHub 712a066981 fix: boilerplate reduction 28 - internal error, try again (#1855)
* fix: boilerplate reduction 28

* fix: import

* fix: XAI TF conflict
2023-06-09 19:34:48 +00:00
Lav RaiandGitHub 5528d1cedc Add llm notebooks (#1968)
* Add Bart-large-cnn and dolly-v2 serving notebooks.

* Add Bart-large-cnn and dolly-v2 serving notebooks.

* Add Bart-large-cnn and dolly-v2 serving notebooks.
2023-06-09 18:35:13 +00:00
Andrew FerlitschandGitHub 155f316588 fix: boilerplate reduction 95 (#1966)
* fix: boilerplate reduction 95

* fix: import os

* fix: install pyspark

* fix: numpy bool
2023-06-09 12:31:40 +00:00
Xiang XuandGitHub 50d13e004d add new (#1961) 2023-06-08 19:44:23 +00:00
Andrew FerlitschandGitHub 03a2717248 fix: boilerplate reduction 94 (#1965)
* fix: boilerplate reduction 95

* fix:  import os

* fix: install pyspark
2023-06-08 17:37:35 +00:00
Andrew FerlitschandGitHub 3d7e0c2861 fix: boilerplate reduction 91 (#1963)
* fix: boilerplate reduction 91

* fix: install scikit-learn
2023-06-08 17:36:45 +00:00
Andrew FerlitschandGitHub de54c3d2dd fix: boilerplate reduction 81 (#1952)
* fix: boilerplate reduction 81

* fix: import os

* fix: import sys
2023-06-08 17:35:39 +00:00
Andrew FerlitschandGitHub d3e066a1ee fix: boilerplate reduction 80 - AR (#1951)
* fix: boilerplate reduction 80

* fix: AR

* fix: AR
2023-06-08 17:31:57 +00:00
Andrew FerlitschandGitHub 669eb0f2e7 fix: boilerplate reduction 83 (#1954) 2023-06-08 17:30:44 +00:00
Andrew FerlitschandGitHub 3618721baf fix: boilerplate reduction 86 (#1957)
* fix: boilerplate reduction 86

* fix: install
2023-06-08 16:17:55 +00:00
Andrew FerlitschandGitHub 9fad2cf0eb fix: boilerplate reduction 87 (#1958) 2023-06-08 16:16:50 +00:00
Andrew FerlitschandGitHub 9b625c143b fix: boilerplate reduction 89 (#1960) 2023-06-08 16:15:36 +00:00
Andrew FerlitschandGitHub 6600309c4a fix: boilerplate reduction 90 (#1962)
* fix: boilerplate reduction 90

* fix: install db-dtypes
2023-06-08 16:14:34 +00:00
Andrew FerlitschandGitHub 1091ec83b4 fix: boilerplate reduction 92 (#1964) 2023-06-08 16:13:39 +00:00
Andrew FerlitschandGitHub a29e1dd50a fix: boilerplate reduction 79 (#1950)
* fix: boilerplate reduction 79

* fix: import os

* fix: IS_COLAB
2023-06-08 16:12:37 +00:00
Andrew FerlitschandGitHub ef7959a7d8 fix: boilerplate reduction 77: TF (#1948)
* fix: boilerplate reduction 77

* TF

* Fix install TF
2023-06-07 20:23:04 +00:00
Andrew FerlitschandGitHub 2d38e7fc3b fix: boilerplate reduction 78 (#1949) 2023-06-07 20:21:41 +00:00
Andrew FerlitschandGitHub 5ac40786f1 fix: create AR repo (#1936) 2023-06-07 19:53:04 +00:00
Andrew FerlitschandGitHub 91ea9c7d4e fix: boilerplate reduction 74 (#1946)
* fix: boilerplate reduction 74

* fix: region

* import os

* fix: import uuid
2023-06-07 19:05:35 +00:00
Andrew FerlitschandGitHub 7de2195b1c fix: boilerplate reduction 70 (#1942) 2023-06-07 14:28:28 +00:00
Andrew FerlitschandGitHub a9ba2062b1 fix: boilerplate reduction 68 (#1940)
* fix: boilerplate reduction 68

* fix: install os

* import sys
2023-06-07 14:27:29 +00:00
Andrew FerlitschandGitHub de46d815b9 fix: train job not using TRAIN_IMAGE (#1938) 2023-06-06 19:36:47 +00:00
Andrew FerlitschandGitHub 6e4fb5396a tune: AR repeaper (#1935) 2023-06-06 17:15:16 +00:00
Andrew FerlitschandGitHub 3d9a462528 feat: delete AR repos (#1932) 2023-06-05 21:31:51 +00:00
Andrew FerlitschandGitHub d0de4f9340 feat: boilerplate reduction 66 (#1926)
* feat: boilerplate reduction 66

* fix bucket name
2023-06-05 21:29:21 +00:00
Andrew FerlitschandGitHub fb42792527 feat: boilerplate reduction 56 (#1914)
* feat: boilerplate reduction 56

* fix: bucket
2023-06-05 15:28:56 +00:00
Andrew FerlitschandGitHub cfaa10834c feat: boilerplate reduction 58 (#1916)
* feat: boilerplate reduction 58

* fix: bucket
2023-06-05 15:28:12 +00:00
Andrew FerlitschandGitHub 5dfc3c29d0 feat: boilerplate reduction 65 (#1924) 2023-06-05 15:27:15 +00:00
rachael-dsandGitHub 91aa0822b9 Updated notebook and readme to include link of now published blog (#1927) 2023-06-05 15:18:16 +00:00
Andrew FerlitschandGitHub b002e7ba2c tune: selecting notebooks (#1908)
* tune: selecting notebooks

* test: add test for select_notebook

* fix: random algo

* test: convert to pytest

* fix: review

* fix: remove path ..

* fix: assert
2023-06-01 21:34:14 +00:00
dstnluong-googleandGitHub c273a4c3a9 Add instructions for selecting operating system (#1920) 2023-06-01 19:33:39 +00:00
Andrew FerlitschandGitHub 07ae15d2e2 feat: boilerplate reduction 56 (#1915) 2023-06-01 12:27:00 +00:00
Andrew FerlitschandGitHub d3e1ede5d2 feat: boilerplate reduction 55 (#1913) 2023-06-01 12:26:03 +00:00
Andrew FerlitschandGitHub 010d294439 feat: boiler plate reduction 53 (#1911) 2023-06-01 12:25:12 +00:00
Andrew FerlitschandGitHub 8b019191b6 feat: boiler plate reduction 52 (#1910)
* feat: boiler plate reduction 52

* fix: install
2023-06-01 12:24:24 +00:00
Andrew FerlitschandGitHub f4cf4339a8 feat: boiler plate reduction 51 (#1909)
* feat: boiler plate reduction 51

* fix: bucket

* fix missing import

* fix: import

* fix: import os
2023-06-01 12:23:28 +00:00
Andrew FerlitschandGitHub fad5a00754 fix: links after rename UJ8 (#1790) 2023-05-30 16:00:50 +00:00
Andrew FerlitschandGitHub c94be301cb feat: results viewer (#1905)
* feat: results viewer

* tune: comment
2023-05-30 15:21:23 +00:00
Andrew FerlitschandGitHub d219a0cae7 cleanup (#1906) 2023-05-26 15:43:15 +00:00
dstnluong-googleandGitHub 879422219c Add notebook for local huggingface inferences. (#1890)
* Add notebook for local inferences for models on huggingface

* lint

* add notebook to CODEOWNERS

* update link

* Add objective section. Add brief description of each code block.
2023-05-26 14:53:07 +00:00
Andrew FerlitschandGitHub ae884f48ba fix: links after rename UJ15 (#1774) 2023-05-26 14:46:03 +00:00
reznitskiiandGitHub c52e657c88 Update sdk-metric-parameter-tracking-for-custom-jobs.ipynb (#1903) 2023-05-25 18:58:35 +00:00
Andrew FerlitschandGitHub 6da5cb1d74 fix: git rendering issue (#1900) 2023-05-25 18:52:47 +00:00
dstnluong-googleandGitHub fb56adc633 Refactor stable diffusion notebook layout (#1895) 2023-05-25 17:08:18 +00:00
reznitskiiandGitHub 8304d32e76 Update sdk-metric-parameter-tracking-for-custom-jobs.ipynb (#1896) 2023-05-25 17:07:08 +00:00
Aaron DietzandGitHub 811f06f992 Updated link and link text to Dataproc Serverless (#1873) 2023-05-25 17:05:53 +00:00
dstnluong-googleandGitHub f092fce2db Update stable_diffusion inpainting notebook with steps for local inference. (#1860)
* Update stable_diffusion notebook with steps for local inference.

* Lint

* Move comments to top and shorten line.

* Lint

* Make code comment titles, add print statements, and update Objective

* change print to display

* lint

* change training dockers to serving dockers

* Add local inferences instructions for stable diffusion inpainting.

* Lint

* remove extra libraries and add GPU

* remove re-imports
2023-05-25 17:04:59 +00:00
Mend RenovateandGitHub c26a7d19c7 chore(deps): update dependency black to v23 (#1498) 2023-05-25 16:59:05 +00:00
Mend RenovateandGitHub e7baf06290 chore(deps): update dependency nbqa to v1.7.0 (#1396) 2023-05-25 16:56:46 +00:00
Andrew FerlitschandGitHub 114a113cb3 add REGION setting to bqclient (#1901)
replace PR 1546
2023-05-25 16:56:16 +00:00
genquan9andGitHub e78068bb79 Update Keras stable diffusion notebooks with cloud notebook template and fix bugs (#1894)
* Update Keras stable diffusion notebooks with cloud notebook template style and fix bugs.

* fix minor typos
2023-05-19 16:21:26 +00:00
d940c93f47 Add new notebook to community folder for BQML inference engine / Vertex AI API integration (#1820)
* Added new bq_ml_with_vision_translation_nlp notebook. Added README. Updated community CODEOWNERS file

* review comment changes - renamed folder, updated headers, reformatted to be more in line with template

* review comment changes - renamed folder, updated headers, reformatted to be more in line with template

* lint formatting fixes

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-05-18 18:12:53 +00:00
genquan9andGitHub 9b336a72f3 Add Keras stable diffusion notebook for model garden (#1891)
* Add Keras stable diffusion notebook for model garden

* Fix minor typos in Keras Stable Diffusion

* Fix format after minor typo fixes

* Update the objective structure

* update minor comments
2023-05-17 23:36:12 +00:00
dstnluong-googleandGitHub dfec25bde7 Add a local inference section to model_garden_pytorch_timm.ipynb (#1888)
* add local inference section to timm notebook

* Lint
2023-05-15 17:12:23 +00:00
Ivan NardiniandGitHub 3fe0889b9a feat: Add custom training integration with experiments notebook (#1887)
* add notebook. linter test passed

* add codeower and fix a typo

* linter test passed

* adding andy reviews

* linter passed
2023-05-15 17:10:28 +00:00
Andrew FerlitschandGitHub 5df1dfcc37 fix: boilerplate reduction 43 (#1874)
* fix: boilerplate reduction 43

* fix: install

* fix: install

* fix: install

* fix: install
2023-05-15 16:28:23 +00:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
2303f110da Fixed incorrect text (#1886)
Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-05-12 23:56:48 +00:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
9ba17b5227 Added Matching Engine + "Vertex Text Embedding API" notebook (#1876)
* Added PaLM ME notebook

* Fixed import error and linted

* More cleanup

* Fixed embedding model

* Added comments

* Renamed and fixed links

* Linted

---------

Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-05-12 22:41:08 +00:00
Andrew FerlitschandGitHub 6ea28621ac feat: read accumulative result files (#1837)
* feat: read accumulative result files

* fix: build results dir

* fix: build results dir

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: selection algo

* fix: debug

* fix: debug

* fix: debug

* fix: debug

* fix: debug

* fix: debug

* fix: debug select algo

* fix: debug select algo

* fix: debug select algo

* fix: debug select algo

* fix: filtering

* fix: review comments

* fix: rm test_filter
2023-05-12 17:44:54 +00:00
Andrew FerlitschandGitHub 5c2bd2a13a fix: boilerplate reduction 50 (#1885) 2023-05-12 17:09:22 +00:00
Andrew FerlitschandGitHub 675a98a005 fix: boilerplate reduction 48 (#1880)
* fix: boilerplate reduction 48

* fix: os

* fix: lint

* fix: import
2023-05-12 14:11:33 +00:00
Andrew FerlitschandGitHub 3d2518b177 fix: boilerplate reduction 47 (#1879)
* fix: boilerplate reduction 47

* fix: dependency
2023-05-12 14:10:34 +00:00
Andrew FerlitschandGitHub cc1a25733b fix: boilerplate reduction 46 (#1878)
* fix: boilerplate reduction 46

* fix: os
2023-05-12 14:09:14 +00:00
Andrew FerlitschandGitHub 2ac6a917af fix: boilerplate reduction 45 (#1877)
* fix: boilerplate reduction 45

* fix: os

* fix: colab
2023-05-12 14:08:05 +00:00
Andrew FerlitschandGitHub 3440690fa8 fix: boilerplate reduction 44 (#1875) 2023-05-12 14:06:19 +00:00
Andrew FerlitschandGitHub 1a4373c3c4 fix: boilerplate reduction 42 (#1872)
* fix: boilerplate reduction 42

* fix: install
2023-05-12 14:05:21 +00:00
Andrew FerlitschandGitHub 529ad0dd8e fix: bolierplate reduction 40 (#1869) 2023-05-12 12:39:32 +00:00
Andrew FerlitschandGitHub beaef16d62 fix: bolierplate reduction 39 (#1868)
* fix: bolierplate reduction 39

* fix: missing os

* fix: missing sys
2023-05-12 12:37:49 +00:00
Andrew FerlitschandGitHub 80d25ef87f upgrade: boilerplate reduction 37 (#1866)
* upgrade: boilerplate reduction 37

* fix: UUID
2023-05-12 12:36:58 +00:00
Andrew FerlitschandGitHub f21ac67fb2 upgrade: boilerplate reduction 36 (#1864)
* upgrade: boilerplate reduction 36

* missing import
2023-05-12 12:35:50 +00:00
Andrew FerlitschandGitHub 8be5a069eb update: boilerplate reduction 35 (#1863) 2023-05-12 12:34:53 +00:00
Andrew FerlitschandGitHub 721269538d Reduction 24 (#1851)
* fix: boilerplate reduction 23

* fix: boilerplate reduction 24
2023-05-10 12:47:10 +00:00
Andrew FerlitschandGitHub 240811979e fix: boilerplate reduction 25 (#1852)
* fix: boilerplate reduction 25

* fix: import

* fix: experiment name

* fix: experiment name

* fix: experiment name

* fix: delete

* fix: log link
2023-05-10 12:45:44 +00:00
Andrew FerlitschandGitHub 435e58884d fix: boiletplate reduction 25 (#1853) 2023-05-10 12:44:33 +00:00
Andrew FerlitschandGitHub f716600b44 fix: boilerplate reduction 30 (#1857)
* fix: boilerplate reduction 30

* fix:missing os
2023-05-10 12:43:27 +00:00
Andrew FerlitschandGitHub c7c573bae3 fix: boilerplate reduction 31 (#1859)
* fix: boilerplate reduction 31

* fix: bucket name
2023-05-10 12:42:44 +00:00
Andrew FerlitschandGitHub ee7dd9b5d8 fix: boilerplate reduction 32 (#1861)
* fix: boilerplate reduction 32

* fix: missing os
2023-05-10 12:41:38 +00:00
Andrew FerlitschandGitHub 42956223f2 fix: boilerplate reduction 23 (#1850) 2023-05-10 12:40:47 +00:00
Andrew FerlitschandGitHub 3b736a24a9 fix: boilerplate reduction 21 (#1848) 2023-05-10 12:39:15 +00:00
henrytanandGitHub 1ab839ac47 Text embedding api (#1858)
* Add text_embedding_api_semantic_search_with_scann notebook.

* Linted version.

* Updating the cell moving the pip install to the top

* Adding shapely<2.0.0.
2023-05-10 00:20:02 +00:00
Mend RenovateandGitHub fe7d3e4b8e chore(deps): update dependency pyupgrade to v3 (#1346) 2023-05-09 21:37:29 +00:00
Andrew FerlitschandGitHub 2c987c1949 fix: boilerplate reduction 20 (#1846) 2023-05-09 21:16:52 +00:00
Andrew FerlitschandGitHub 3f7b3292c1 fix: reduction 17 (#1842)
* fix: reduction 17

* fix: missing installs

* fix: missing installs
2023-05-09 21:16:00 +00:00
Andrew FerlitschandGitHub aaba9fe4e1 fix: reduction 16 (#1841)
* fix: reduction 16

* fix: exception
2023-05-09 21:15:03 +00:00
henrytanandGitHub aa04d7a60d Add text_embedding_api_semantic_search_with_scann notebook. (#1847)
* Add text_embedding_api_semantic_search_with_scann notebook.

* Linted version.
2023-05-09 20:57:10 +00:00
b17709785d Add Dataflow Flex Template component sample (#1839)
* Add Dataflow Flex Template component notebook

* Add get_started_with_dataflow_flex_template_component.ipynb to CODEOWNERS

---------

Co-authored-by: Win Woo <wwoo@google.com>
2023-05-09 19:27:00 +00:00
Andrew FerlitschandGitHub 5362c4ff61 fix: reduction 15 (#1840)
* fix: reduction 15

* fix: reduction 15

* fix: UUID issue
2023-05-09 18:37:54 +00:00
Andrew FerlitschandGitHub 4ce6dbc450 upgrade: boilerplate reduction 6 (#1827)
* upgrade: boilerplate reduction 6

* fix: install

* fix: install

* fix: install

* fix: rm output
2023-05-09 14:52:19 +00:00
Andrew FerlitschandGitHub a5270054b2 update: boilerplate reduction 13 (#1834)
* update: boilerplate reduction 13

* fix: bucket var
2023-05-09 13:12:44 +00:00
Andrew FerlitschandGitHub 30fe41eb2e upgrade: boilerplate reduction #1 (#1822)
* upgrade: boilerplate reduction

* add missing import

* missing DATAREGION

* fix: lint

* fix: unique job id
2023-05-09 13:10:59 +00:00
Xiang XuandGitHub 17b898bd15 fix controlnet (#1838) 2023-05-08 20:44:56 +00:00
Andrew FerlitschandGitHub 6415b1406d update: boilerplate reduction 12 (#1833)
* update: boilerplate reduction 12

* fix: missing bucket
2023-05-08 20:35:45 +00:00
Xiang XuandGitHub bbfddc2dfe fix controlnet (#1836) 2023-05-08 20:14:31 +00:00
Andrew FerlitschandGitHub 59da0b7fa4 update: boilerplate reduction 14 (#1835) 2023-05-08 19:03:10 +00:00
Andrew FerlitschandGitHub 321a7c7deb update: boilerplate reduction 11 (#1832) 2023-05-08 19:02:15 +00:00
Andrew FerlitschandGitHub 386c2f7ab9 update: boiler plate reduction 10 (#1831) 2023-05-08 19:01:07 +00:00
Andrew FerlitschandGitHub feb14aa36c update: boiler plate reduction 9 (#1830)
* update: boiler plate reduction 9

* fix: UUID
2023-05-08 19:00:01 +00:00
Andrew FerlitschandGitHub 44e0c77ddb update: boiler plate reduction 8 (#1829)
* update: boiler plate reduction 8

* fix: rm TIMESTAMP

* fix: import
2023-05-08 18:58:38 +00:00
Andrew FerlitschandGitHub cec6321027 upgrade: boilerplate reduction 7 (#1828) 2023-05-08 18:57:18 +00:00
Andrew FerlitschandGitHub 3cde0c8eab upgrade: boilerplate reduction 2 (#1823)
* upgrade: boilerplate reduction 2

* fix import os
2023-05-08 18:53:29 +00:00
Andrew FerlitschandGitHub 16c010a859 upgrade: boilerplate reduction 5 (#1826) 2023-05-06 00:37:10 +00:00
Andrew FerlitschandGitHub 11bad82468 upgrade: boilerplate reduction 4 (#1825)
* upgrade: boilerplate reduction 4

* fix: os
2023-05-06 00:36:49 +00:00
Andrew FerlitschandGitHub 9a7197a774 upgrade: boilerplate reduction 3 (#1824) 2023-05-06 00:36:05 +00:00
Andrew FerlitschandGitHub c638e6d983 fix: add test percent param (#1821) 2023-05-05 23:07:13 +00:00
dstnluong-googleandGitHub 5651427a97 Update stable_diffusion notebook with steps for local inference. (#1813)
* Update stable_diffusion notebook with steps for local inference.

* Lint

* Move comments to top and shorten line.

* Lint

* Make code comment titles, add print statements, and update Objective

* change print to display

* lint

* change training dockers to serving dockers
2023-05-05 20:04:46 +00:00
Andrew FerlitschandGitHub 6195e7bbf9 Ci cd 2 (#1802)
* update: record tallied results to GCS bucket

* fix: test percent

* update: accumulator support

* fix: use args for where to store results

* fix: args for results file

* fix: gs bucket ptrfix

* fix: tuning args

* fix: ci/cd test on openin artifacts bucket

* fix: 2nd try at bucket issue

* fix: 2nd try at bucket issue

* debug: bucket issue

* debug: bucket issue

* debug: bucket issue

* debug: bucket issue

* debug: bucket issue

* debug: bucket issue

* debug: no entries written

* debug: no entries written

* debug: not accumulating

* debug: not accumulating

* debug: not accumulating

* debug: not accumulating

* Update requirements.txt

* debug: not accumulating

* debug: not accumulating

* debug: matching notebook name

* debug: pandas problem

* debug: import issues

* debug: load

* Update requirements.txt

* Update requirements.txt

* debug: read csv

* debug: read csv

* debug: read csv

* debug: indxer

* debug: indexer

* debug: accum

* debug: accum

* debug: accum

* debug: accum

* debug: accum

* debug: accum

* debug: accum

* debug: casting

* debug: casting

* debug: casting

* debug: casting

* debug: duration nit

* debug: duration nit

* fix: flaky

* fix: BUILD_ID

* fix: BUILD_ID

* fix: BUILD_ID

* fix: BUILD_ID

* fix: BUILD_ID

* fix: BUILD_ID

* fix: BUILD_ID

* fix: review

* fix: review

* fix: review

* fix: biz logic

* fix: biz logic

* fix: review

* fix: build_id required

* fix: use json format

* review: JSON simplifing

* review: JSON simplifing

* update: NotbookExecutionResult updates

* fix: revert to JSON

* update: use util to read from bucket

* fix: remove pandas inmport
2023-05-05 20:03:49 +00:00
Andrew FerlitschandGitHub 2b4f7834b8 feat: MG notebook to finetune BERT (#1815)
* feat: MG notebook to finetune BERT

* review updates
2023-05-05 18:23:48 +00:00
Andrew FerlitschandGitHub 6eadb9199d feat: MG notebook to finetune T5X (#1816)
* feat: MG notebook to finetune T5X

* fix: review comments
2023-05-05 18:23:06 +00:00
Bernie OngeweandGitHub cf9ba17c7d Update tabular_optimized_online_prediction.ipynb (#1819)
Can only set up one Service Networking configuration per _network_. However, we can have multiple VPC networks per project, each with its own Service Networking configuration
2023-05-05 15:22:31 +00:00
KCFindstrandGitHub 384fa2c1b6 Add service account config to TIMM notebook (#1818) 2023-05-05 14:55:29 +00:00
Xiang XuandGitHub 4d24324cc6 fix controlnet (#1817) 2023-05-04 22:45:16 +00:00
Lav RaiandGitHub b1331406a0 Fix format-check and size-check error for detectron2. (#1814)
* Fix format-check and size-check error for detectron2.

* Fix format-check and size-check error for detectron2.
2023-05-04 19:02:19 +00:00
KCFindstrandGitHub cf00491bdc Update Model Garden TFVision notebooks. (#1808)
* Update #ModelGarden TFVision notebooks.

1. Added checkpoints for resnet-50, scaled_yolov4, deeplabv3+
2. Supported launching dockers in europe and asia region.

* Use a smaller batch size to resolve OOM issue
2023-05-04 15:39:53 +00:00
Huguens JeanandGitHub b24de2c375 Add notebook to trigger model garden training with model descriptions. (#1792)
* Trigger Model Garden Training

* Add notebook to trigger model garden training with model descriptions for ip sensitive checkpoints.

* Remove notebook in official folder.

* Fix type in notebook filename.

* Updated notebook description to reflect ip sensitive model garden training for EFFICIENTNET v2 using CLOUD key.

* Updated notebook with model garden specific configs for proprietary checkpoints.

* Linter check.

* Clear notebook's output.
2023-05-04 15:39:24 +00:00
Lav RaiandGitHub 79d80a1f4f Fix format-check and size-check error for stable diffusion inpainting. (#1812) 2023-05-04 00:01:31 +00:00
Xiang XuandGitHub de3e31e037 fix serve (#1811) 2023-05-03 23:20:00 +00:00
Andrew FerlitschandGitHub d45d5fad51 fix links (#1807) 2023-05-01 15:59:33 +00:00
Andrew FerlitschandGitHub 10a9e776b7 there is a regression in later packages (#1809) 2023-04-28 16:37:14 +00:00
Andrew FerlitschandGitHub db80aa4953 Revert "outdated (#1798)" (#1806)
This reverts commit 3d461a8458.
2023-04-27 21:07:59 +00:00
Xiang XuandGitHub f4345ed935 fix gs (#1804) 2023-04-26 22:00:11 +00:00
Lav RaiandGitHub b191b93c7e Fix detectron2 permission errors. (#1803) 2023-04-26 19:55:37 +00:00
gericdongandGitHub 8acf15cccb feat: notebook for text models for explainable AI feature attribution - sampled shapley (#1801)
* feat:notebook for text models for explanable AI feature attribution - sampled shapley

* addressed review comments
2023-04-25 17:52:39 +00:00
Andrew FerlitschandGitHub 8cd372c2d1 fix: nan (#1799)
* fix: nan

* fix: syntax error

* fix: syntax error

* fix: syntax error
2023-04-25 17:31:09 +00:00
Xiang XuandGitHub 447d79a165 add feature to clip (#1800) 2023-04-24 23:58:06 +00:00
Andrew FerlitschandGitHub 3d461a8458 outdated (#1798) 2023-04-24 23:54:49 +00:00
228e2034f7 Add detectron2 notebook (#1783)
* Add model garden pytorch detectron2 notebook

* Add model garden pytorch detectron2 notebook

* Add model garden pytorch detectron2 notebook

* Add model garden pytorch detectron2 notebook

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-04-24 22:03:56 +00:00
Andrew FerlitschandGitHub fd3cc2a2cc update: test_percent and dry_run for weekly regr (#1795)
* update: test_percent for weekly regr

* update: add dry_run and test_percent

* fix: review comment
2023-04-24 21:41:21 +00:00
Andrew FerlitschandGitHub 76a1f49aaa improve install (#1797) 2023-04-24 19:49:46 +00:00
Andrew FerlitschandGitHub cb41dfc8bd test: flaky script (#1794) 2023-04-22 14:53:19 +00:00
Andrew FerlitschandGitHub 9b5e734dca test: list of passing notebooks (#1785)
* test: list of passing notebooks

* test: list of failing notebooks
2023-04-21 19:17:43 +00:00
Andrew FerlitschandGitHub 274ed4ef49 update: search index for migration (#1793) 2023-04-21 15:45:13 +00:00
dstnluong-googleandGitHub 92498e8148 Add 5 additional models to list of verified models. (#1791) 2023-04-21 15:23:50 +00:00
Andrew FerlitschandGitHub ce48820cc1 fix: links after rename UJ7 (#1789) 2023-04-21 12:46:03 +00:00
Andrew FerlitschandGitHub b59e74be8a fix: links after rename UJ9 (#1780) 2023-04-21 12:45:28 +00:00
Andrew FerlitschandGitHub 47579bdb10 fix: links after rename UJ10 (#1779) 2023-04-21 12:44:57 +00:00
Andrew FerlitschandGitHub 761ffc7b17 fix: links after rename UJ2 (#1778) 2023-04-21 12:44:23 +00:00
Andrew FerlitschandGitHub 99cd99b385 fix: links after rename UJ3 (#1777) 2023-04-21 12:43:48 +00:00
Andrew FerlitschandGitHub be783a2ed1 fix: links after rename UJ6 (#1776) 2023-04-21 12:43:25 +00:00
Andrew FerlitschandGitHub 7523b575ab fix: links after rename UJ4 (#1775) 2023-04-21 12:42:39 +00:00
Andrew FerlitschandGitHub 4f5a637cd0 fix: links after rename UJ5 (#1773) 2023-04-21 12:42:06 +00:00
Andrew FerlitschandGitHub 0701ca01a8 fix: links after rename 1 (#1772) 2023-04-21 12:41:39 +00:00
Andrew FerlitschandGitHub 78e0a67cd9 fix: links after rename UJ11 (#1781) 2023-04-20 22:59:08 +00:00
KCFindstrandGitHub 4ef75656a1 Fix typos and invalid properties in TIMM notebook (#1786) 2023-04-20 22:38:43 +00:00
Xiang XuandGitHub f5299da9b0 fix notes (#1787) 2023-04-20 22:37:19 +00:00
Andrew FerlitschandGitHub b986daa72d update: searchable index (#1784) 2023-04-20 20:46:54 +00:00
KCFindstrandGitHub e987dce2ad Add Model Garden Pytorch TIMM notebook (#1760)
* Add model garden pytorch timm notebook

* Add CODEOWNERS for model garden timm notebook

* Fix lint errors on TIMM notebook

* Fix TIMM notebook
2023-04-20 20:02:22 +00:00
Andrew FerlitschandGitHub f2f98cc8ed update: next round of index (#1782) 2023-04-20 19:57:30 +00:00
Xiang XuandGitHub 0661fcc121 fix blip2 (#1771) 2023-04-20 19:20:47 +00:00
Andrew FerlitschandGitHub f4c0fc7781 fix: rename UJ1 (#1757)
* fix: rename UJ1

* fix: lint
2023-04-20 18:22:47 +00:00
Andrew FerlitschandGitHub 8e3db693cb fix: UJ9 (#1770) 2023-04-20 18:22:15 +00:00
Andrew FerlitschandGitHub 0349a9552d fix: UJ8 (#1769) 2023-04-20 18:21:45 +00:00
Andrew FerlitschandGitHub ac1f03dd71 fix: rename UJ7 (#1768) 2023-04-20 18:21:16 +00:00
Andrew FerlitschandGitHub cb18a37b0a fix: rename UJ6 (#1767) 2023-04-20 18:20:51 +00:00
Andrew FerlitschandGitHub 4c8ec05f22 fix: rename UJ5 (#1766) 2023-04-20 18:20:28 +00:00
Andrew FerlitschandGitHub c17df33c7c fix: rename UJ4 (#1765)
* fix: rename UJ4

* fix: lint
2023-04-20 18:20:03 +00:00
Andrew FerlitschandGitHub 543cd66c16 fix: rename UJ3 (#1764) 2023-04-20 18:19:36 +00:00
Andrew FerlitschandGitHub f50dac63eb fix: rename UJ2 (#1763) 2023-04-20 18:19:08 +00:00
Andrew FerlitschandGitHub df979c1c65 fix: rename UJ15 (#1762) 2023-04-20 18:18:21 +00:00
Andrew FerlitschandGitHub 7b49c23eb6 fix: rename UJ14 (#1761)
* fix: rename UJ14

* fix: lint
2023-04-20 18:17:51 +00:00
Andrew FerlitschandGitHub 965835122b fix: rename UJ11 (#1759) 2023-04-20 18:17:22 +00:00
Andrew FerlitschandGitHub 54a34a7122 fix: rename UJ10 (#1758) 2023-04-20 18:17:00 +00:00
Xiang XuandGitHub a701f3b08c fix controlnet (#1756) 2023-04-20 04:44:53 +00:00
59a220cb58 fix: pin kfp and gcpc < 2.0 in rapid_prototyping_bqml_automl (#1755)
* pin kfp in rapid_prototyping_bqml_automl

* downgrade component version

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@gmail.com>
2023-04-20 04:36:39 +00:00
Connor McCarthyandGitHub 098ad42f70 pin kfp in google_cloud_pipeline_components_automl_text (#1748) 2023-04-19 23:01:21 +00:00
Connor McCarthyandGitHub 1f141d0059 pin kfp in google_cloud_pipeline_components_automl_images (#1746) 2023-04-19 19:29:50 +00:00
Andrew FerlitschandGitHub e0a1608783 fix: pin kfp and gcpc < 2.0 (#1738) 2023-04-19 18:37:16 +00:00
Connor McCarthyandGitHub 1a469a09df pin kfp in google_cloud_pipeline_components_automl_tabular (#1747) 2023-04-19 18:14:04 +00:00
Connor McCarthyandGitHub bc3f6d3819 pin kfp in custom_model_training_and_batch_prediction (#1741) 2023-04-19 16:53:23 +00:00
Andrew FerlitschandGitHub f088a3ce69 update (#1736) 2023-04-19 16:52:34 +00:00
Connor McCarthyandGitHub 863660042b pin kfp in custom_tabular_train_batch_pred_bq_pipeline (#1742) 2023-04-19 16:51:11 +00:00
Connor McCarthyandGitHub 7162248267 pin kfp in google_cloud_pipeline_components_model_train_upload_deploy (#1749) 2023-04-19 16:50:43 +00:00
Connor McCarthyandGitHub 2e908a8efa pin kfp in get_started_with_hpt_pipeline_components (#1743) 2023-04-19 16:50:13 +00:00
Connor McCarthyandGitHub 588d2c880e pin kfp in get_started_with_machine_management (#1745) 2023-04-19 16:49:12 +00:00
Connor McCarthyandGitHub 54f10c7411 pin kfp in google_cloud_pipeline_components_model_upload_predict_evaluate (#1750) 2023-04-19 16:48:46 +00:00
Connor McCarthyandGitHub 0c2b9e9f45 pin kfp in multicontender_vs_champion_deployment_method (#1753) 2023-04-19 16:48:21 +00:00
Connor McCarthyandGitHub fe07d416e5 pin kfp in challenger_vs_blessed_deployment_method (#1739) 2023-04-19 16:04:05 +00:00
Connor McCarthyandGitHub 9c69cbfd54 pin kfp in control_flow_kfp (#1740) 2023-04-19 16:03:33 +00:00
Connor McCarthyandGitHub 2a25be6af2 pin kfp in lightweight_functions_component_io_kfp (#1751) 2023-04-19 16:02:52 +00:00
Connor McCarthyandGitHub 9680a7e772 pin kfp in metrics_viz_run_compare_kfp (#1752) 2023-04-19 16:02:03 +00:00
Connor McCarthyandGitHub 30527875ed pin kfp in pipelines_intro_kfp (#1754) 2023-04-19 16:01:36 +00:00
8c11e19d86 Update service accounts and permissions info in the Wide and Deep notebook (#1737)
Co-authored-by: Yishan Pu <yishanpu@google.com>
2023-04-19 15:24:34 +00:00
f44f51c06d Update the service accounts and permissions info in the TabNet notebook (#1734)
Co-authored-by: Yishan Pu <yishanpu@google.com>
2023-04-18 16:06:42 +00:00
840b537ea6 Update the E2E AutoML Notebook regarding the service accounts and permissions info (#1731)
Co-authored-by: Yishan Pu <yishanpu@google.com>
2023-04-17 23:16:28 +00:00
Xiang XuandGitHub d2602b944f Add blip2 notebook (#1730)
* add blip2

* resolve comments
2023-04-17 23:14:34 +00:00
Xiang XuandGitHub bb39135946 fix owlvit (#1729) 2023-04-17 15:19:36 +00:00
gericdongandGitHub cb72a56e55 feat: PyTorch train and deploy E2E with pre-built containers (#1728)
* feat: PyTorch train and deploy E2E with pre-built containers

* address review comments

* address review comment 2

* suppress gsutil warning messags

* Use unique names

* Corrected the project id template
2023-04-17 14:56:43 +00:00
Andrew FerlitschandGitHub eee97362d0 fix: migrate tabnet (#1727)
* fix: migrate tabnet

* fix: describe

* updates from review
2023-04-13 21:09:23 +00:00
Ivan NardiniandGitHub a92c5be0e9 feat: delete outdated tensorboard experiments (#1723)
* add delete outdated tensorboard experiments notebook

* update CODEOWNERS

* fix aiplatform import

* linter passed

* set a flag varible to pass test

* linter passed

* add andy review

* linter passed
2023-04-13 15:57:43 +00:00
Xiang XuandGitHub 80707a3ba7 fix clean (#1725) 2023-04-12 20:28:00 +00:00
903f69b81c feat: PyTorch training with GCS data (#1705)
* feat: PyTorch training with GCS data

* fix kernel restart

* per reviewer

* Added requirements section

* fixes for build

* lint, build

* per reviewer

* linter again

* per reviewer

* per reviewer, linter

---------

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-04-12 17:39:39 +00:00
Andrew FerlitschandGitHub 40a31daaef Revert "update: thread safe limiter (#1718)" (#1724)
This reverts commit 37ba322412.
2023-04-12 16:33:16 +00:00
Andrew FerlitschandGitHub 37ba322412 update: thread safe limiter (#1718)
* update: thread safe limiter

* update: thread safe limiter

* fix: missing install
2023-04-12 00:05:36 +00:00
Xiang XuandGitHub ee43400e89 fix clean (#1719) 2023-04-11 22:59:00 +00:00
Xiang XuandGitHub 176c3721fd fix pytorch notebooks (#1717) 2023-04-11 22:01:56 +00:00
Andrew FerlitschandGitHub 1d6f9bc36b fix: exception (#1714)
* fix: exception

* fix: exception

* fix: exception

* fix: exception
2023-04-11 20:40:22 +00:00
dstnluong-googleandGitHub 973ecf95e7 Fix retinanet_spinenet143 experiment args in IOD notebook to use correct config file. (#1716)
* Minor nit fixes for model garden tfvision IOD notebook.

* Sync

* Lint

* Fix retinanet_spinenet143 experiment args in IOD notebook to use correct config file.
2023-04-11 20:22:29 +00:00
Xiang XuandGitHub 1f2adec703 fix prediction routes (#1715) 2023-04-11 19:33:17 +00:00
Xiang XuandGitHub 9843c1f063 fix image url (#1711) 2023-04-11 16:06:14 +00:00
KCFindstrandGitHub 5afdc3524a Add a trailing slash to Model Garden ICN notebook checkpoint destination URI (#1710) 2023-04-11 16:04:58 +00:00
Andrew FerlitschandGitHub 770508b4f0 fix: delete experiment and fs (#1709)
* fix: delete experiment and fs

* fix False typo

* fix: 2nd try at Falsee typo

* fix: update_time
2023-04-10 21:56:20 +00:00
Xiang XuandGitHub 987881e887 fix links (#1708) 2023-04-10 14:44:21 +00:00
Andrew FerlitschandGitHub 8e53b623e5 fix: migrate vizier notebook (#1706)
* fix: migrate vizier notebook

* fix: review comment
2023-04-07 06:55:57 +00:00
Andrew FerlitschandGitHub 948537e1d4 fix: migrate machine management (#1707)
* fix: migrate machine management

* remove not per review
2023-04-06 20:57:29 +00:00
Andrew FerlitschandGitHub 4338b1d90b fix: unique str (#1692)
* fix: unique str

* fix: lint

* fix cleanup
2023-04-06 12:43:38 +00:00
Andrew FerlitschandGitHub b7a41637ea fix: unique str (#1693)
* fix: unique str

* Fix cleanup
2023-04-06 12:43:03 +00:00
Andrew FerlitschandGitHub c8f7b910f2 fix: add back missing not (#1687) 2023-04-05 22:48:40 +00:00
Andrew FerlitschandGitHub 1e226a3419 fix: unique str (#1701) 2023-04-05 20:38:22 +00:00
Andrew FerlitschandGitHub 287f70abc2 fix: unique dtr (#1700) 2023-04-05 20:37:37 +00:00
Andrew FerlitschandGitHub 8e9d664d88 fix: unique dtr (#1699) 2023-04-05 20:36:29 +00:00
Andrew FerlitschandGitHub 166a407b8d fix: unique str (#1698) 2023-04-05 20:35:29 +00:00
Andrew FerlitschandGitHub 72f9ba7647 fix: unique str (#1697) 2023-04-05 20:34:41 +00:00
Andrew FerlitschandGitHub 24549bc506 fix: unique str (#1696) 2023-04-05 20:33:46 +00:00
Andrew FerlitschandGitHub dc4efb0c63 fix: unique str (#1694) 2023-04-05 20:33:04 +00:00
Andrew FerlitschandGitHub b8c6cc29b4 fix: unique str (#1702) 2023-04-05 20:31:59 +00:00
Andrew FerlitschandGitHub 3b6d2e02d0 fix: unique str (#1703) 2023-04-05 20:31:18 +00:00
Andrew FerlitschandGitHub f33adcea80 fix: fine tune unique (#1704) 2023-04-05 20:30:51 +00:00
Andrew FerlitschandGitHub 5b6063b8a8 fix: unique str (#1695) 2023-04-05 18:56:37 +00:00
Andrew FerlitschandGitHub 1857b23556 fix: unique str (#1691) 2023-04-05 18:55:52 +00:00
Andrew FerlitschandGitHub 86d85ca555 fix: unique str (#1690) 2023-04-05 18:55:18 +00:00
Andrew FerlitschandGitHub 67b50fda2c fix: update unique str (#1689) 2023-04-05 18:54:34 +00:00
dstnluong-googleandGitHub 0d5cb22491 Minor nit fixes for model garden tfvision IOD notebook. (#1684)
* Minor nit fixes for model garden tfvision IOD notebook.

* Sync

* Lint
2023-04-05 16:52:32 +00:00
c030d1d79c Undeploy endpoint before deleting a model. (#1685)
Co-authored-by: minwoopark <minwoopark@google.com>
2023-04-04 20:53:53 +00:00
Andrew FerlitschandGitHub 702e6fc262 feat: migrate custom train XGBoost (#1665)
* feat: migrate custom train XGBoost

* fix: review comments
2023-04-04 20:47:49 +00:00
Andrew FerlitschandGitHub 3b2c58821e feat: migrate hpt pipeline components (#1673) 2023-04-04 19:28:52 +00:00
Aaron DietzandGitHub 6b302d6ac8 Updated BigQuery ML link to be more targeted (#1683) 2023-04-04 17:00:48 +00:00
Andrew FerlitschandGitHub 78b2aa87f3 Cleanup bucket (#1682)
* fix: cleanup buckets

* fix: review comments

* fix: review comments

* fix: delete only vertex notebook testing buckets

* fix: fine tune

* fix: fine tune
2023-04-03 22:38:31 +00:00
Andrew FerlitschandGitHub 0b9582341c fix: cleanup buckets (#1679)
* fix: cleanup buckets

* fix: review comments

* fix: review comments

* fix: delete only vertex notebook testing buckets

* fix: fine tune
2023-04-03 21:29:35 +00:00
Andrew FerlitschandGitHub 2869cdb021 feat: migrate hpt distributed (#1672)
* feat: migrate hpt distributed

* fix: lint

* Update distributed_hyperparameter_tuning.ipynb
2023-04-03 19:10:34 +00:00
Xiang XuandGitHub 7b2e54bbfb fix broken names (#1681) 2023-04-03 19:04:10 +00:00
KCFindstrandGitHub 32ada1378b Make #ModelGarden TF Vision notebooks compatible with Python 3.7. (#1678) 2023-04-03 16:13:16 +00:00
Aaron DietzandGitHub 2581d90588 Updated link for BQ ML. (#1677) 2023-04-03 16:06:42 +00:00
Xiang XuandGitHub aa3aa7335f fix links (#1676) 2023-04-03 16:05:57 +00:00
Andrew FerlitschandGitHub 7028fa896e feat: migrate hpt for XGBoost (#1671) 2023-03-31 18:01:46 +00:00
Xiang XuandGitHub 9e599ac03f add clip notebooks (#1674) 2023-03-31 17:33:35 +00:00
Xiang XuandGitHub 284fabb30e add image-captioning and vqa notebooks (#1669) 2023-03-30 20:48:29 +00:00
genquan9andGitHub aee8d9fa86 Fix workbench links for icn/iod/isg notebooks (#1670)
* fix workbench links for iod/isg notebooks

* update icn workbench links as well
2023-03-30 20:46:28 +00:00
KCFindstrandGitHub 91606af0f0 Add init_checkpoints to the Model Garden TF Vision ICN notebook. (#1667) 2023-03-30 18:33:09 +00:00
Andrew FerlitschandGitHub 81ffae5a44 feat: migrate custom train and model registry (#1666) 2023-03-30 17:38:24 +00:00
KCFindstrandGitHub c1c95e5e3c Add different model configs to the Model Garden TF Vision ICN notebook. (#1662) 2023-03-30 17:04:17 +00:00
Andrew FerlitschandGitHub 7bd3814dd9 quotas still exceeded, reduce rate limit (#1661) 2023-03-30 17:03:53 +00:00
genquan9andGitHub 66f3d8497d Add model garden isg notebooks (#1654)
* add model garden isg notebooks

* fix minor style issues
2023-03-30 17:03:30 +00:00
Alexander BieniekandGitHub 8d80062253 Specifying Python Version and Pinning Dependencies for pytorch_image_classification_with_prebuilt_serving_containers.ipynb (#1649)
* specifying python version and pinning dependencies

* running linter
2023-03-30 17:03:04 +00:00
Andrew FerlitschandGitHub b9fff2e5e8 feat: migrate AutoML TSE for batch (#1663) 2023-03-30 17:02:19 +00:00
Andrew FerlitschandGitHub df6ffb7a48 feat: migrate AutoML TEE for batch (#1664) 2023-03-30 17:02:19 +00:00
Ivan CheungandGitHub 84d7b17098 Merge pull request #1660 from GoogleCloudPlatform/imkc--matching-engine-analytics
Added tracking pixels to matching engine notebooks
2023-03-27 19:00:25 +00:00
ivanmkc@google.com 7ce3015958 Ran linter 2023-03-27 14:36:32 -04:00
ivanmkc@google.com 0aafebdff3 Added tracking pixels 2023-03-27 14:34:12 -04:00
Andrew FerlitschandGitHub eaddeb62d7 Merge pull request #1653 from aarondietz234/notebook-updates
Updated Vertex AI Workbench link
2023-03-24 22:29:20 +00:00
Andrew FerlitschandGitHub 3b919c1e7d Merge pull request #1651 from genquan9/mg
Add model garden iod notebook
2023-03-24 22:28:30 +00:00
Andrew FerlitschandGitHub ff6a43cbad Merge branch 'main' into mg 2023-03-24 15:27:30 -07:00
genquan9 c03b0343d0 remove redundant headers 2023-03-24 22:10:35 +00:00
genquan9 bbabed68b8 delete custom and hpt jobs 2023-03-24 22:03:28 +00:00
Aaron Dietz 858fed1b07 Updated Vertex AI Workbench link 2023-03-24 22:01:53 +00:00
genquan9 2bbb773eef Fix IOD notebook comments 2023-03-24 21:50:09 +00:00
genquan9 0d8df106ef Add more comments and model selections 2023-03-24 20:02:53 +00:00
genquan9 749eb6eb74 add model garden iod notebook 2023-03-24 16:04:14 +00:00
Andrew FerlitschandGitHub 71d01b8dcd Merge pull request #1650 from xiangxu-google/xiangxu_controlnet
Add controlnet notebook for model garden
2023-03-24 15:35:47 +00:00
Andrew FerlitschandGitHub 56a0605ba1 Merge pull request #1615 from GoogleCloudPlatform/eval_steps_fix
fix: tabular to text
2023-03-24 15:32:07 +00:00
Andrew FerlitschandGitHub 368152fdcb Merge pull request #1647 from gericdong/b1454
chore: cleanup distributed training notebook
2023-03-24 15:31:32 +00:00
gericdong 86e9323847 addressed review comments 2023-03-24 08:33:20 -04:00
xiangxu ce90f9b07d add controlnet 2023-03-24 03:21:14 +00:00
Andrew Ferlitsch a6450646bd fix: get eval by id 2023-03-24 02:01:18 +00:00
Andrew FerlitschandGitHub 7117ab3023 Merge pull request #1639 from GoogleCloudPlatform/automl_iod_predict
feat: automl object detection predict
2023-03-23 22:00:04 +00:00
gericdong 5486fae2e6 chore: cleanup distributed training notebook 2023-03-23 17:04:43 -04:00
Andrew FerlitschandGitHub 83047c3604 Merge pull request #1646 from xiangxu-google/fix_link
Fix links for pytorch OSS notebooks
2023-03-23 20:50:21 +00:00
Andrew FerlitschandGitHub 416ec5081c Merge pull request #1645 from genquan9/mg
fix colab/workbench links for icn notebooks
2023-03-23 20:49:46 +00:00
xiangxu 72cd14c7f9 fix links 2023-03-23 20:30:23 +00:00
genquan9 23f7217a5e fix colab/workbench links 2023-03-23 20:17:12 +00:00
Andrew FerlitschandGitHub 81df7b2103 Merge pull request #1644 from genquan9/mg
Remove reductant information, and fix typo for ICN notebooks
2023-03-23 19:36:05 +00:00
genquan9 db8e4aa3b1 Remove reductant information, and fix typo for ICN notebooks 2023-03-23 18:57:24 +00:00
gericdongandGitHub 5834bdf57b Merge pull request #1640 from GoogleCloudPlatform/automl_iod_edge
feat: automl object detection edge
2023-03-23 18:41:45 +00:00
Andrew FerlitschandGitHub 25484d8244 fix spelling 2023-03-23 11:12:21 -07:00
Andrew FerlitschandGitHub 77b33d1f54 fix link 2023-03-23 11:09:31 -07:00
Andrew FerlitschandGitHub 71376764a4 Merge pull request #1641 from GoogleCloudPlatform/andrewferlitsch-patch-11
remove invalid property
2023-03-23 16:07:39 +00:00
Andrew FerlitschandGitHub 5252708bff remove invalid property 2023-03-23 08:21:00 -07:00
Andrew FerlitschandGitHub 58fe261d12 Merge pull request #1469 from GoogleCloudPlatform/dependabot/pip/community-content/pytorch_image_classification_distributed_data_parallel_training_with_vertex_sdk/trainer/torch-1.13.1
Build(deps): Bump torch from 1.8.1 to 1.13.1 in /community-content/pytorch_image_classification_distributed_data_parallel_training_with_vertex_sdk/trainer
2023-03-23 01:12:53 +00:00
Andrew FerlitschandGitHub 3932db4033 Merge pull request #1638 from genquan9/mg
Fix input train and val data path in ICN notebook
2023-03-23 01:11:21 +00:00
Andrew FerlitschandGitHub 3d276d9bd4 Merge pull request #1637 from xiangxu-google/xiangxu_instructpix2pix
Add instruct-pix2pix notebook to model garden
2023-03-23 01:10:31 +00:00
Andrew Ferlitsch 3a09e269a8 feat: automl object detection edge 2023-03-23 01:07:25 +00:00
Andrew Ferlitsch 50efecfaab feat: automl object detection predict 2023-03-23 01:00:32 +00:00
xiangxu 4c68aff8b3 add instruct-pix2pix notebook 2023-03-23 00:10:20 +00:00
genquan9 1f8f05d6d9 fix input train and val data path 2023-03-22 23:46:23 +00:00
Andrew FerlitschandGitHub bd03ae7831 fix for CI/CD testing 2023-03-22 16:17:25 -07:00
Andrew FerlitschandGitHub d131ab5874 Merge pull request #1636 from genquan9/mg
Set default model garden dockers for ICN notebooks
2023-03-22 22:57:36 +00:00
Andrew FerlitschandGitHub 865c2fb868 Merge pull request #1634 from xiangxu-google/xiangxu_stable_diffusion
Add stable diffusion notebooks to community model garden
2023-03-22 22:56:08 +00:00
Andrew FerlitschandGitHub 5cca6edccd Merge pull request #1537 from GoogleCloudPlatform/doc_tag_12
update tag/linkback #12 b/270404719
2023-03-22 22:53:31 +00:00
xiangxu ccdb24c145 add stable diffusion notebooks 2023-03-22 21:21:38 +00:00
genquan9 90480c3be5 reset default dockers 2023-03-22 20:45:21 +00:00
Andrew FerlitschandGitHub 943df70b47 Merge pull request #1635 from gericdong/b262311942
chore: update the feature store notebook to the template
2023-03-22 20:43:47 +00:00
gericdong 3637c8b3d7 chore: update feature store notebook to the latest template 2023-03-22 16:22:47 -04:00
Andrew FerlitschandGitHub 80fe1e5e02 Merge pull request #1632 from GoogleCloudPlatform/andrewferlitsch-patch-8
fix install
2023-03-22 17:29:34 +00:00
Andrew FerlitschandGitHub 1a59543d01 Merge pull request #1631 from GoogleCloudPlatform/andrewferlitsch-patch-7
fix install
2023-03-22 17:29:19 +00:00
Andrew FerlitschandGitHub e99629c42e Merge pull request #1621 from GoogleCloudPlatform/automl_image_batch
feat: automl image batch predict
2023-03-22 16:48:46 +00:00
Andrew FerlitschandGitHub dd774e1f02 Merge pull request #1620 from GoogleCloudPlatform/automl_icn_online
feat: automl image prediction
2023-03-22 16:47:55 +00:00
Andrew FerlitschandGitHub 31dd31e3d4 Merge pull request #1630 from GoogleCloudPlatform/andrewferlitsch-patch-6
fix --user in template
2023-03-21 22:29:09 +00:00
Andrew FerlitschandGitHub ca61199c03 Merge pull request #1633 from GoogleCloudPlatform/andrewferlitsch-patch-9
further lower rate limit
2023-03-21 22:28:20 +00:00
Andrew FerlitschandGitHub 3e0a6634a6 further lower rate limit 2023-03-21 15:03:37 -07:00
Andrew FerlitschandGitHub e45cfa6d16 fix install 2023-03-21 14:43:30 -07:00
Andrew FerlitschandGitHub dfabe38846 fix install 2023-03-21 14:38:27 -07:00
Andrew Ferlitsch 6b9a54d59e fix: lint 2023-03-21 21:35:48 +00:00
Andrew FerlitschandGitHub 2b1f97b1da fix --user in template 2023-03-21 14:18:01 -07:00
Ivan CheungandGitHub 65f5a95ac5 Merge pull request #1629 from GoogleCloudPlatform/revert-1627-imkc--tracking-pixel
Revert "WIP analytics"
2023-03-21 20:57:33 +00:00
Ivan CheungandGitHub 0441a3792e Revert "WIP analytics" 2023-03-21 16:46:06 -04:00
Andrew FerlitschandGitHub 3828455354 Merge pull request #1628 from rastringer/patch-1
Update sdk_matching_engine_create_stack_overflow_embeddings.ipynb
2023-03-21 17:51:58 +00:00
Andrew FerlitschandGitHub d38dfe79d9 Merge pull request #1627 from GoogleCloudPlatform/imkc--tracking-pixel
WIP analytics
2023-03-21 17:51:29 +00:00
Andrew FerlitschandGitHub 4ccc40db70 Merge pull request #1624 from GoogleCloudPlatform/imkc--text-to-image-matching-engine-safe-search
Matching engine text-to-image: Added explicit image detection
2023-03-21 17:50:29 +00:00
ivanmkc@google.com 330886448b Tweak 2023-03-21 13:12:28 -04:00
ivanmkc@google.com 1990422749 Ran linter 2023-03-21 13:07:24 -04:00
Andrew FerlitschandGitHub 34eda2a7ca Merge pull request #1625 from genquan9/mg
Add a notebook for model garden tfvision image classification.
2023-03-21 16:42:02 +00:00
rastringerandGitHub f5e380a08e Update sdk_matching_engine_create_stack_overflow_embeddings.ipynb 2023-03-21 11:17:06 +00:00
rastringerandGitHub 4b173f1f6f Update sdk_matching_engine_create_stack_overflow_embeddings.ipynb
Small text fix for introductory paragraph.
2023-03-21 11:15:05 +00:00
ivanmkc@google.com 752be49136 Added analytics test file 2023-03-20 20:51:11 -04:00
ivanmkc@google.com 282ecdfd39 Added periods 2023-03-20 19:45:31 -04:00
genquan9 802357f65b fix style issuese in model_garden_tfvision_image_classification.ipynb 2023-03-20 23:24:03 +00:00
ivanmkc@google.com e11598ca5a Addressed comments 2023-03-20 18:01:44 -04:00
genquan9 bf72ac6312 Merge branch 'mg' of https://github.com/genquan9/vertex-ai-samples into mg 2023-03-20 20:37:06 +00:00
genquan9 f9019ed15e Merge remote-tracking branch 'upstream/main' into mg 2023-03-20 20:34:18 +00:00
Andrew FerlitschandGitHub 20dcdd3054 fix BUCKET_URI 2023-03-20 12:44:57 -07:00
Andrew FerlitschandGitHub b566021678 missing tf 2023-03-20 12:41:59 -07:00
genquan9 5b2f4c2534 Add initial model garden tfvision image classification notebooks 2023-03-20 19:32:33 +00:00
ivanmkc@google.com 9a61e3c722 Added safety detection 2023-03-20 15:03:05 -04:00
gericdongandGitHub a56efdcec7 Merge pull request #1622 from GoogleCloudPlatform/pytorch_nccl
fix: missing code for nccl version
2023-03-20 19:01:55 +00:00
genquan9 c98d3df75a Add initial model garden tfvision image classification notebooks 2023-03-20 18:44:17 +00:00
Andrew FerlitschandGitHub 6247fbb96f Merge pull request #1516 from sarahcdugan/patch-2
Update bqml_vertexai_model_registry.ipynb
2023-03-20 18:02:17 +00:00
Andrew Ferlitsch ad339286b0 fix: missing code for nccl version 2023-03-20 17:56:18 +00:00
Andrew Ferlitsch 430d789c8f feat: automl image batch predict 2023-03-20 16:18:20 +00:00
sarahcdugan 94eef657ee Removed an incorrect comma 2023-03-20 16:17:05 +00:00
Andrew Ferlitsch 4b5ada9a44 fix: grammar 2023-03-20 16:15:08 +00:00
Andrew Ferlitsch 5c22ed4eaa fix: learn more 2023-03-20 16:00:51 +00:00
Andrew Ferlitsch 36fcc6355c fix: workbench link 2023-03-20 15:55:02 +00:00
Andrew Ferlitsch 4c881849e2 fix: workbench link 2023-03-20 15:53:25 +00:00
Andrew Ferlitsch 7d1f7650b9 feat: automl image prediction 2023-03-20 15:49:06 +00:00
Andrew FerlitschandGitHub 0183abfdd2 Update automl_text_classification_model_evaluation.ipynb 2023-03-20 08:44:59 -07:00
gericdongandGitHub b92337699a Merge pull request #1619 from GoogleCloudPlatform/sklearn_sa
fix: add missing set sa
2023-03-17 19:27:19 +00:00
gericdongandGitHub 4dcc5413cf Merge pull request #1618 from GoogleCloudPlatform/xgboost_sa_2
fix: add missing set sa
2023-03-17 18:52:15 +00:00
gericdongandGitHub 5f47ba8023 Merge pull request #1617 from GoogleCloudPlatform/xgboost_sa
fix: add missing set sa
2023-03-17 16:51:01 +00:00
Andrew Ferlitsch 698503e73d fix: add missing set sa 2023-03-17 16:14:55 +00:00
Andrew Ferlitsch e1a15c4bc9 fix: add missing set sa 2023-03-17 16:11:08 +00:00
Andrew Ferlitsch 0260d79703 fix: add missing set sa 2023-03-17 16:07:35 +00:00
Eric SchmidtandGitHub 16712e53ba Merge pull request #1614 from GoogleCloudPlatform/hier_pred
fix: correct the steps
2023-03-17 16:02:07 +00:00
gericdongandGitHub 401064a06c Merge pull request #1616 from GoogleCloudPlatform/project_id
fix: remove hw project id
2023-03-17 15:47:20 +00:00
Ivan CheungandGitHub 28d29b4691 Merge pull request #1613 from GoogleCloudPlatform/imkc--stackoverflow-redis
Added redis support to stackoverflow matching engine demo
2023-03-17 15:43:14 +00:00
ivanmkc@google.com 20902244de Ran linter 2023-03-16 23:49:17 -04:00
Andrew Ferlitsch ff5939aa8b fix: remove hw project id 2023-03-16 19:47:36 +00:00
Andrew Ferlitsch ea23ffd42a fix: tabular to text 2023-03-16 18:12:12 +00:00
sarahcduganandGitHub fb6527f66a Update bqml_vertexai_model_registry.ipynb 2023-03-16 12:59:55 -05:00
Andrew FerlitschandGitHub 55f8a6f78a Merge pull request #1608 from iversonic/patch-2
Fix a typo in the title of the tutorial
2023-03-16 17:50:59 +00:00
Andrew FerlitschandGitHub 397285f4bf Update custom_tabular_train_batch_pred_bq_pipeline.ipynb 2023-03-16 09:49:44 -07:00
Andrew Ferlitsch ea3167b8f7 fix: correct the steps 2023-03-15 20:56:43 +00:00
ivanmkc@google.com c3526504d8 Added redis info 2023-03-15 14:54:42 -04:00
Andrew FerlitschandGitHub 9a409b9011 Merge pull request #1610 from GoogleCloudPlatform/sklearn_2
fix: issue 1251
2023-03-15 17:33:11 +00:00
Andrew FerlitschandGitHub c9cca725c6 Merge pull request #1609 from GoogleCloudPlatform/sklearn_1
fix: issue 1251
2023-03-15 17:32:54 +00:00
Andrew FerlitschandGitHub 3ddc77293b Merge pull request #1612 from GoogleCloudPlatform/rate_limit
fix: lower rate limit
2023-03-15 17:32:21 +00:00
Andrew FerlitschandGitHub 7fa90ee179 Merge pull request #1607 from GoogleCloudPlatform/contributing
fix: one notebook rule
2023-03-15 16:11:02 +00:00
Andrew Ferlitsch b88a775d33 fix: lower rate limit 2023-03-15 15:52:39 +00:00
Andrew FerlitschandGitHub d58718ce27 Merge pull request #1611 from btrinh69/fs-integration-notebook
modify protobuf docs and add instructions
2023-03-15 15:48:01 +00:00
btrinh69 f380b42d49 format the notebook 2023-03-14 22:24:24 +00:00
btrinh69 98be4d8cb4 fix linter 2023-03-14 22:18:51 +00:00
Andrew Ferlitsch 765d6ee296 fix: issue 1251 2023-03-14 22:10:48 +00:00
btrinh69 d08959b1a0 modify protobuf docs and add instructions 2023-03-14 22:09:33 +00:00
Andrew Ferlitsch aec5fbfd6f fix: issue 1251 2023-03-14 22:06:54 +00:00
Mark IversonandGitHub bcba9b5ea2 Fix a typo in the title of the tutorial 2023-03-14 14:52:25 -07:00
Andrew Ferlitsch fe42cb6ebd fix: one notebook rule 2023-03-14 21:46:43 +00:00
Andrew FerlitschandGitHub 7c90baf6e3 Merge pull request #1606 from GoogleCloudPlatform/contributing
fix: simplified linter step
2023-03-14 21:34:36 +00:00
Andrew Ferlitsch f9be4f470d fix: use public image 2023-03-14 21:29:54 +00:00
Andrew Ferlitsch 309889bf6b fix: simplified linter step 2023-03-14 20:55:44 +00:00
gericdongandGitHub 8eabca5939 Merge pull request #1605 from GoogleCloudPlatform/andrewferlitsch-patch-5
obsolete
2023-03-14 20:35:55 +00:00
Andrew FerlitschandGitHub 830a762d2d obsolete 2023-03-14 13:31:32 -07:00
Ivan CheungandGitHub be95016723 Merge pull request #1604 from GoogleCloudPlatform/resource_reaper_official
fix: add more cleanup
2023-03-14 20:20:44 +00:00
Andrew Ferlitsch 0a7a2f6eeb fix: add more cleanup 2023-03-14 20:06:07 +00:00
gericdongandGitHub c0196a16b8 Merge pull request #1602 from GoogleCloudPlatform/issue_1599
fix: issue 1599
2023-03-14 16:44:17 +00:00
Andrew Ferlitsch 8e53879df1 fix: issue 1599 2023-03-14 01:47:48 +00:00
Andrew FerlitschandGitHub 8ecc2c25c6 Merge pull request #1591 from GoogleCloudPlatform/multicontender_vs_champion
feat: notebook for multicontender vs champion deployment
2023-03-14 01:31:18 +00:00
Andrew FerlitschandGitHub d98d427271 Merge pull request #1600 from iversonic/patch-1
Fix typo in title
2023-03-13 22:11:53 +00:00
Mark IversonandGitHub b35c2a89cb Fix typo in title 2023-03-13 14:15:02 -07:00
gericdongandGitHub bc93be1651 Merge pull request #1598 from gericdong/b267510213
chore: updated the XGBoost Dask notebook subject and text to be more specific
2023-03-13 18:01:07 +00:00
gericdong baa9c06cf7 Updated the objective 2023-03-13 13:55:35 -04:00
gericdongandGitHub 3f3ef75aba Merge pull request #1593 from GoogleCloudPlatform/bad_links_blessed
fix: bad links
2023-03-13 17:49:18 +00:00
Andrew FerlitschandGitHub 1a2a0f1d50 Update multicontender_vs_champion_deployment_method.ipynb 2023-03-13 09:07:53 -07:00
Andrew FerlitschandGitHub 93a099f65b Update challenger_vs_blessed_deployment_method.ipynb 2023-03-13 09:06:40 -07:00
gericdong b6804cdf78 chore: updated the notebook text to be more specific 2023-03-13 10:54:22 -04:00
Andrew FerlitschandGitHub b641e0857e Merge pull request #1371 from btrinh69/prediction-featurestore-integration
add an E2E notebook for Prediction and Featurestore integration
2023-03-11 01:48:11 +00:00
Andrew FerlitschandGitHub e12faf03ed Merge pull request #1597 from btrinh69/fs-integration-notebook
Add an introduction section and more details to the doc
2023-03-11 01:46:32 +00:00
btrinh69 d24f0d0f21 fix linter 2023-03-10 23:58:27 +00:00
btrinh69 c50d38e82f Add an introduction section and more details to the doc 2023-03-10 23:44:36 +00:00
gericdongandGitHub 52f458fd7d Merge pull request #1596 from gericdong/b269273823-2
fix: Incorporated Tech Writer's feedback on the PyTorch container notebook
2023-03-10 19:16:28 +00:00
gericdong eeaf34aa3b fix: address tech writer feedback on the PyTorch container notebook 2 2023-03-10 14:13:54 -05:00
gericdong 705f64dc32 fix: address tech writer feedback on the PyTorch container notebook 2023-03-10 14:04:25 -05:00
Eric SchmidtandGitHub 3830e14fd6 Merge pull request #1595 from GoogleCloudPlatform/cohost_linkback
fix: linkback
2023-03-10 18:09:11 +00:00
Eric SchmidtandGitHub bd55db1efc Merge pull request #1594 from GoogleCloudPlatform/linkback_mm
fix: linkback
2023-03-10 17:21:42 +00:00
Andrew Ferlitsch 07c0f3710f fix: linkback 2023-03-10 17:16:00 +00:00
Andrew Ferlitsch f9de0b6315 fix: linkback 2023-03-10 16:55:09 +00:00
Andrew Ferlitsch 5052d1f44d fix: bad links 2023-03-10 16:48:54 +00:00
Andrew Ferlitsch 35fbd744e2 fix: bad links 2023-03-10 16:43:30 +00:00
Andrew Ferlitsch 6d394e639c fix: bad links 2023-03-10 16:41:11 +00:00
Andrew Ferlitsch 540410ba89 fix: kfp install 2023-03-10 16:16:19 +00:00
Andrew FerlitschandGitHub 26e6548988 Merge pull request #1592 from gericdong/b269273823
feat: add a notebook sample for PyTorch image models with prebuilt containers
2023-03-09 21:34:49 +00:00
Andrew Ferlitsch 16de6f1b99 fix: review comments 2023-03-09 21:29:47 +00:00
gericdong 8cb2e868ce Updated with review commentss 2 2023-03-09 15:59:44 -05:00
gericdong 3153e24e57 Updated with review commentss 2023-03-09 15:55:08 -05:00
Andrew FerlitschandGitHub f40a81dda7 Merge pull request #1574 from inardini/inardini--experiments-autologging
feat: add notebook for experiments autologging
2023-03-09 20:45:17 +00:00
Andrew Ferlitsch 1590d1cc6f fix: install gcpc 2023-03-09 20:44:43 +00:00
gericdong 6b065f1c5a feat: add notebook for PyTorch image models with prebuilt containers 2023-03-09 15:23:41 -05:00
Andrew Ferlitsch b88fddd6bb fix: install kfp 2023-03-09 20:21:14 +00:00
Andrew Ferlitsch 22454b5318 fix: install kfp 2023-03-09 19:54:13 +00:00
Andrew FerlitschandGitHub e26190b5e3 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-09 11:49:37 -08:00
Andrew Ferlitsch e6ecd23556 feat: notebook for multicontender vs champion deployment 2023-03-09 19:17:15 +00:00
Andrew FerlitschandGitHub a342923353 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-09 10:59:34 -08:00
Andrew FerlitschandGitHub 0adcf3d60c Merge pull request #1584 from GoogleCloudPlatform/reznitskii-patch-19
Fixed title and grammar mistakes
2023-03-08 16:36:17 +00:00
Andrew FerlitschandGitHub 49547be529 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-07 17:37:33 -08:00
Andrew FerlitschandGitHub 9dbd6303b0 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-07 16:55:59 -08:00
Andrew FerlitschandGitHub ac049f3de1 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-07 16:45:16 -08:00
Andrew FerlitschandGitHub 3bca163dea Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-07 16:32:06 -08:00
Andrew FerlitschandGitHub 8904b43308 Merge pull request #1580 from GoogleCloudPlatform/reznitskii-patch-15
Fixed title
2023-03-08 00:26:54 +00:00
Andrew FerlitschandGitHub 828926e9ab Update UJ15 Vertex SDK AutoML Object Tracking.ipynb 2023-03-07 16:26:15 -08:00
Ivan CheungandGitHub 851dfb72c1 Merge pull request #1590 from GoogleCloudPlatform/imkc--matching-engine-text-to-image-fix
Fixed broken markdown in matching engine notebooks
2023-03-08 00:06:42 +00:00
Andrew FerlitschandGitHub dea652ceca Merge pull request #1589 from GoogleCloudPlatform/reznitskii-patch-23
Fixed title
2023-03-08 00:06:08 +00:00
Andrew FerlitschandGitHub 56310240b3 Merge pull request #1587 from GoogleCloudPlatform/reznitskii-patch-22
Fixed title and grammar
2023-03-08 00:05:31 +00:00
Andrew FerlitschandGitHub d828534f28 Merge pull request #1586 from GoogleCloudPlatform/reznitskii-patch-21
Fixed title and grammar
2023-03-07 21:35:10 +00:00
Andrew FerlitschandGitHub 5b6340a15e Merge pull request #1585 from GoogleCloudPlatform/reznitskii-patch-20
Fixed title
2023-03-07 21:34:39 +00:00
Andrew FerlitschandGitHub 2d3a490aca Merge pull request #1583 from GoogleCloudPlatform/reznitskii-patch-18
Fixed title and grammar mistakes
2023-03-07 21:34:08 +00:00
Andrew FerlitschandGitHub 764ea292e5 Merge pull request #1582 from GoogleCloudPlatform/reznitskii-patch-17
Fixed title and typos
2023-03-07 21:33:28 +00:00
Andrew FerlitschandGitHub 867410462e Merge pull request #1581 from GoogleCloudPlatform/reznitskii-patch-16
Update UJ10 Vertex SDK Custom Scikit-Learn with pre-built training co…
2023-03-07 21:33:00 +00:00
Andrew FerlitschandGitHub 1874743d19 Merge pull request #1579 from GoogleCloudPlatform/reznitskii-patch-14
Added link
2023-03-07 21:32:17 +00:00
Andrew FerlitschandGitHub b19fcc9f66 Merge pull request #1578 from GoogleCloudPlatform/reznitskii-patch-13
Added link
2023-03-07 21:31:38 +00:00
Andrew FerlitschandGitHub 12db1f9e05 Merge pull request #1588 from GoogleCloudPlatform/autoindex_march_update
update: March update of index
2023-03-07 21:30:58 +00:00
ivanmkc@google.com 853b5c0a97 Fixed broken markdown 2023-03-07 15:40:35 -05:00
reznitskiiandGitHub 00aa9a2672 Update UJ5 Vertex SDK AutoML Image Object Detection.ipynb 2023-03-07 15:09:55 -05:00
Andrew Ferlitsch 7eb4eea074 update: march update of index 2023-03-07 20:06:00 +00:00
reznitskiiandGitHub 4b8b1e503b Update UJ4 Vertex SDK AutoML Tabular Binary Classification.ipynb 2023-03-07 14:34:47 -05:00
reznitskiiandGitHub db0f7fb6d7 Update UJ3 Vertex SDK Custom Image Classification with custom training container.ipynb 2023-03-07 14:30:15 -05:00
reznitskiiandGitHub cd04f66ac0 Update UJ2,12 Vertex SDK Custom Image Classification with pre-built training container.ipynb 2023-03-07 14:24:54 -05:00
reznitskiiandGitHub 419e01d1d3 Update UJ15 Vertex SDK AutoML Object Tracking.ipynb 2023-03-07 14:23:06 -05:00
reznitskiiandGitHub e7a51b394b Update UJ14 Vertex SDK AutoML Video Classification.ipynb 2023-03-07 14:22:16 -05:00
reznitskiiandGitHub fdfec862be Update UJ11 Vertex SDK Hyperparameter Tuning.ipynb 2023-03-07 14:21:24 -05:00
reznitskiiandGitHub 6da196a80b Update UJ10 Vertex SDK Custom Scikit-Learn with pre-built training container.ipynb 2023-03-07 14:19:24 -05:00
reznitskiiandGitHub 280f62a1d3 Update UJ1 Vertex SDK AutoML Image Classification.ipynb 2023-03-07 14:18:13 -05:00
reznitskiiandGitHub 20e524dda5 Update get_started_bq_datasets.ipynb 2023-03-07 14:16:48 -05:00
reznitskiiandGitHub b0c7c70b81 Update prophet_on_vertex_pipelines.ipynb 2023-03-07 14:14:03 -05:00
Andrew FerlitschandGitHub dcfc30edab Merge pull request #1576 from GoogleCloudPlatform/imkc--matching-engine-clip
Added matching engine CLIP notebook
2023-03-07 18:41:46 +00:00
Andrew FerlitschandGitHub 03fea0608d Merge pull request #1575 from GoogleCloudPlatform/imkc--matching-engine-stackoverflow
Added stackoverflow embeddings notebook
2023-03-07 18:03:52 +00:00
Andrew FerlitschandGitHub 6c15941242 Merge pull request #1577 from kthytang/fs-integration
fix: copy CPR model server to users project before using
2023-03-07 17:58:47 +00:00
kthytang 1bd5c364f5 fix: copy CPR model server to users project before using 2023-03-07 09:49:36 -08:00
Andrew FerlitschandGitHub 1c6e4a36c1 Update get_started_with_vertex_experiments_autologging.ipynb 2023-03-07 09:32:20 -08:00
ivanmkc@google.com 080d1819ed Addressed TW comments 2023-03-07 12:07:46 -05:00
ivanmkc@google.com 5679e46a12 Addressed TW comments 2023-03-07 12:01:41 -05:00
ivanmkc@google.com d54b3845fe Fixed notebooks/official/ml_metadata/sdk-metric-parameter-tracking-for-locally-trained-models.ipynb 2023-03-07 10:45:42 -05:00
ivanmkc@google.com 6a2d06f8f4 Fixed sigfig 2023-03-07 10:23:12 -05:00
ivanmkc@google.com 38a37ae8b9 Added plots 2023-03-07 10:14:40 -05:00
ivanmkc@google.com be20a635e4 Fixed missing dependency 2023-03-07 08:42:35 -05:00
ivanmkc@google.com db06465158 Added matching engine CLIP notebook 2023-03-07 08:40:49 -05:00
ivanmkc@google.com b42b6c6fb8 Added missing cells 2023-03-06 23:34:27 -05:00
ivanmkc@google.com 73fbc762fe Added tqdm to requirements.txt 2023-03-06 20:00:53 -05:00
ivanmkc@google.com 994a86d07a Fixed bugs 2023-03-06 16:53:46 -05:00
ivanmkc@google.com 71c1eca210 Fixed predictions 2023-03-06 16:16:39 -05:00
inardini 20cdcefea3 linter passed 2023-03-06 20:47:57 +00:00
inardini 26db26d100 add andy reviews 2023-03-06 20:47:26 +00:00
Andrew FerlitschandGitHub 01575ae76d Merge pull request #1570 from GoogleCloudPlatform/blessed_vs_challenger
feat: challenger vs blessed deployment method
2023-03-06 20:04:40 +00:00
ivanmkc@google.com 1c431bdb85 Updated links 2023-03-06 14:41:50 -05:00
ivanmkc@google.com 096a5d069e Linted 2023-03-06 14:38:29 -05:00
Andrew Ferlitsch d795b6e1f5 fix:missing install 2023-03-06 19:11:08 +00:00
Andrew FerlitschandGitHub 34eaf50f2c Merge pull request #1573 from kthytang/fs-integration
fix: update the cpr image used in the feature store prediction integr…
2023-03-06 17:57:14 +00:00
Andrew Ferlitsch 08ffe85ddf fix:missing install 2023-03-06 17:19:30 +00:00
ivanmkc@google.com 3ade1ab265 Added stackoverflow embeddings notebook 2023-03-06 10:45:06 -05:00
inardini 6e71605669 linter passed 2023-03-06 12:55:26 +00:00
inardini f8af22386c comment colab 2023-03-06 12:54:57 +00:00
inardini 9d7a744924 update codeowners 2023-03-06 08:56:07 +00:00
inardini 4f8a527f5c linter passed 2023-03-06 08:50:24 +00:00
inardini 4a987f5dcb fix linter 2023-03-06 08:49:59 +00:00
inardini a2a3de5767 add new autologging notebook tutorial 2023-03-06 08:45:18 +00:00
kthytang 3ca5d6cad6 fix: update the cpr image used in the feature store prediction integration notebook 2023-03-05 20:09:05 -08:00
Andrew Ferlitsch 9117fbbb71 fix:missing install 2023-03-04 01:57:32 +00:00
Andrew Ferlitsch 607c2605fa fix:missing install 2023-03-03 23:10:37 +00:00
Andrew Ferlitsch 3509bbc383 fix:missing install 2023-03-03 22:31:34 +00:00
Andrew FerlitschandGitHub 8593308244 Merge pull request #1569 from ninataneja/final-doc-change
Update dashboard instructions
2023-03-03 22:29:28 +00:00
Nina Taneja 806801b4ea Fix print error 2023-03-03 21:15:33 +00:00
Andrew Ferlitsch a1b1ff9a6b feat: challenger vs blessed deployment method 2023-03-03 21:05:35 +00:00
Nina Taneja 3acd72ec81 Fix lint error 2023-03-03 20:49:42 +00:00
Nina Taneja 12347f3ce2 Add error handling for delete job 2023-03-03 20:45:29 +00:00
Nina Taneja f9c4e32088 Add sleep for async job 2023-03-03 20:11:00 +00:00
Nina Taneja 78da2206b0 Update dashboard instructions 2023-03-03 18:50:21 +00:00
gericdongandGitHub 46fa993732 Merge pull request #1559 from GoogleCloudPlatform/ml_ops_registry
feat: add notebook for model versioning
2023-03-03 18:43:05 +00:00
Andrew FerlitschandGitHub df0c0d209b Merge pull request #1568 from kthytang/fs-integration
feat: notebook for prediction feature store integration
2023-03-03 18:32:05 +00:00
kthytang 2e8d6239df chore: run python3.9 -m tensorflow_docs.tools.nbfmt --remove_outputs "$notebook" 2023-03-03 10:02:46 -08:00
Andrew Ferlitsch 1841201fee fix: dep issue 2023-03-03 17:20:44 +00:00
kthytang f10857f299 chore: address comments 2023-03-03 07:17:50 -08:00
btrinh69 1e4b3aefdb address comments 2023-03-03 00:55:11 +00:00
kthytang e3bcff62fc chore: fix lint 2023-03-02 14:18:47 -08:00
kthytang ce3a439d06 feat: notebook for prediction feature store integration 2023-03-02 14:04:38 -08:00
Andrew FerlitschandGitHub b47d4b46f3 Merge pull request #1567 from GoogleCloudPlatform/reznitskii-patch-12
Fixed typo
2023-03-02 21:40:56 +00:00
Andrew FerlitschandGitHub 1cc87860c4 Merge pull request #1566 from GoogleCloudPlatform/reznitskii-patch-11
Fixed typo and link
2023-03-02 21:40:06 +00:00
reznitskiiandGitHub 5d6aa4479d Update automl_video_classification_model_evaluation.ipynb 2023-03-02 15:11:07 -05:00
reznitskiiandGitHub 5a25b06f2d Update UJ14 Vertex SDK AutoML Video Classification.ipynb 2023-03-02 15:09:45 -05:00
Andrew Ferlitsch bb055ed061 fix: cleanup 2023-03-02 18:26:45 +00:00
Andrew FerlitschandGitHub 974610a555 Merge pull request #1562 from GoogleCloudPlatform/reznitskii-patch-8
Updated link
2023-03-02 08:25:51 +00:00
Andrew FerlitschandGitHub d78574e640 Merge pull request #1565 from ninataneja/dask-sdk
Add SDK support for Dask dashboard to Training
2023-03-02 08:25:22 +00:00
Nina Taneja ff367ae9f5 Fixed formatting problem 2023-03-02 01:34:46 +00:00
Nina Taneja 40b5e74645 Addressed formatting and wording changes 2023-03-02 01:26:52 +00:00
Nina Taneja dee509e8d7 Add SDK support for Dask dashboard to Training 2023-03-01 23:39:06 +00:00
Andrew Ferlitsch fd5921fa32 fix: invalid alias 2023-03-01 22:55:39 +00:00
reznitskiiandGitHub c74a44a4a8 Update sdk_automl_tabular_classification_online_explain.ipynb 2023-03-01 17:22:30 -05:00
Andrew FerlitschandGitHub 367c985642 Merge pull request #1560 from GoogleCloudPlatform/autoindex_tensorboard
fix: tensorboard branding
2023-03-01 22:03:24 +00:00
Andrew Ferlitsch f7a970e15b fix: TIMESTAMP 2023-03-01 21:53:51 +00:00
Andrew Ferlitsch 9a914a5af4 fix: tensorboard branding 2023-03-01 21:46:57 +00:00
Andrew Ferlitsch e5315be85a feat: add notebook for model versioning 2023-03-01 20:54:17 +00:00
Andrew FerlitschandGitHub 6daf663a69 Merge pull request #1557 from GoogleCloudPlatform/custom_eval
feat: notebook for custom evaluations
2023-03-01 20:15:56 +00:00
Andrew Ferlitsch 45a65f1db8 fix: install issue 2023-03-01 20:05:54 +00:00
Andrew Ferlitsch 240c291728 feat: add eval on versioned model 2023-03-01 19:21:21 +00:00
gericdongandGitHub 4aec14c576 Merge pull request #1558 from GoogleCloudPlatform/andrewferlitsch-patch-4
tmp file added by mistake
2023-03-01 18:34:45 +00:00
Andrew FerlitschandGitHub f7d4d3a9c3 tmp file added by mistake 2023-03-01 10:08:20 -08:00
Andrew Ferlitsch 3c64a8aa58 fix: review nits 2023-03-01 18:04:34 +00:00
Andrew Ferlitsch 5f692ea299 fix: missing installs 2023-03-01 16:06:54 +00:00
Andrew FerlitschandGitHub ab1e97ac18 Merge pull request #1553 from GoogleCloudPlatform/autoindex_max_3
fix: 5 branding bugs
2023-03-01 16:04:23 +00:00
Andrew FerlitschandGitHub 78630ae2c0 Merge pull request #1552 from GoogleCloudPlatform/reznitskii-patch-3
Fixed typo
2023-03-01 16:03:51 +00:00
Andrew Ferlitsch 0f48628782 feat: notebook for custom evaluations 2023-03-01 00:52:20 +00:00
Andrew Ferlitsch 93e9fbac92 fix: 5 branding bugs 2023-02-28 20:42:03 +00:00
Andrew FerlitschandGitHub 231b2ef02b Merge pull request #1556 from GoogleCloudPlatform/reznitskii-patch-6
Fixed typo
2023-02-28 20:40:04 +00:00
Andrew FerlitschandGitHub 7132c12831 Merge pull request #1555 from GoogleCloudPlatform/reznitskii-patch-5
Fixed typos
2023-02-28 20:31:30 +00:00
reznitskiiandGitHub 2b547e8279 Update forecasting-retail-demand.ipynb 2023-02-28 15:24:25 -05:00
reznitskiiandGitHub 8b84524244 Update ai-explanations-tabnet-algorithm.ipynb 2023-02-28 15:21:53 -05:00
Andrew Ferlitsch 60fe1bd2c6 fix: 5 branding bugs 2023-02-28 20:16:57 +00:00
reznitskiiandGitHub 0edea80ffa Update custom_tabular_regression_model_evaluation.ipynb 2023-02-28 15:02:47 -05:00
Yvonne LiandGitHub 493e50a999 Merge pull request #1550 from GoogleCloudPlatform/autoindex_max_2
fix: extra period in link
2023-02-28 19:50:08 +00:00
Andrew Ferlitsch 8440e7f164 fix: extra period in link 2023-02-28 19:44:33 +00:00
gericdongandGitHub 906aa91fe7 Merge pull request #1549 from GoogleCloudPlatform/mv_pytorch
fix: reorg
2023-02-28 18:41:15 +00:00
gericdongandGitHub 34e282172f Merge pull request #1548 from GoogleCloudPlatform/rm_pytorch_folder
fix: reorg
2023-02-28 18:29:13 +00:00
Andrew Ferlitsch bddf642b58 fix: reorg 2023-02-28 18:24:55 +00:00
Andrew Ferlitsch 25b89c497f fix: reorg 2023-02-28 18:19:55 +00:00
Andrew FerlitschandGitHub 23a51dbcaa Merge pull request #1526 from GoogleCloudPlatform/doc_tag_1
update tag/linkback #1 AutoML Video
2023-02-28 18:15:56 +00:00
Andrew FerlitschandGitHub 26761198d7 Merge pull request #1547 from GoogleCloudPlatform/autoindex_max_1
fix: web index tune
2023-02-28 17:39:34 +00:00
Andrew Ferlitsch 5b4e88e791 fix: web index tune 2023-02-28 17:29:45 +00:00
Andrew Ferlitsch 83cc796687 fix: workaround for running > 24hrs 2023-02-28 17:05:34 +00:00
Andrew FerlitschandGitHub 3e29cc62c7 Merge pull request #1536 from GoogleCloudPlatform/doc_tag_11
update tag/linkback #11 AutoML Video
2023-02-28 17:02:09 +00:00
Andrew FerlitschandGitHub 2b1bb77f4b Merge pull request #1535 from GoogleCloudPlatform/doc_tag_10
update tag/linkback #10 AutoMLVideo
2023-02-28 16:55:55 +00:00
Andrew Ferlitsch 7144b87f01 fix: workaround for running > 24hrs 2023-02-28 16:50:51 +00:00
Andrew Ferlitsch ebf4d6d8be fix: workaround for running > 24hrs 2023-02-28 16:47:14 +00:00
Andrew FerlitschandGitHub 2ccd913e2e Merge pull request #1528 from GoogleCloudPlatform/doc_tag_3
update tag/linkback #3 AutoML Video
2023-02-28 16:45:02 +00:00
Andrew Ferlitsch d777dd8625 fix: workaround for running > 24hrs 2023-02-28 16:32:16 +00:00
Andrew FerlitschandGitHub d912d3d4d8 Merge pull request #1545 from GoogleCloudPlatform/reznitskii-patch-1
Fixed typo
2023-02-28 02:29:29 +00:00
reznitskiiandGitHub bafe623590 Update automl_tabular_regression_model_evaluation.ipynb 2023-02-27 17:34:34 -05:00
gericdongandGitHub 152077a823 Merge pull request #1543 from GoogleCloudPlatform/guidelines
feat: add authoring guidelines
2023-02-27 20:43:43 +00:00
Andrew Ferlitsch 81c94f9711 feat: add authoring guidelines 2023-02-27 19:53:10 +00:00
Andrew FerlitschandGitHub 897e8e3e47 Merge pull request #1541 from GoogleCloudPlatform/template_linkback
fix: add tag/linkback
2023-02-27 18:06:24 +00:00
Andrew Ferlitsch ddc125da69 fix: smaller dataset 2023-02-27 16:16:13 +00:00
Eric SchmidtandGitHub abb66ade41 Merge pull request #1542 from gericdong/b270683209
fix: bad links in notebook
2023-02-24 17:06:07 +00:00
gericdong 2915824641 Lint 2023-02-24 09:03:19 -05:00
gericdong 44447637bd fixed bad links 2023-02-24 08:59:24 -05:00
Andrew FerlitschandGitHub 6a8345446d Merge pull request #1504 from reznitskii/b267661933-2
Replaced Vertex AI Training linkbacks with Custom training
2023-02-24 02:13:42 +00:00
Andrew Ferlitsch 27a7b8b1da fix: add tag/linkback 2023-02-24 00:22:18 +00:00
Andrew FerlitschandGitHub 04471e7104 Merge pull request #1540 from GoogleCloudPlatform/issue_1522
fix: link
2023-02-23 17:43:06 +00:00
Andrew FerlitschandGitHub e78ea4e805 Merge pull request #1538 from wintwoo/dataproc
Specify Dataproc Serverless Runtime version to use for batch workloads.
2023-02-23 04:14:06 +00:00
Andrew Ferlitsch 7487a14783 fix: link 2023-02-22 23:07:37 +00:00
Andrew FerlitschandGitHub 757d0c5087 change copyright back to 2022. Policy is year is the year first authored 2023-02-22 15:00:49 -08:00
Andrew FerlitschandGitHub 60cb93a9a9 Delete pytorch-text-sentiment-classification-custom-train-deploy.ipynb 2023-02-22 14:43:12 -08:00
Andrew FerlitschandGitHub 0fb72773f4 Merge pull request #1533 from GoogleCloudPlatform/doc_tag_8
update tag/linkback #8
2023-02-22 22:21:16 +00:00
Andrew FerlitschandGitHub 5d2fc74f78 Merge pull request #1532 from GoogleCloudPlatform/doc_tag_7
update tag/linkback #7
2023-02-22 22:20:58 +00:00
Andrew FerlitschandGitHub 1cc26481b2 Merge pull request #1531 from GoogleCloudPlatform/doc_tag_6
update tag/linkback #6
2023-02-22 22:20:50 +00:00
Andrew FerlitschandGitHub 85b0346eab Merge pull request #1530 from GoogleCloudPlatform/doc_tag_5
update tag/linkback #5
2023-02-22 22:20:24 +00:00
Andrew FerlitschandGitHub 910cbacb54 Merge pull request #1529 from GoogleCloudPlatform/doc_tag_4
update tag/linkback #4
2023-02-22 22:19:44 +00:00
Andrew FerlitschandGitHub c7206e3cc8 Merge pull request #1527 from GoogleCloudPlatform/doc_tag_2
update tag/linkback #2
2023-02-22 21:46:40 +00:00
Win Woo 12d721d33e Specify Dataproc runtime versions to use for batch jobs 2023-02-22 02:46:00 +00:00
Andrew FerlitschandGitHub 16df2216d1 Merge pull request #1525 from GoogleCloudPlatform/triton_ensenble_2
feat: triton ensemble
2023-02-21 21:32:16 +00:00
Andrew Ferlitsch fb26b7213c fix: links 2023-02-21 21:30:12 +00:00
Andrew Ferlitsch d90f52e122 fix: links 2023-02-21 19:47:23 +00:00
Andrew Ferlitsch 17f42b3044 update tag/linkback 2023-02-21 18:46:12 +00:00
Andrew Ferlitsch 652f34b814 update tag/linkback 2023-02-21 18:37:09 +00:00
Andrew Ferlitsch c84f8738f8 update tag/linkback 2023-02-21 18:16:13 +00:00
Andrew Ferlitsch 9d72bbf237 update tag/linkback 2023-02-21 18:02:11 +00:00
Andrew Ferlitsch 85df50d06f update tag/linkback 2023-02-21 17:39:51 +00:00
Andrew Ferlitsch 9ab6cddade update tag/linkback 2023-02-21 17:33:56 +00:00
Andrew Ferlitsch 02ffffaeb7 update tag/linkback 2023-02-21 17:30:03 +00:00
Andrew Ferlitsch dfc5635d34 update tag/linkback 2023-02-21 17:25:40 +00:00
Andrew Ferlitsch 90b686cf69 update tag/linkback 2023-02-21 17:02:33 +00:00
Andrew Ferlitsch ad63153778 update tag/linkback 2023-02-21 16:58:56 +00:00
Andrew Ferlitsch 7858f8644e update tag/linkback 2023-02-21 16:55:10 +00:00
Andrew Ferlitsch 3df4098364 update tag/linkback 2023-02-21 16:46:03 +00:00
Andrew Ferlitsch ae3c1877e4 update tag/linkback 2023-02-21 16:41:17 +00:00
Andrew FerlitschandGitHub 2798ab1e02 set timeout 2023-02-21 08:33:40 -08:00
Andrew FerlitschandGitHub 7bd2c567a1 Merge pull request #1490 from GoogleCloudPlatform/imkc--matching-engine-embedding-tweak
Fixed typo in sdk_matching_engine_for_indexing.ipynb
2023-02-18 00:48:17 +00:00
Andrew Ferlitsch 56503cce6a feat: triton ensemble 2023-02-17 22:10:20 +00:00
Andrew FerlitschandGitHub a5a9f53a32 Merge pull request #1515 from junyanxu/add_experimental_info_to_automl_image_montioring_notebook
Add experimental information to automl image classifcation monitoring…
2023-02-17 15:52:07 +00:00
Junyan Xu 469e8436e9 Format the automl image online for model monitoring 2023-02-16 22:37:50 +00:00
Junyan Xu e9f9a5c29b Merge branch 'add_experimental_info_to_automl_image_montioring_notebook' of https://github.com/junyanxu/vertex-ai-samples into add_experimental_info_to_automl_image_montioring_notebook 2023-02-16 17:19:49 +00:00
Junyan Xu 102400a67f update online pip install package 2023-02-16 17:19:00 +00:00
Andrew FerlitschandGitHub 0ae53f47d4 Update get_started_with_model_monitoring_automl_image_batch.ipynb 2023-02-16 08:27:40 -08:00
Eric SchmidtandGitHub ff3e0b4784 Merge pull request #1519 from GoogleCloudPlatform/autoindex_official_6
tune: web index
2023-02-15 21:03:10 +00:00
Andrew Ferlitsch 0f4546c18c tune: web index 2023-02-15 20:56:47 +00:00
Andrew FerlitschandGitHub ee381e15f5 Update get_started_with_model_monitoring_automl_image_batch.ipynb 2023-02-15 12:13:36 -08:00
Andrew FerlitschandGitHub 4ddeeb290d Merge pull request #1295 from Ark-kun/Train_tabular_models
Train tabular models with many frameworks and import to Vertex AI using Pipelines
2023-02-15 19:54:11 +00:00
Andrew FerlitschandGitHub 7e99b07440 Merge branch 'main' into Train_tabular_models 2023-02-15 11:53:17 -08:00
Andrew FerlitschandGitHub bc1ecd6260 Merge pull request #1334 from renovate-bot/renovate/isort-5.x
chore(deps): update dependency isort to v5.12.0
2023-02-15 19:49:21 +00:00
Andrew FerlitschandGitHub f662ffb3e1 Merge pull request #1328 from renovate-bot/renovate/black-22.x
chore(deps): update dependency black to v22.12.0
2023-02-15 19:48:46 +00:00
Andrew FerlitschandGitHub c40c0e5247 Merge pull request #1227 from sudarshan-SpringML/auto_tab_on_vertex_pipeline
Update the file automl_tabular_on_vertex_pipelines
2023-02-15 19:32:19 +00:00
Eric SchmidtandGitHub bd3a0f5af0 Merge pull request #1518 from GoogleCloudPlatform/issue_265061259
fix: issue
2023-02-15 17:46:37 +00:00
Andrew Ferlitsch 99f318333b fix: issue 2023-02-15 17:10:28 +00:00
dependabot[bot]andGitHub 9d36e837bb Build(deps): Bump torch
Bumps [torch](https://github.com/pytorch/pytorch) from 1.8.1 to 1.13.1.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/master/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v1.8.1...v1.13.1)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-15 16:55:38 +00:00
Andrew FerlitschandGitHub 11e7ba47a4 Merge pull request #1470 from GoogleCloudPlatform/dependabot/pip/community-content/pytorch_image_classification_single_gpu_with_vertex_sdk_and_torchserve/trainer/torch-1.13.1
Build(deps): Bump torch from 1.8.1 to 1.13.1 in /community-content/pytorch_image_classification_single_gpu_with_vertex_sdk_and_torchserve/trainer
2023-02-15 16:54:21 +00:00
Andrew FerlitschandGitHub 399427c2de Merge pull request #1495 from TheMichaelHu/mh-prophet
Reduce cost of running prophet notebook
2023-02-15 15:43:17 +00:00
Andrew FerlitschandGitHub 1a3cbb4cf0 fix corrupted format 2023-02-15 07:24:17 -08:00
gericdongandGitHub 0f116ab253 Merge pull request #1517 from GoogleCloudPlatform/stable-diffusion-fixes
chore: revisions to Stable Diffusion and TorchServe nb
2023-02-15 13:33:54 +00:00
Michael Hu 304000d719 use n1-standard-2s 2023-02-14 22:18:13 -05:00
Eric Schmidt 36df462615 chore: revisions to Stable Diffusion and TorchServe nb 2023-02-15 02:32:02 +00:00
Andrew FerlitschandGitHub 909f771bfd Merge pull request #1514 from abcdefgs0324/pytorch_ga
Update wording for pre-built pytorch images on Vertex Prediction.
2023-02-14 17:07:03 +00:00
Eric SchmidtandGitHub e9bef3542d Merge pull request #1510 from GoogleCloudPlatform/stable-diffusion-try2
feat: adds stable diffusion notebook with PyTorch serving
2023-02-13 20:33:24 +00:00
Eric Schmidt 037a3b041a linting 2023-02-13 20:31:22 +00:00
Eric Schmidt f55e6c60cd per reviewer 2023-02-13 18:11:09 +00:00
sarahcduganandGitHub e7e7a8e22c Update bqml_vertexai_model_registry.ipynb
XAI is now available for BQML models added to the Vertex AI Model Registry
2023-02-11 13:19:46 -06:00
Eric Schmidt 2cd815c640 light edit 2023-02-10 23:00:11 +00:00
Eric Schmidt b1c0cc9a9d linter 2023-02-10 22:44:33 +00:00
Eric Schmidt af63d1c0e2 Revised notebook to use existing model 2023-02-10 22:40:38 +00:00
Junyan Xu c51a82febb format notebook 2023-02-10 19:15:15 +00:00
Junyan Xu 8e6e4729aa Add experimental information to automl image classifcation monitoring notebook 2023-02-10 18:48:09 +00:00
Eric Schmidt 0e97a83836 revisions 2023-02-10 17:06:33 +00:00
Eric Schmidt f6645e0125 moved notebook 2023-02-10 17:01:13 +00:00
Chun-Hsiang Wang 52385a6071 samples: Updated wording and removed preview email. 2023-02-10 00:43:43 +00:00
Chun-Hsiang WangandGitHub 2365d733c4 Merge branch 'GoogleCloudPlatform:main' into pytorch_ga 2023-02-09 12:55:15 -08:00
Eric Schmidt 71e6423066 iter 2023-02-09 18:06:24 +00:00
Eric Schmidt 139ed95ffc iter 2023-02-09 18:02:07 +00:00
Eric Schmidt cafd192417 deleted notebooks from old location 2023-02-09 17:32:32 +00:00
Eric Schmidt 0d7ec7cd60 iter 2023-02-09 17:21:45 +00:00
Eric Schmidt 7fd934045a moved location of notebook 2023-02-09 17:21:02 +00:00
Max Reznitskii 4e82877269 Reverting changes to failing notebooks 2023-02-09 16:42:44 +00:00
Andrew FerlitschandGitHub 6ef111144d fix: lost updates (#1513) 2023-02-08 18:35:05 -05:00
Eric Schmidt e9b8aa02e9 linter 2023-02-07 14:27:36 -08:00
Eric Schmidt ac1af33c8c feat: adds stable diffusion notebook with PyTorch serving 2023-02-07 21:50:22 +00:00
Andrew FerlitschandGitHub 5bc18b01e4 feat: MM for automl image (#1483)
* feat: MM for automl image

* feat: MM for automl image

* fix: missing import for testing

* fix: testing

* fix: test timing issues

* debug: timing

* test: fix timing issue

* tune: updates from TW for web index

* fix: code review
2023-02-07 14:21:16 -05:00
Andrew FerlitschandGitHub e98b9d6eb4 fix: bad link (#1507) 2023-02-07 10:52:10 -08:00
Andrew FerlitschandGitHub 5e6b8bf597 fix: bad link (#1508) 2023-02-07 10:51:28 -08:00
Andrew FerlitschandGitHub 5b39e7d995 fix: bad link (#1506) 2023-02-07 10:51:08 -08:00
Max Reznitskii c4f08589a9 Reverting changes to notebooks that fail tests 2023-02-03 19:21:48 +00:00
04c6ff4ec7 Fixed AutoML Tabular linkbacks. Linkbacks now refer to specific tabular data tasks. (#1503)
Co-authored-by: Max Reznitskii <reznitskii@google.com>
2023-02-03 10:35:37 -08:00
Max Reznitskii bcb0b19dc4 Replaced Vertex AI Training linkbacks with Custom training 2023-02-02 23:04:08 +00:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
5586fd7c4d Fixed comment about GCS (#1500)
Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-02-02 14:30:02 -08:00
gericdongandGitHub 30e747b966 correct/remove invalid github usernames (#1502) 2023-02-02 13:24:44 -08:00
Andrew FerlitschandGitHub 080e2b5bb5 fix: missed updates (#1499) 2023-02-01 15:52:22 -05:00
Michael Hu e908774b5b doc updates 2023-01-31 13:23:25 -05:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
60e4416a7e cleanup: remove 3 deprecated notebooks (#1497)
Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-01-31 00:07:38 -08:00
gericdongandGitHub b207b270b4 feat: enable TensorBoard profiler for custom training with prebuilt container (#1494)
* feat: enable TensorBoard profiler for custom training with prebuilt container

* Fixed package install error

* addressed review comments
2023-01-30 09:31:51 -08:00
Andrew FerlitschandGitHub 497e93aba1 fix: issue 263246858 (#1496) 2023-01-30 12:30:04 -05:00
Ivan CheungGitHubivanmkc@google.com <ivanmkc@google.com>
9a6c36d016 Fixed cleanup code for matching engine index endpoint (#1493)
Co-authored-by: ivanmkc@google.com <ivanmkc@google.com>
2023-01-30 09:52:32 -05:00
Renovate Bot c889a57c9e chore(deps): update dependency isort to v5.12.0 2023-01-28 18:21:42 +00:00
Michael Hu dbe5d61929 Reduce cost of running prophet notebook 2023-01-27 20:18:33 -05:00
Andrew FerlitschandGitHub c180408f41 feat: model monitoring (#1488)
* fix: review

* fix: testing
2023-01-26 00:26:53 -08:00
gericdongandGitHub 869b19d342 Add new notebook to support the XAI zero metadata config feature (#1484)
* feat: add new notebook to support the XAI zero metadata config feature

* add missing packages

* Attempt to fix issue of -- user install not performed in the env

* Fixed package issues

* Addressed review comments

* Addressed review comments

* Addressed review comments
2023-01-25 10:02:50 -05:00
Michael HuandGitHub 3d967b180d add prophet on vertex pipelines notebook (#1320)
* add prophet on vertex pipelines notebook

* update notebook

* add explicit bq dependency

* add more explanations for what the pipeline is doing

* oops

* oops

* Update overview and add parameter descriptions

* foo

* foo

* add more parameters and types

* remove future tense and fix links

* fix formatting

* fix docs
2023-01-24 22:41:19 -08:00
halio-gandGitHub 49710a9225 Improve the training code to support the non-distributed job and add … (#1489)
* Improve the training code to support the non-distributed job and add the dashboard access.

* format the notebook.

* Use the 8888 instead of getting the env since DASHBOARD_PORT is not populated in the pipeline.

* Resolved the pull request comments.
2023-01-24 15:59:02 -08:00
Andrew FerlitschandGitHub 9d31463585 fix: TW updates (#1492) 2023-01-24 18:58:40 -05:00
ivanmkc@google.com bcd86a3707 Fixed typo for index display name 2023-01-25 08:56:59 +09:00
Mend RenovateandGitHub 9335ea3591 chore(deps): update dependency flake8 to v6 (#1298) 2023-01-24 11:31:29 -08:00
Andrew FerlitschandGitHub 0f7343feee migration: experiments (#1487)
* migration: experiments

* fix: review
2023-01-24 12:27:19 -05:00
Ivan NardiniandGitHub 12cd965ce6 new demand forecasting pipeline notebook (#1439)
* new demand forecasting pipeline notebook

* linter passed

* review notebook

* linter passed

* review notebook

* linter passed

* andy review

* linter passed
2023-01-24 08:44:14 -08:00
ivanmkc@google.com 4e5c75fed6 Renamed json to jsonl 2023-01-24 21:08:08 +09:00
Ivan Cheung b28f941abe Fixed typo 2023-01-24 21:02:46 +09:00
32632711ff Add co-hosting model notebook (#713)
* Add notebook for co-hosting model

* Add notebook for co-hosting model

* Change co-hosting model notebook inline link to officical

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Eric Schmidt <em.schmidt78@gmail.com>
2023-01-23 10:29:13 -08:00
junkourataandGitHub d676d87cce feat: Add E2E notebook featuring Vertex Feature Store, Training and Prediction (#1398)
* Add E2E tutorial for Feature Store

* Add Codeowner and fix the formatting and lining.

* Fixed lint
2023-01-23 10:24:51 -08:00
Douglass ChenandGitHub 153a8044b8 Update Colab notebooks' default fields and URLs (#1485)
* Add Cloud natural language pipeline colab notebook

* Add ready-to-go text classification pipeline colab notebook

* Ran reformatting scripts on text classification pipeline colab notebooks

* Update CODEOWNERS files

* Fix order of cells in cloud_natural_language_pipeline.ipynb

* Remove unused variables via linter for text classification colabs; fix classification variable for preprocessing component

* Minor fix: remove GCPC version requirement

* Minor fix: remove outputs

* fix formatting with nbfmt

* move ready-to-go pipeline to notebooks/community

* fix link

* update CODEOWNERS

* move text classification colabs to notebooks/community/pipelines

* Address initial comments on NL notebook

* Remove commented lines in NL notebook

* minor cell formatting

* clear outputs

* minor changes to NL notebook

* address comments for ready-to-go pipeline

* run linter locally

* add pipeline description to NL pipeline

* run linter locally (PR check could not lint)

* Add cell to examine metrics, update kernel restart cell from official template

* lint

* Update default fields and URLs in NL notebook

* Fix URLs in ready to go notebook

* run linter
2023-01-23 10:00:25 -08:00
Andrew FerlitschandGitHub c0d9250416 migration: labeling (#1479) 2023-01-23 08:58:28 -08:00
fd16e39f91 Added notebook demonstrating hyperparameter tuning using tensorboard (#1451)
* Added notebook demonstrating hyperparameter tuning using tensorboard

* Added notebook demonstrating hyperparameter tuning using tensorboard - linter finished

* Added notebook demonstrating hyperparameter tuning using tensorboard - first round of comments resolved

* Added notebook demonstrating hyperparameter tuning using tensorboard - fixing uncomment error

* fixing comment and lint error

* Jack's comments resolved

* fixing the cell that caused CI/CDtest error

* attempt to fix CI/CD issue with loading tensorboard

* attempt to fix TF import error

* fix CI/CD issues

* fix CI/CD issue

Co-authored-by: Andrew Ferlitsch <aferlitsch@gmail.com>
2023-01-19 18:13:02 -08:00
Andrew FerlitschandGitHub 1551ca9435 migration: experiments (#1472)
* migration: experiments

* migration: experiments

* debug: experiments
2023-01-19 12:03:28 -08:00
Andrew FerlitschandGitHub 80fcd2904f migration: bqml (#1475)
* fix: require code review

* migration: BQML
2023-01-18 07:26:53 -08:00
Daniel Elias BecerraandGitHub e974c034ba Matching engine tutorial - add networking troubleshooting and updates to notebook (#1465)
* matching engine tutorial add networking troubleshooting

* format check changes

* Change year 2021 to 2023, replace colab, github and workbench links with new template style

* Replace all occurences of ANN and ANN service with matching_engine or Vertex AI Matching Engine to reflect updated product name

* Update Before you Begin section to follow notebook template and add more organization to it

* Update installation of Vertex AI SDK python library from preview to GA version

* Remove outdated set project id section

* Add Authentication section from notebook template

* Update create bucket section to incorporate notebook template guidelines

* Fix format issues

* Fix format issues

* Fix issues when trying the notebook changes, ordered sections and updated some outdated commands

* Add troubleshooting comment for service networking role for worbench instance to create vpc peering

* Add troubleshooting comment for service networking role for worbench instance to create vpc peering

* Revert "Add troubleshooting comment for service networking role for worbench instance to create vpc peering"

This reverts commit ed418a392a.

* Add wait to deploying index

* Add wait to deploying index

* remove redundant import

* Format file
2023-01-17 09:03:18 -08:00
btrinh69 f0112cfc9a fix variables naming 2023-01-14 07:14:56 +00:00
Aleksey VlasenkoandGitHub d2d4493397 fixed T5x sample links (#1473) 2023-01-13 17:58:33 -08:00
btrinh69 33e7d18502 add passthrough case 2023-01-14 00:15:12 +00:00
dependabot[bot]andGitHub 6628866130 Build(deps): Bump torch
Bumps [torch](https://github.com/pytorch/pytorch) from 1.8.1 to 1.13.1.
- [Release notes](https://github.com/pytorch/pytorch/releases)
- [Changelog](https://github.com/pytorch/pytorch/blob/master/RELEASE.md)
- [Commits](https://github.com/pytorch/pytorch/compare/v1.8.1...v1.13.1)

---
updated-dependencies:
- dependency-name: torch
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-13 17:52:59 +00:00
Andrew FerlitschandGitHub 0cd6146a6c fix: restore requirements.txt (#1468) 2023-01-13 09:52:24 -08:00
Andrew FerlitschandGitHub b61395f465 migration: distributed training (#1466)
* migration: distributed training

* migrate: code review
2023-01-13 09:50:43 -08:00
Andrew FerlitschandGitHub 649b209577 upgrade: revised index (#1463)
* upgrade: revised index

* upgrade: revised index

* upgrade: revised index
2023-01-12 16:29:20 -08:00
btrinh69 506a6e66d7 format file 2023-01-13 00:18:59 +00:00
btrinh69 5bd6cfe6a7 remove redundant code 2023-01-13 00:16:15 +00:00
btrinh69 ca27881ca7 Merge branch 'prediction-featurestore-integration' of https://github.com/btrinh69/vertex-ai-samples into prediction-featurestore-integration 2023-01-13 00:13:44 +00:00
btrinh69 5fa0ed6185 remove redundant code 2023-01-13 00:12:38 +00:00
btrinh69 14f58e30c5 remove redundant code 2023-01-13 00:11:14 +00:00
btrinh69andGitHub 6af94b51aa Merge branch 'main' into prediction-featurestore-integration 2023-01-13 00:07:35 +00:00
btrinh69 2f818117db add prediction_featurestore_integration to the CODEOWNER file and format the notebook 2023-01-13 00:06:23 +00:00
btrinh69 04fe89c556 Ingest Feature Store data from an exported CSV instead of querying data
from BigQuery and address comments in the previous commit

This commit does:
- Shorten the Feature Store creation process by using an exported CSV to
  populate FS instead of querying from BigQuery
- Add the Feature fetch config proto to the description
- Grant the service account `Storage Admin` and `Vertex Ai Feature Store
  Data Viewer` role instead of `Vertex AI Service Agent`
- Address nit comments in the previous commit
2023-01-12 23:47:27 +00:00
Andrew FerlitschandGitHub f42a184171 migration: automl (#1455) 2023-01-12 09:29:25 -08:00
Andrew FerlitschandGitHub 03f0647b76 migration: MM notebook (#1445)
* migration: MM notebook

* migration: fix USER_EMAIL
2023-01-12 09:28:43 -08:00
Andrew FerlitschandGitHub 1f39732ae9 migration: distributed training (#1460) 2023-01-11 22:38:26 -08:00
Andrew FerlitschandGitHub 7dd0b31b58 migration: experiments (#1461) 2023-01-11 18:16:34 -08:00
Andrew FerlitschandGitHub ff843173cf Autoindex official 2 (#1459)
* fix: update linkbacks to vertex pages

* fix: update linkbacks to vertex pages

* fix: update linkbacks to vertex pages
2023-01-11 16:53:28 -08:00
Andrew FerlitschandGitHub da19b116e9 fix: update linkbacks to vertex pages (#1458) 2023-01-11 16:30:10 -08:00
Andrew FerlitschandGitHub d8b365dfd4 fix: update the linkback (#1457) 2023-01-11 15:02:14 -08:00
Andrew FerlitschandGitHub 1247c80fed migration: bqml (#1456) 2023-01-11 14:53:13 -08:00
2cf2bf1080 Adding sample T5x sample for optimized TensorFlow runtime (#1453)
* adding T5x sample

* update for benchmark params

* update for benchmark params

* updated model GCS buckets for optimized TF runtime T5x sample

* added GPU accelerators for deployment pool in Vertex shared VM sample

* final updates for T5x sample

* addressed PR feedback

Co-authored-by: Aleksey Vlasenko <alekseyv@google.com>
2023-01-11 13:32:53 -08:00
Andrew FerlitschandGitHub 5e9e8139c1 Update get_started_with_model_monitoring_xgboost.ipynb 2023-01-11 12:10:46 -08:00
Andrew FerlitschandGitHub 0728a0036f Update get_started_with_model_monitoring_setup.ipynb 2023-01-11 12:10:11 -08:00
Andrew FerlitschandGitHub aa52d21643 Update get_started_with_model_monitoring_custom_tf_serving.ipynb 2023-01-11 12:09:18 -08:00
Andrew FerlitschandGitHub 103888d75e Update get_started_with_model_monitoring_custom.ipynb 2023-01-11 12:08:33 -08:00
Andrew FerlitschandGitHub 13d0d5d9b0 Update get_started_bq_datasets.ipynb 2023-01-11 12:06:47 -08:00
Andrew FerlitschandGitHub 79c6669686 Update get_started_with_data_labeling.ipynb 2023-01-11 12:06:20 -08:00
Andrew FerlitschandGitHub dceb0c4c1c Update get_started_bq_datasets.ipynb 2023-01-11 12:04:31 -08:00
Andrew FerlitschandGitHub 0c9cdca713 migration: MM notebook (#1449)
* migration: MM notebook

* migration: MM notebook
2023-01-10 20:58:19 -08:00
Andrew FerlitschandGitHub 6124092681 migration: MM notebook (#1447)
* migration: MM notebook

* migration: MM notebook
2023-01-10 18:39:45 -08:00
Andrew FerlitschandGitHub 629e739327 migration: MM notebook (#1446)
* migration: MM notebook

* migration: MM notebook
2023-01-10 17:51:00 -08:00
Andrew FerlitschandGitHub b68cbd8255 migration: move to pipelines folder (#1452) 2023-01-10 16:44:17 -08:00
Andrew FerlitschandGitHub 7fec30c12f migration: MM notebook (#1448) 2023-01-10 16:31:14 -08:00
Andrew FerlitschandGitHub a754843c39 migration: MM notebook (#1444)
* migration: MM notebook

* migration: MM notebook

* migration: MM notebook
2023-01-10 15:33:26 -08:00
436db4a35b Fixed documentation links (#1450)
Co-authored-by: Max Reznitskii <reznitskii@google.com>
2023-01-10 15:22:58 -08:00
Ivan NardiniandGitHub 8dba2d040b anomaly detection notebook review (#1440)
* fix some minor issues

* linter passed
2023-01-10 11:50:28 -08:00
Kelsi LakeyandGitHub 560dd9da15 [Community] Added image classification pipeline sample for Ready-to-Go Vertex project (#1404)
* Add image classification pipeline components

* Update CODEOWNERS file with image_ml_model_training

* [Community] Added image classification pipeline sample for Ready-to-Go Vertex project

* Remove unnecessary component download
2023-01-10 11:47:53 -08:00
Nicolas WipfliandGitHub 8ec17d6aca Workaround for shapely (#1397)
Without this workaround, the command "from google.cloud import aiplatform as vertex_ai" fails due to the following issue:

https://github.com/googleapis/python-aiplatform/issues/1852
2023-01-10 11:46:32 -08:00
f545282c36 Cohere demo (#1391)
* Adding Cohere Embedding Demo

* Update cohere_embedding_with_matching_engine.ipynb

* Update cohere_embedding_with_matching_engine.ipynb

* Update CODEOWNERS

* Update CODEOWNERS

* Update CODEOWNERS

* Update cohere_embedding_with_matching_engine.ipynb

* Update cohere_embedding_with_matching_engine.ipynb

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2023-01-10 11:43:16 -08:00
7e4e14e084 Fixed links to documentation (#1438)
Co-authored-by: Max Reznitskii <reznitskii@google.com>
2023-01-09 15:32:56 -08:00
Douglass ChenandGitHub be5933115d Add Colab notebooks to run text classification model pipelines (#1360)
* Add Cloud natural language pipeline colab notebook

* Add ready-to-go text classification pipeline colab notebook

* Ran reformatting scripts on text classification pipeline colab notebooks

* Update CODEOWNERS files

* Fix order of cells in cloud_natural_language_pipeline.ipynb

* Remove unused variables via linter for text classification colabs; fix classification variable for preprocessing component

* Minor fix: remove GCPC version requirement

* Minor fix: remove outputs

* fix formatting with nbfmt

* move ready-to-go pipeline to notebooks/community

* fix link

* update CODEOWNERS

* move text classification colabs to notebooks/community/pipelines

* Address initial comments on NL notebook

* Remove commented lines in NL notebook

* minor cell formatting

* clear outputs

* minor changes to NL notebook

* address comments for ready-to-go pipeline

* run linter locally

* add pipeline description to NL pipeline

* run linter locally (PR check could not lint)

* Add cell to examine metrics, update kernel restart cell from official template

* lint
2023-01-09 13:12:19 -08:00
reznitskiiandGitHub be46140138 Update README.md (#1433) 2023-01-09 08:59:47 -08:00
Andrew FerlitschandGitHub 79f4dbaafe Autoindex official 2 (#1432)
* fix: alpha sort

* fix: alpha sort

* fix: alpha sort
2023-01-08 12:22:32 -08:00
Andrew FerlitschandGitHub 9577f8324c Autoindex official 2 (#1431)
* fix: alpha sort

* fix: alpha sort
2023-01-08 12:17:06 -08:00
Andrew FerlitschandGitHub 01274fe767 fix: alpha sort (#1430) 2023-01-08 12:13:44 -08:00
Andrew FerlitschandGitHub 1690b07e4a Autoindex official (#1429)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* fix: notebook objective

* fix: notebook objective

* fix: alpha sort
2023-01-08 12:04:41 -08:00
Andrew FerlitschandGitHub 6b0de60a5c Autoindex official (#1428)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* fix: notebook objective

* fix: notebook objective
2023-01-07 12:53:35 -08:00
Andrew FerlitschandGitHub 19b541b6cb Autoindex official (#1427)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* fix: notebook objective
2023-01-07 12:47:03 -08:00
Andrew FerlitschandGitHub 22f6841079 Autoindex official (#1426)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-07 12:07:01 -08:00
Andrew FerlitschandGitHub 7c47c95e3a Autoindex official (#1425)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-07 11:52:42 -08:00
Andrew FerlitschandGitHub 7735e6ae69 Autoindex official (#1424)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-07 11:48:07 -08:00
Andrew FerlitschandGitHub 247a540625 Autoindex official (#1423)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-07 11:38:03 -08:00
Andrew FerlitschandGitHub f017606f77 Autoindex official (#1422)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-06 18:38:17 -08:00
Andrew FerlitschandGitHub 1d7024341a Autoindex official (#1421)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-06 18:33:56 -08:00
Andrew FerlitschandGitHub 9181dba316 Autoindex official (#1420)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index

* tuning: README index

* tuning: README index
2023-01-06 18:25:13 -08:00
Andrew FerlitschandGitHub a8320f3943 Autoindex official (#1419)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index

* tuning: README index
2023-01-06 18:19:45 -08:00
Andrew FerlitschandGitHub 6fc34ae4f1 Autoindex official (#1418)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index

* tuning: README index
2023-01-06 18:13:06 -08:00
Andrew FerlitschandGitHub 5566346fdc Autoindex official (#1417)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning

* tuning: linkbak for repo index
2023-01-06 17:55:33 -08:00
Andrew FerlitschandGitHub e584acdb48 Autoindex official (#1416)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: index tuning
2023-01-06 15:49:03 -08:00
Andrew FerlitschandGitHub 4022811d3c Autoindex official (#1415)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing
2023-01-06 13:09:11 -08:00
Andrew FerlitschandGitHub 4d29c490f8 Autoindex official (#1414)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing
2023-01-06 12:59:38 -08:00
Andrew FerlitschandGitHub 2315942901 Autoindex official (#1413)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing
2023-01-06 12:22:20 -08:00
Andrew FerlitschandGitHub 505d5049e0 Autoindex official (#1412)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index

* fix: fine tune indexing

* fix: fine tune indexing

* fix: fine tune indexing
2023-01-06 12:18:03 -08:00
Andrew FerlitschandGitHub 20411db737 Delete get_started_bq_datasets.ipynb
duplication
2023-01-06 12:15:56 -08:00
Andrew FerlitschandGitHub 39dbbde22c Autoindex official (#1410)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements

* fix: tuning index

* fix: tuning index
2023-01-06 11:53:14 -08:00
Andrew FerlitschandGitHub 34251594a4 Autoindex official (#1409)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* feat: CL var replacements
2023-01-06 10:57:19 -08:00
7342673331 Add experiments to Dataproc notebook (#1262)
* Show how to use experiments

* Addressed PR feedback

Co-authored-by: Win Woo <wwoo@google.com>
2023-01-05 12:35:42 -08:00
Andrew FerlitschandGitHub b5d19719e0 Update requirements.txt
The <2.11 syntax does not work, since it is interpreted as I/O redirection on the command line.
2023-01-05 12:23:28 -08:00
59536e9e61 Fix google-api-core version to last known working version (#1402)
Co-authored-by: Ivan Cheung <ivanmkc@google.com>
2023-01-05 10:30:48 -08:00
Andrew FerlitschandGitHub 7d74bc3caa workaround: 900 timeout issue (#1400) 2023-01-03 14:56:59 -08:00
wintwooandGitHub f681879a8a Merge branch 'GoogleCloudPlatform:main' into dataproc 2022-12-28 11:23:34 +11:00
Andrew FerlitschandGitHub b5b65198a6 Mlops migrate 2 (#1394)
* migrate

* migrate

* migrate

* migrate
2022-12-22 16:13:51 -08:00
Andrew FerlitschandGitHub 3a5a14f1d8 migrate (#1392)
* migrate

* migrate
2022-12-22 14:18:53 -08:00
Kelsi LakeyandGitHub 157f8538ed [Community] Added image classification pipeline components from the Ready-to-Go Vertex project (#1379)
* Add image classification pipeline components

* Update CODEOWNERS file with image_ml_model_training
2022-12-22 11:02:57 -08:00
Alexey VolkovandGitHub 532bf04933 Fixed the version of the Scikit-learn component (#1356) 2022-12-22 11:00:35 -08:00
gericdongandGitHub 99547ccb73 fix: updated TensorBoard profiler notebooks (#1387)
* fix: set profiler mininum version

* linter fix
2022-12-21 15:56:02 -08:00
Andrew FerlitschandGitHub 2e0cd74533 Autoindex official (#1389)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 14:21:28 -08:00
Andrew FerlitschandGitHub b9a9d76e8b Autoindex official (#1388)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 14:05:32 -08:00
Andrew FerlitschandGitHub fb61e0631c Autoindex official (#1386)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 13:14:59 -08:00
Andrew FerlitschandGitHub 16c38c8fbf Autoindex official (#1385)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 12:53:24 -08:00
Andrew FerlitschandGitHub 8888e8ad7f Autoindex official (#1384)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 12:24:46 -08:00
Andrew FerlitschandGitHub c787a0e99e Autoindex official (#1383)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 12:09:13 -08:00
Phuong NguyenandGitHub 8ea77a7cb0 Update Tabular Workflows notebooks with Feature Transform Engine's new features (#1378)
* Update Tabular Workflows notebooks with Feature Transform Engine's new features from GCPC 1.0.31 release

* Fix linter errors

* Fix inline comment spacing

* Run tensorflow_docs's nbfmt

* Address comments.
2022-12-21 11:15:38 -08:00
Andrew FerlitschandGitHub 2bb6d6deb2 Autoindex official (#1382)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 11:03:43 -08:00
Andrew FerlitschandGitHub 7b235c935a Autoindex official (#1381)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 10:29:39 -08:00
Andrew FerlitschandGitHub 3c88e9284c Autoindex official (#1380)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-21 09:54:25 -08:00
Andrew FerlitschandGitHub e967b02a22 Autoindex official (#1377)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag

* upgrade: fine-tune layout for webdoc

* upgrade: fine-tuning tags and linkbacks

* upgrade: fine-tuning tags and linkbacks
2022-12-20 20:35:07 -08:00
Andrew FerlitschandGitHub aeb87cbc44 Autoindex official (#1376)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag

* upgrade: autogen index, folder to tag
2022-12-20 11:29:16 -08:00
Andrew FerlitschandGitHub 1f39a8f892 Autoindex official (#1375)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index

* upgrade: autoindex, map dirnames to tags

* upgrade: autogen index, folder to tag
2022-12-20 09:41:33 -08:00
Andrew FerlitschandGitHub d2a6508379 Autoindex official (#1373)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index

* upgrade: prep work of web index
2022-12-19 18:05:27 -08:00
Andrew FerlitschandGitHub 39d1646b3c Autoindex official (#1372)
* upgrade: prep for auto docs index

* upgrade: prep for auto docs index
2022-12-19 17:24:06 -08:00
junkourataandGitHub 4c5ede0130 Update sdk-feature-store.ipynb to add streaming ingestion (#954)
* fest: update the feature store notebook to include streaming ingestion

export VM="junkourata.c.googlers.com"

* fest: more fixing

* Add only streaming ingestion and remove any change in other sections

* Add streaming ingestion section to the notebook

* Remove changes in other sections and leave only streaming ingestion

* Add a new line at the end of the file

* Fix the syntax issue

* Applied all the suggestions by our tech writer.

* Fix the json formatting

* Fix the markdown

* Add additional fixes

* Add additional fix

* Fix formatting
2022-12-19 15:22:27 -08:00
btrinh69 7715f79807 format prediction_featurestore_integration.ipynb. 2022-12-19 23:21:59 +00:00
Soheila ZangenehandGitHub 7c8eeeb1d1 Fix: Hardcode gcpc versionand small fixes in model eval automl video classification notebook (#1270)
* Hardcode gcpc version and rename variable

* Remove hardcoded value in the pipeline

* Fix parameter explanation text

* Run linter

* Fix class labels variable
2022-12-19 15:18:20 -08:00
btrinh69 6caffbe5c3 add an E2E notebook for Prediction and Featurestore integration 2022-12-19 22:52:30 +00:00
Soheila ZangenehandGitHub 99929ca018 Minor text and code edits in model eval custom regression notebook (#1271)
* Hardcode gcpc version

* Fix variable names and text explanations

* Run linter
2022-12-19 13:51:44 -05:00
Soheila ZangenehandGitHub 6aadabd967 Fix: Hardcode gcpc version in model eval custom classification notebook (#1272)
* Update gcpc version and rename variable

* Run linter

* Fix dataset exists error
2022-12-19 13:35:47 -05:00
9b5be742c1 Fixed timeout value (#1370)
Co-authored-by: Ivan Cheung <ivanmkc@google.com>
2022-12-19 11:41:02 -05:00
Andrew FerlitschandGitHub 63d5b5e3bf debug: force use of newest cloud-build (#1369) 2022-12-19 11:07:22 -05:00
Axel PerezandGitHub 1448645ba4 Updating PyTorch Torchrun notebook in community folder (#1366)
* updating custom container with PyTorch v1.13

* moved etcd install to custom container build
2022-12-17 09:46:40 -08:00
Andrew FerlitschandGitHub 3d19ffb131 fix: timeout issue for notebook test (#1365) 2022-12-16 18:27:09 -08:00
Xiang XuandGitHub b6018551a5 add fsdp training (#1317) 2022-12-16 09:53:26 -08:00
Phuong NguyenandGitHub 65fbf0ee0b Use sample dataset from regional bucket (#1355)
* Use sample dataset from regional bucket

* retrigger checks
2022-12-16 09:48:05 -08:00
Andrew FerlitschandGitHub 427bd3d5ea upgrade: replace CURL with GAPIC (#1357) 2022-12-15 11:47:33 -08:00
Andrew FerlitschandGitHub 5f41599745 Autoindex 1 (#1354)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 14:11:12 -08:00
Andrew FerlitschandGitHub 67fbd84832 Autoindex 1 (#1353)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 12:53:09 -08:00
Andrew FerlitschandGitHub 9b427b6a1f Autoindex 1 (#1352)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 12:45:39 -08:00
Andrew FerlitschandGitHub 37d5d5b992 Autoindex 1 (#1351)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 11:26:16 -08:00
Andrew FerlitschandGitHub 287911b681 Autoindex 1 (#1350)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 11:20:14 -08:00
Andrew FerlitschandGitHub c83387181a Autoindex 1 (#1349)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective

* fix: branding and objective

* fix: branding and objective
2022-12-14 11:13:18 -08:00
Andrew FerlitschandGitHub 236d45b87e Autoindex 1 (#1348)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder

* fix: branding and objective
2022-12-14 10:50:01 -08:00
Soheila ZangenehandGitHub 4eb7b3ce39 Feature Store ingestion streaming notebook (#1321)
* Add featurestore ingestion streaming nb

* Add notebook to CODEOWNERS

* Run linter

* Add pyarrow installation

* Run linter

* Resolve PR comments

* Run linter
2022-12-14 10:47:46 -08:00
Rajesh ThallamandGitHub d74554f641 Torchrun notebook (#1344)
* PyTorch efficient training - refcator code

* Revert "PyTorch efficient training - refcator code"

This reverts commit 90b563a7697b15b4154ac76236b894253dd58f3c.

* Refactor torchrun notebook

* Refactor torchrun notebook

* Refactor torchrun notebook

* Torchrun notebook - Linting fixes

* Torchrun notebook - Linting fixes
2022-12-13 10:23:58 -08:00
Andrew FerlitschandGitHub 3e70c63899 Autoindex 1 (#1343)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance

* fix: autogen README index for workbench folder
2022-12-13 09:44:58 -08:00
Andrew FerlitschandGitHub 4c79ab91e2 Autoindex 1 (#1342)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder

* fix: template conformance
2022-12-13 09:24:15 -08:00
Andrew FerlitschandGitHub dd8a7ad325 Autoindex 1 (#1341)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes

* fix: bad links in workbench folder
2022-12-13 09:12:30 -08:00
Andrew FerlitschandGitHub a3bb273e78 Autoindex 1 (#1340)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes

* fix: update official indexes
2022-12-12 19:04:27 -08:00
Andrew FerlitschandGitHub 1ff0872546 Autoindex 1 (#1339)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official

* fix: update indexes
2022-12-12 18:56:26 -08:00
Andrew FerlitschandGitHub 91144b8476 Autoindex 1 (#1338)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices

* fix: update autogen index in official
2022-12-12 18:40:26 -08:00
Andrew FerlitschandGitHub 9822bd64a1 Autoindex 1 (#1337)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices

* fix: update official indices
2022-12-12 16:47:05 -08:00
Andrew FerlitschandGitHub f14ff50d2b Autoindex 1 (#1336)
* feat: autogen index

* feat: autogen index

* feat: autogen index

* feat: update indices
2022-12-12 16:27:49 -08:00
Andrew FerlitschandGitHub fdc30dab67 Autoindex 1 (#1335)
* feat: autogen index

* feat: autogen index

* feat: autogen index
2022-12-12 16:12:05 -08:00
Andrew FerlitschandGitHub 93229f62c9 fix: next round of restructuring. (#1163)
* fix: working on abstract class

* fix: working on abstract class

* fix: restructuring

* fix: changes per TW needs

* fix: request changes

* fix: before you begin

* feat: task: making cell navigation independent of rules

* fix: review comments

* fix: review comments

* fix: review comments

* fix: review comments

* feat: writeback fixed notebook

* fix: target=_blank detection

* fix: autofixing bad link
2022-12-12 14:55:10 -08:00
Peter PingandGitHub b37f474255 Update stream_update_for_matching_engine.ipynb (#1324)
* Update stream_update_for_matching_engine.ipynb

change "allow_list" to "allow" for index creation as allow_list is not supported but allow is supported for index creation.

* Update stream_update_for_matching_engine.ipynb

Updated to resolve the comments.

* Updated Google Cloud Notebooks to Workbench AI Notebooks
2022-12-12 09:29:38 -08:00
Ivan NardiniandGitHub 344b0dd6d7 update vertex_ai_model_registry_bqml_custom_model_versioning.ipynb (#1331)
* fix dataproc version issue

* linter test passed
2022-12-12 09:12:35 -08:00
Andrew FerlitschandGitHub 48b7cdb21d Ci admin howto 2 (#1333)
* feat: howto admin

* fix: review comments
2022-12-12 08:40:45 -08:00
Andrew FerlitschandGitHub cefdc32d5f feat: howto admin (#1330) 2022-12-09 14:52:36 -08:00
Andrew FerlitschandGitHub 7558411fbc feat: migrate batch model monitoring notebook to official (#1322)
* feat: migrate notebook to official

* fix: set links to official

* fix package issue when testing

* Update batch_prediction_model_monitoring.ipynb

* Update batch_prediction_model_monitoring.ipynb

* Update batch_prediction_model_monitoring.ipynb

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: install/import issues

* fix: dependencies

* fix: missing import
2022-12-09 14:38:33 -08:00
Renovate Bot e01174f169 chore(deps): update dependency black to v22.12.0 2022-12-09 16:42:13 +00:00
Andrew FerlitschandGitHub 1c0487c459 fix: rm line about load mean/stddev (#1327) 2022-12-08 15:04:56 -08:00
Win Woo 62c903f47d Addressed PR feedback 2022-12-08 03:01:56 +00:00
Edgar BermudezandGitHub 6b7bb867ab Fixed links to notebooks (#1302)
* Update README.md

* Fixed links to notebooks

* Fixed links to notebooks
2022-12-07 16:58:42 -08:00
Alexey VolkovandGitHub 8c7363c2b0 Updated the tabular training pipelines to load the components from the vertex-ai-samples repo (#1326) 2022-12-07 16:54:34 -08:00
Brian KangandGitHub 2ea22da2bf Briankang pytorch torchrun (#1323)
* Adding PyTorch Torchrun example

* Revert 'Adding PyTorch Torchrun example'

This reverts commit 239b9fe3b7

* Adding PyTorch torchrun ImageNet training example

* Updated CODEOWNERS for PyTorch torchrun example

* Ran Linter

* Updated based on review feedback
2022-12-07 09:52:49 -08:00
Soheila ZangenehandGitHub 1d96584421 Notebook to demonstrate feature filtering in BatchPredictionJob (#1309)
* Add feature filter notebook

* Clean code

* Run linter

* Add the notebook to CODEOWNERS

* Remove user flag

* Run linter

* Fix bucket URI

* Run linter

* Simplify the notebook
2022-12-07 09:49:29 -08:00
Ivan NardiniandGitHub 06d57da90c inardini -- anomaly detection with BigQuery ML and Vertex AI (#1319)
* adding anomalydetection pipeline

* reviewed notebook

* add code owner

* remove to do

* linter test

* reviewed based on feeback from andy

* linter test passed

* fix links

* linter test passed
2022-12-07 09:42:34 -08:00
Alexey VolkovandGitHub 355105218d Added pipeline components used in the "Train_tabular_models_with_many_frameworks_and_import_to_Vertex_AI_using_Pipelines" samples (#1294)
* Added pipeline components used in the "Train_tabular_models_with_many_frameworks_and_import_to_Vertex_AI_using_Pipelines" samples.

* Removed Pandas type conversion

* Removed Pandas type conversion
2022-12-06 16:42:06 -08:00
Alexey Volkov da77846b88 fix: Fixed the Scikit-learn components 2022-12-06 15:42:27 -08:00
Andrew FerlitschandGitHub 3090a312c0 fix: autofix bad links (#1318)
* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links

* fix: autofix bad links
2022-12-06 14:17:41 -08:00
8c265ee1ef Added matching engine resource managers (#1314)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-12-01 13:41:23 -08:00
fdbfecda04 Updates notebooks/official/model_evaluation/custom_tabular_regression_model_evaluation.ipynb (#1264)
* remove key_columns variable

* ran linter

* remove key_columns in text

* notebooks/official/model_evaluation/custom_tabular_regression_model_evaluation.ipynb

* modified text

* ran linter

* andrew comments resolved

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-12-01 09:30:42 -08:00
7050730b6a sdk_automl_tabular_regression_online_bq (#1246)
* bioler plate changes

* linter test

* made review changes

* linter test

* bioler plate changes

* linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-12-01 05:04:26 -08:00
Ivan CheungandGitHub 4ec962d277 custom-tabular-bq-managed-dataset.ipynb: Addressed comments regarding evaluation, normalization and dataset creation (#1313)
* Address comments

* Added back BQ dataset creation
2022-11-30 16:09:39 -05:00
Ivan CheungandGitHub 3185ca7d48 Hierarchical forecasting notebook (#664)
This is a hierarchical forecasting notebook demonstrating the use of the new hierarchical forecasting parameters for AutoML Forecasting.

If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [x] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [x] Follow the style and grammar rules outlined in the above notebook template.
- [ ] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [x] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [x] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.
2022-11-30 20:02:13 +00:00
Chun-Hsiang Wang 7c123e68d3 samples: Remove experimental text from Pytorch sample. 2022-11-30 07:46:08 +00:00
sudarshan-SpringMLandGitHub 32ac97982c Updates sdk_automl_video_action_recognition_batch.ipynb (#1233)
File came in regression log. Unable to download executed notebook. When ran in local, file executed successfully.
**Changes made**:

Update notebook according to template

- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>
2022-11-30 00:04:13 +00:00
uday kumarandGitHub 1aa94377f5 automl-text-classification (#1244)
**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

<br>
Changed according to boilerplate requirement.
<br><br><br>

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.
2022-11-29 06:20:13 +00:00
sarahcduganandGitHub 7271fde2d7 Adding a link to documentation (#1305)
Currently the notebook references docs but doesn't link to them.

**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

<br>
--- YOUR PR SUMMARY GOES HERE ---
<br><br><br>

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [ ] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [ ] Follow the style and grammar rules outlined in the above notebook template.
- [ ] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [ ] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [ ] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [ ] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>

2. If you are opening a PR for `Community Notebooks` under the [notebooks/community](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/community) folder:
- [ ] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/CODEOWNERS) file under the `Community Notebooks` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).

<br>

3. If you are opening a PR for `Community Content` under the [community-content](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/community-content) folder:
- [ ] Make sure your main `Content Directory Name` is descriptive, informative, and includes some of the key products and attributes of your content, so that it is differentiable from other content
- [ ] The main content directory has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/community-content/CODEOWNERS) file under the `Community Content` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
2022-11-28 23:24:13 +00:00
Ivan CheungandGitHub 71431d5520 pipelines_intro_kfp.ipynb: Reduced boilerplate (#1307)
Reduced boilerplate in pipelines_intro_kfp.ipynb
2022-11-28 19:44:13 +00:00
Andrew FerlitschandGitHub 0f58771ecd fix: bad link (#1303) 2022-11-27 10:16:58 -05:00
05c5b68db1 pytorch efficient training (#1257)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-26 16:48:11 -08:00
ee2744a7de Updates file google_cloud_pipeline_components_automl_images.ipynb (#1238)
* modified notebook

* ran linter

* ivan comments addressed

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-26 16:38:29 -08:00
a32db129ea Update notebook to use v1 components (#1260)
Co-authored-by: Win Woo <wwoo@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-25 22:21:18 -08:00
c9aff9a5d9 training-multi-class-classification-model-for-ads-targeting-usecase (#1161)
* Made changes in accordance with notebook template

* Ran Linter test

* Changed protobuf version

* Ran linter test

* made sklearn to scikit learn

* ran linter

* andrew comments addressed

* ran linter

* ivan comments addressed

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: sudarshan-SpringML <82567512+sudarshan-SpringML@users.noreply.github.com>
Co-authored-by: sudarshan-SpringML <sudarshan.c@springml.com>
2022-11-25 21:35:40 -08:00
bhupana @ springmlGitHubIvan Cheunggcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>Andrew Ferlitsch
7324b084ee Made minor changes to Google cloud pipeline components automl tabular notebook (#1253)
* made some minor changes

* Ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-25 21:08:27 -08:00
095b0bd628 sdk_matching_engine_for_indexing.ipynb: Adds filtering example to matching engine notebook. (#1249)
* Added matching engine filtering notebook

* Added filter

* Fixed typos in other notebooks and linted

* Fixed lint issues

* Added PROJECT_NUMBER retrieval

* Removed unneeded RANDOM_ID

* Linted

* Reverted changes

* Fixed review comments

Co-authored-by: gericdong <itseric@google.com>
2022-11-25 18:04:08 -08:00
Ivan CheungandGitHub 7a1b262154 Regression notebook: Remove unneeded cells (#1297)
Removed unneeded cells.
2022-11-23 21:38:13 +00:00
gericdongandGitHub ad1a827824 feat: Reorganize all TensorBoard notebooks together under directory 'tensorboard" (#1296)
**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

<br>
This is the first step of two to move the TensorBoard profiler to tensorboard directory.
<br><br><br>

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [ ] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [ ] Follow the style and grammar rules outlined in the above notebook template.
- [ ] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [ ] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [ ] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [ ] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>

2. If you are opening a PR for `Community Notebooks` under the [notebooks/community](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/community) folder:
- [ ] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/CODEOWNERS) file under the `Community Notebooks` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).

<br>

3. If you are opening a PR for `Community Content` under the [community-content](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/community-content) folder:
- [ ] Make sure your main `Content Directory Name` is descriptive, informative, and includes some of the key products and attributes of your content, so that it is differentiable from other content
- [ ] The main content directory has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/community-content/CODEOWNERS) file under the `Community Content` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
2022-11-23 16:48:15 +00:00
Ivan CheungandGitHub 1ff7fc70ed custom-tabular-bq-managed-dataset.ipynb: Remove preprocessing (#1278)
- [x] Removed pre-processing (normalization)

This simplifies the code but reduces accuracy.
2022-11-23 16:16:42 +00:00
Ivan CheungandGitHub b45e17efc0 sdk_automl_tabular_regression_batch_bq.ipynb: Fixed unneeded concatenation (#1265)
- [x] Fixed unneeded concatenation
- [x] Fixed incorrect service account info.
2022-11-23 03:02:15 +00:00
gericdongandGitHub 98ad1655a7 fix: updated TensorBoard profiler notebook 2 (#1284)
* fix: updated TensorBoard profiler notebook 2

* Address linter check errors

* Addressed review comments 2

* Added prints for debug

* Added --quiet for another gcloud command
2022-11-22 19:24:36 -05:00
uday kumarGitHubgcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
19d56c0fa0 sdk_automl_image_object_detection_batch (#1240)
* changed according to boiler plate requirements

* ran linter test

* changed according to boilerplate requirements

* linter test

* changed file based on boilerplate requirements

* linter test

* biolerplate requirements

* linter test

* changes based on boilerplate

* linter test

* added os library

* linter test

* textual corrections

* linter test

* biolerplate chnages

* linter test

* bioler plate changes

* linter test

Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
2022-11-22 14:44:15 -05:00
Soheila ZangenehandGitHub a3ee3687da Fix: Hardcode gcpc version in model eval automl regression notebook (#1267)
**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

Hardcoded gcpc version because it fails in newer versions. And this is a request from model eval swe team to hardcode the version.

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [x] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [x] Follow the style and grammar rules outlined in the above notebook template.
- [x] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [x] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [x] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [x] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.
2022-11-22 01:44:13 +00:00
Soheila ZangenehandGitHub ff1b9ad8ef Fix: Hardcode gcpc version in model eval automl classification notebook (#1268)
* Hardcode gcpc and use better variable name

* Run linter
2022-11-21 15:33:51 -05:00
sudarshan-SpringMLandGitHub 64b4f5103c Updates notebooks/official/pipelines/google_cloud_pipeline_components_model_train_upload_deploy.ipynb (#1250)
**Error from regression test**:RuntimeError: Job failed with:
code: 9
message: "The DAG failed because some tasks failed. The failed tasks are: [model-deploy].; Job (project_id = python-docs-samples-tests, job_id = 2073372166241386496) is failed due to the above error.; Failed to handle the job: {project_number = 1012616486416, job_id = 2073372166241386496}"

Changes made:
Just ran notebook in local. It ran fine. Updated notebook according to template


- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>
2022-11-18 20:16:14 +00:00
bhupana @ springmlandGitHub a2e8f933dc Sdk custom image classification batch (#1252)
boilerplate for sdk-custom-image-classification-batch notebook

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [ ] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [ ] Follow the style and grammar rules outlined in the above notebook template.
- [x] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [x] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [x] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.
2022-11-18 18:28:14 +00:00
sudarshan-SpringMLandGitHub 5cb368585c Updates notebooks/official/custom/sdk-custom-image-classification-online.ipynb (#1247)
Reduce boilerplate for sdk-custom-image-classification-online.ipynb notebook

- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>
2022-11-18 17:24:15 +00:00
uday kumarandGitHub db96de8266 sdk-metric-parameter-tracking-for-custom-jobs (#1242)
**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

<br>

1. Boilerplate changes.
2. Added code for deleting experiment otherwise its throwing experiment name already exist.
<br><br><br>

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>
2022-11-18 17:04:13 +00:00
uday kumarandGitHub 18440f5c0c sdk-metric-parameter-tracking-for-locally-trained-models (#1248)
**REQUIRED:** Add a summary of your PR here, typically including why the change is needed and what was changed. Include any design alternatives for discussion purposes.

<br>
Boilerplate changes.
<br><br><br>

**REQUIRED:** Fill out the below checklists or remove if irrelevant
1. If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [X] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [X] Follow the style and grammar rules outlined in the above notebook template.
- [X] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [X] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [X] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [X] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.

<br>
2022-11-18 16:34:15 +00:00
Mend RenovateandGitHub 95d44d0cf5 chore(deps): update dependency nbqa to v1.5.3 (#1259) 2022-11-18 10:42:11 -05:00
Win Woo 9f26e8385d Show how to use experiments 2022-11-18 10:02:02 +00:00
Mend RenovateGitHubIvan Cheunggcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
fc2e91d050 chore(deps): update dependency nbqa to v1.5.2 (#967)
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: gcf-merge-on-green[bot] <60162190+gcf-merge-on-green[bot]@users.noreply.github.com>
2022-11-17 15:47:43 -05:00
Mend RenovateandGitHub b8872c1e03 chore(deps): update dependency black to v22.10.0 (#918) 2022-11-17 15:45:52 -05:00
b21ec83ba3 chore(deps): update dependency pyupgrade to v2.38.4 (#1042)
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-11-17 15:41:39 -05:00
Jonathan SimonandGitHub d42cc4fbc9 Update notebooks/official/matching_engine/README.md (#1258)
* Update notebooks/official/matching_engine/README.md

* Update region tag formatting

* Update README.md format for single notebook

* Remove horizontal-rules for single notebook
2022-11-17 12:04:17 -08:00
Kacper KulczakandGitHub 28ceb8085e bugfix: custom region for training (#722)
If you are opening a PR for `Official Notebooks` under the [notebooks/official](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/official) folder, follow this mandatory checklist:
- [x] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [x] Follow the style and grammar rules outlined in the above notebook template.
- [x] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [x] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [x] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/official/CODEOWNERS) file under the `Official Notebooks` section, pointing to the author or the author's team.
- [x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.


If you are opening a PR for `Community Notebooks` under the [notebooks/community](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/notebooks/community) folder:
- [ ] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/community/CODEOWNERS) file under the `Community Notebooks` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).

If you are opening a PR for `Community Content` under the [community-content](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/tree/main/community-content) folder:
- [ ] Make sure your main `Content Directory Name` is descriptive, informative, and includes some of the key products and attributes of your content, so that it is differentiable from other content
- [ ] The main content directory has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/community-content/CODEOWNERS) file under the `Community Content` section, pointing to the author or the author's team.
- [ ] Passes all the required formatting and linting checks. You can locally test with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/CONTRIBUTING.md#code-quality-checks).
2022-11-17 19:08:14 +00:00
Juan AcevedoandGitHub a460dcbdd8 f/find_ideal_machine_type_endpoints (#1256)
* initial commit

* add CODEOWNERS
2022-11-16 14:58:01 -08:00
Krishna Chaitanya MovvaandGitHub a76ffe0103 moves the owners line from community file to the official file for SDK_FBProphet_forecasting_online.ipynb notebook (#1254) 2022-11-16 16:06:01 -05:00
168c5c2f15 Add custom tabular classification model evaluation notebook (#1219)
* adds the custom tabular classification evaluation notebook

* removes json import

* ran linter test

* fixes the model serving code and adds image

* ran linter test

* adds notebook to the codeowners file

* addresses the review comments: updates text, adds headings

* ran linter test

* boiler-plate reduction, addresses the review comments, adds a constant for table id

* ran linter test

* updates the installation step

* ran linter test

* removes the --user flag while installation

* ran linter test

Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
2022-11-16 10:12:14 -05:00
Krishna Chaitanya MovvaandGitHub d45bbb36df Adding the official version for SDK-FB-prophet-online-forecasting-notebook (#317)
Checklist for moving the notebook to the main repo: 
- [x] Use the [notebook template](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/notebooks/notebook_template.ipynb) as a starting point.
- [x] Follow the style and grammar rules outlined in the above notebook template.
- [x] Verify the notebook runs successfully in Colab since the automated tests cannot guarantee this even when it passes.
- [x] Passes all the required automated checks. You can locally test for formatting and linting with these [instructions](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/docs/contributing.md#code-quality-checks).
- [ ] You have consulted with a tech writer to see if tech writer review is necessary. If so, the notebook has been reviewed by a tech writer, and they have approved it.
- [x] This notebook has been added to the [CODEOWNERS](https://togithub.com/GoogleCloudPlatform/vertex-ai-samples/blob/main/docs/CODEOWNERS) file under `# Official Notebooks` section, pointing to the author or the author's team.
- [x] The Jupyter notebook cleans up any artifacts it has created (datasets, ML models, endpoints, etc) so as not to eat up unnecessary resources.
2022-11-16 00:26:14 +00:00
a83ee780f1 Update file automl_tabular_regression_model_evaluation (#1179)
* text correction made

* ran linter

* modified file

* ran linter

* updated file

* ran linter

* addressed comments

* ran linte

* changing component and parameter names as per new gcpc 1.0.26

* ran linter

* updated notebook as per new package changes

* modified notebook

* ran linter

Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-15 10:01:36 -05:00
uday kumarandGitHub 0fffaee6dc Merge branch 'main' into auto_tab_on_vertex_pipeline 2022-11-14 15:42:17 +05:30
udaypunna c34b7ab651 linter test 2022-11-14 07:47:02 +00:00
udaypunna d57d9be9d4 downgraded gcpc version 2022-11-14 07:46:18 +00:00
udaypunna 88f3ecf567 downgraded gcpc version 2022-11-14 07:45:12 +00:00
6011ca5127 Tabnet on Vertex pipelines (#1171)
* Cloud Storage bucket permission issues resolved

* Cloud Storage bucket permission issues resolved

* ran linter test

* DAG issues

* linter test

* textual corrections

* ran linter test

* added service account for pipeline job

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-12 07:30:45 -08:00
haomengchaoandGitHub d53ebed734 fix vertex ai pipelines name issue and rename the colab (#1239)
* fix vertex ai pipelines name issue and rename the colab

* lint
2022-11-11 15:01:43 -05:00
38f29064a0 Updated file notebooks/official/automl/sdk_automl_tabular_regression_batch_bq.ipynb (#1217)
* notebooks/official/automl/sdk_automl_tabular_regression_batch_bq.ipynb

* updated text

* ran linter

* removed --user

* ran linter

* modified notebook, updated installs section

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-11-11 08:15:04 -08:00
Ivan CheungandGitHub 6ccad69a18 Reduce boilerplate for custom tabular bq notebook (#1207)
* Reduced boilerplate

Ran linter and fixed install

Added pyarrow

Fixed pip install

Reverted unneeded changes

Fixed pip install

Linted code and added missing preprocessor call

Fixed preprocessor

Default to us-central1

* Ran linter

* Simplified service account section
2022-11-10 17:47:13 -05:00
Andrew FerlitschandGitHub 0ca86220f8 feat: log model size (#1234) 2022-11-10 13:44:08 -05:00
Andrew FerlitschandGitHub 25e004b60e feat: DIY autlogging for XGBoost (#1229)
* feat: DIY autlogging for XGBoost

* feat: add more heap injection

* feat: lint issues

* fix: review comments
2022-11-10 12:25:27 -05:00
871288ac1a feat: add TFModel example (#1232)
Co-authored-by: gericdong <itseric@google.com>
2022-11-10 12:01:26 -05:00
uday kumarandGitHub ecfbeaa8ce Merge branch 'main' into auto_tab_on_vertex_pipeline 2022-11-10 15:46:16 +05:30
udaypunna 3e5a319455 ran linter test 2022-11-10 10:13:43 +00:00
udaypunna f35ce3432a gcpc version downgraded 2022-11-10 10:12:56 +00:00
753bb0e120 Update file automl_video_classification_model_evaluation (#1201)
* added model evaluation component

* linter test cases

* linter test cases

* model_name param issues resolved

* linter test case

* import issues resloved

* linter test cases

* made review changes

* made review changes

* ran linter test

* made review changes

* made review changes

* made review changes

* linter test

* ran linter test

* made review changes

* ran linter test

* made review changes

* ran linter test

* linter test

* review changes

* ran linter test

* added The links for Colab, Github and Workbench

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

* notebook title changed

* ran linter test

* text changes and made review changes

* ran linter test

* made review changes

* linter test

* made review changes

* linter test

* content changes

* ran linter test

* textual corrections and links

* ran linter test

* changed function names bases on latest gcpc version

* ran linter test

* changed function names bases on latest gcpc version

* linter test

* ran linter test

* updated arguments in ModelEvaluationClassificationOp based on new version

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
2022-11-09 23:16:46 -08:00
3893b76486 Modified notebook notebooks/official/workbench/demand_forecasting/forecasting-retail-demand.ipynb (#1200)
* modified notebook

* ran linter

* removed unused libraries

* ran linter

* comments resolved

* ran linter

* updated library

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-09 17:55:40 -08:00
ee805e7846 Creates a notebook for batch-prediction pipeline with BQ I/O on a custom-tabular model (#992)
* adds the custom-model-bq-io-batch-prediction-pipeline notebook to the official folder

* removes the unused libraries and variables

* ran linter test

* adds a raise exception statement to prevent auto-test check as this notebook is just to serve as a template

* resolves review comments: fixes names, removes trailing comma, fixes link format

* removes the raise excpetion step

* ran linter test

* cleans up code, explains sections and renames the notebook

* removes unused variable batch_predict_task

* removes unnecessary imports

* ran linter test

* updates the dependencies

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-09 16:16:48 -08:00
Ivan CheungandGitHub eb605b7943 Linted file (#1231) 2022-11-09 15:30:41 -05:00
Andrew FerlitschandGitHub 6f0cab7bbb fix: bad links in auto logging notebook (#1225)
* feat: DIY autologging

* feat: DIY autologging

* fix: bad links
2022-11-09 09:41:16 -05:00
udaypunna 2e9ff4a941 linter test 2022-11-09 14:40:27 +00:00
udaypunna 61fbd37fa4 service account and version chnages 2022-11-09 14:39:38 +00:00
udaypunna 474e4e602b ran linter test 2022-11-09 14:14:47 +00:00
udaypunna e409cf710b added service account and downgraded gcpc version 2022-11-09 14:14:06 +00:00
eb9b6552d8 feat: DIY autologging (#1224)
* feat: DIY autologging

* feat: DIY autologging

Co-authored-by: gericdong <itseric@google.com>
2022-11-08 17:04:19 -05:00
Ivan CheungandGitHub 35d71b410e Boilerplate reduction: Notebook template (#1204)
* Reduced notebook boilerplate

* Fixed lint issues

* Added unique suffix note

* Added unique string processor and moved tests to own folder

* Fixed broken link

* Added message about updating links

* Fixed typo

* Added missing import

* Added back useful instructions

* Addressed comments

* Removed matching engine

* Fixed comments
2022-11-08 14:10:50 -05:00
udaypunna e9bac09dce ran linter test 2022-11-08 05:40:59 +00:00
udaypunna b799aad08a gcpc version and textual corrections 2022-11-08 05:40:09 +00:00
b7d98d6f9a Vertex SDK AutoML Text Sentiment Analysis (#1157)
* bucket issues

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-07 20:12:51 -08:00
a421dc1354 Modified file sdk_automl_video_object_tracking_batch.ipynb (#1151)
* file modified

* ran linter

* model evaluation metrics are printed

* ran linter

* notebook modified

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-07 12:50:17 -08:00
a4a72c8b22 Modified file notebooks/official/migration/UJ10 Vertex SDK Custom Scikit-Learn with pre-built training container.ipynb (#1165)
* modified file

* ran linter

* unused library removed

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-07 09:18:25 -08:00
5c403dde3d Minor updates for automl-tabular-classification-model evaluation notebook (#1184)
* upgrades gcpc to latest, adds minor textual corrections

* ran linter test

* minor textual corrections

* ran linter test

* fixes sentence cases, unnecessary capitalizations, article corrections and sentence corrections

* ran linter test

* renames the ground_truth_column argument in classificationeval component to target_field_name as per version 1.0.26 and updates the reference link

* ran linter test

* upgrades gcpc to latest, adds minor textual corrections

* ran linter test

* minor textual corrections

* ran linter test

* fixes sentence cases, unnecessary capitalizations, article corrections and sentence corrections

* ran linter test

* renames the ground_truth_column argument in classificationeval component to target_field_name as per version 1.0.26 and updates the reference link

* ran linter test

* fixes the prediction_score_column unsupported error, adds class_labels field, adds the targetfieldremover component, minor structural/textual updates

* ran linter test & updates the image

* removes unnecessary newline

* ran linter test

Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-07 08:15:33 -08:00
udaypunna 4d6bd1afff ran linter test 2022-11-07 07:46:14 +00:00
udaypunna b4040ff01d textual corrections 2022-11-07 07:45:25 +00:00
a85753e1b7 Adds Pytorch text sentiment classification notebook to official folder: (#1166)
* Custom pytorch text sentiment classification

* Ran linter test

* Added creating predictor directory

* ran linter test

* Creating python package files from the notebook

* Ran linter test

* cleans up the pytorch-text-classification notebook, renames the directory and removes unnecessary files

* ran linter test

* rectifies the python test version

* ran linter test

* removes the python version line

* ran linter test

* restores the README.md file for official folder

* minor textual edits

* ran linter test

* updates notebook structure, removes unnecessary print statements, moves import statements to one cell, textual updates

* ran linter test

* corrects the Colab link

* ran linter test

* addresses review comments: grammatical/textual corrections

* ran linter test

Co-authored-by: krishr2d2 <krishna.movva@springml.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-04 22:09:00 -07:00
2f54cf23cc Made some Minor changes to Uj7 vertex sdk auto ml text entity extraction notebook (#1057)
* Made Minor changes

* Ran Linter test

* Made minor changes

* ran linter test

* Madesome Minor changes

* Ran linter test

* Made some minor changes

* Ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-04 19:51:05 -07:00
ffc7427265 Bqml online prediction v1 (#1160)
* Made changes in accordance with the notebook_template

* Ran Linter Test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-04 14:17:36 -07:00
0e738b506f Made minor changes to Tensorboard custom training with custom container (#1051)
* UID changes added

* Ran lintertest

* removed pip install

* modified custom code

* ran linter test

* Made Minor changes

* Ran linter test

* Ran linter test

Co-authored-by: sudarshan-SpringML <sudarshan.c@springml.com>
Co-authored-by: sudarshan-SpringML <82567512+sudarshan-SpringML@users.noreply.github.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-04 12:24:06 -07:00
fdeaaa37fb Update file sdk_automl_text_sentiment_analysis_online (#1208)
* added uuid and textual correction

* ran linter test

* made one cell for pip installations

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-04 08:51:36 -07:00
fed7df10ac Use correct display name for Vertex AI Matching Engine brute force index (#1189)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-03 19:11:41 -07:00
725b2fdd32 Updated file custom_tabular_regression_model_evaluation (#1198)
* made text corrections

* ran linter

* modified notebook

* modified notebook

* ran linter

* modified installation step

* ran linter

* updated component name and parameters

* ran linter

* ran linter

Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-03 13:57:47 -07:00
a70f93fe0a Resolves name collisions in featurestore-pandas notebook + elaborates descriptions (#1199)
* updates featurestore name with uuid to avoid name collisions, elaboration, textual corrections

* ran linter test

* addresses review comments: adds headings + textual corrections

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-03 12:43:25 -07:00
d03697cf73 Vertex AI Experiments - All-in-one notebook (#1216)
* add notebook. update codeowners

* linter fixes

* linter test passed

* fix issues

* linter passed

* implement andy's comments

* linter passed

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-11-03 11:56:08 -07:00
haomengchaoandGitHub 191f2a11bc add doc about using tensorboard in vertex pipeline (#1190)
* add doc about using tensorboard in vertex pipeline

* format the doc

* fix format

* set default value to params

* fix format

* fix import

* fix format again

* update colab, github and workbench link

* update according to latest offical notebook template

* update according to comments
2022-11-03 11:38:36 -07:00
1b692bc330 feat: notebook request from UX community meeting (#1215)
Co-authored-by: gericdong <itseric@google.com>
2022-11-03 10:28:00 -07:00
Andrew FerlitschandGitHub edfd7727d3 feat: monitor non-TF model (#1211)
* feat: monitor non-TF model

* fix: review comments
2022-11-03 07:06:03 -07:00
Alexey Volkov c29e4fde26 Train tabular models with many frameworks and import to Vertex AI using Pipelines
These pipelines were previously in community content.
We'd like to move them to the official folder.

These pipelines are:

* Working out of the box (code runs with zero modifications)
* End-to-end (from nothing to a Vertex Model)
* Feature multiple ML frameworks (TensorFlow, PyTorch, XGBoost, Scikit-learn)
* Feature multiple training objectives: tabular classification and tabular regression

The main files are Python-based pipeline code (`pipeline.py`).
2022-11-03 01:53:55 -07:00
Andrew FerlitschandGitHub 5d32bd8835 fix: error in text cell (#1214) 2022-11-02 19:26:55 -04:00
Nikita NamjoshiandGitHub 8b188a11b2 fix broken links in hptune example (#1210)
* fix broken links

* fix linter
2022-11-02 10:31:38 -05:00
Andrew FerlitschandGitHub 83546a8e7b feat: TF Serving with TF tabular model (#1209)
* feat: TF Serving with TF tabular model

* fix: typo
2022-11-01 15:22:01 -04:00
c9aa6df17b fix: bad links for HPT notebook (#1205)
* Added notebook demonstrating hyperparameter tuning

* fix lint errors

* fix failing test

* ran linter

* ran linter

* resolved editorial comments

* small editorial edits

* fix failing test

* fix linter

* update colab and workbench links

Co-authored-by: nikitamaia <namjoshi.nikita@gmail.com>
2022-11-01 13:23:28 -05:00
b4955b28a2 Train tabular models with many frameworks and import to Vertex AI using Pipelines (#1174)
These pipelines are:

* Working out of the box (run with zero modifications)
* End-to-end (from nothing to a Vertex Model)
* Feature multiple ML frameworks (TensorFlow, PyTorch, XGBoost, Scikit-learn)
* Feature multiple training objectives: tabular classification and tabular regression

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-11-01 11:00:04 -04:00
Andrew FerlitschandGitHub f33d9eb6d1 feat: add example of instance schema (#1203) 2022-10-31 14:21:56 -07:00
Andrew FerlitschandGitHub 1bdbb7921a fix: reduce visibility of proto code (#1202) 2022-10-31 16:00:27 -04:00
7154a722ba Update Experiments notebook for log_classification_metrics (#1182)
* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

* Update build_model_experimentation_lineage_with_prebuild_code.ipynb

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-31 12:27:27 -07:00
halio-gandGitHub 99d4a8c31a Adding Open Source Vizier converstion sample[Updated] (#1187)
* Add a colab to show how to integrate the training job with Dask.

* Reformat the notebook xgboost_data_parallel_training_on_cpu_using_dask

* Add the code owner of the sample training/xgboost_data_parallel_training_on_cpu_using_dask.ipynb

* Changed the project id to [your-project-id].

* Fixed the issue for Non colab.

* Adding the sample of converting the Vertex Vizier SDK with Open source Vizier.

* Add the owner for conversions_vertex_vizier_and_open_source_vizier.ipynb

* Addressed the comments in the xgboost_data_parallel_training_on_cpu_using_dask

* Fixed the format of xgboost_data_parallel_training_on_cpu_using_dask

* Addressed the comments in the training/xgboost_data_parallel_training_on_cpu_using_dask.ipynb

* Add explanation that Docker is not available on Colab.

* Add  before docker command.

* add timeout in the worker to wait for the scheduler.

* Addressed the comments in the pr.

* Addressed the comments in the pr.
2022-10-28 15:26:14 -07:00
f9cedf2850 Added notebook demonstrating hyperparameter tuning (#1168)
* Added notebook demonstrating hyperparameter tuning

* fix lint errors

* fix failing test

* ran linter

* ran linter

* resolved editorial comments

* small editorial edits

* fix failing test

* fix linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-28 09:53:22 -07:00
f4f0112a6a Pipelines xgboost (#1196)
* feat: add notebook

* feat: add notebook

* fix: typos in text

Co-authored-by: gericdong <itseric@google.com>
2022-10-27 20:18:20 -04:00
Kevin NaughtonandGitHub e441568c38 Quick typo update in model_monitoring.ipynb (#1197)
The Monitoring Interval is in hours, not seconds.
2022-10-27 17:10:42 -07:00
Andrew FerlitschandGitHub fee8c969e4 feat: add xgboost pipeline notebook (#1194)
* feat: add notebook

* feat: add notebook
2022-10-27 15:20:10 -04:00
Andrew FerlitschandGitHub bdac091e3f feat: add sklearn pipeline notebook (#1193)
* feat: add notebook

* feat: add notebook

* fix: typo in text for dataset-url
2022-10-27 13:32:09 -04:00
kthytangandGitHub ff9338ed3c chore: remove preview note from CPR notebooks (#1192) 2022-10-26 11:31:42 -07:00
Andrew FerlitschandGitHub 1a538fd249 fix: multi-class vs binary classifier (#1191) 2022-10-26 08:28:35 -07:00
4f09c94b5f fix: textual corrections and Upgrade the gcpc version for automl_video_classification_model_evaluation notebook. (#1169)
* added model evaluation component

* linter test cases

* linter test cases

* model_name param issues resolved

* linter test case

* import issues resloved

* linter test cases

* made review changes

* made review changes

* ran linter test

* made review changes

* made review changes

* made review changes

* linter test

* ran linter test

* made review changes

* ran linter test

* made review changes

* ran linter test

* linter test

* review changes

* ran linter test

* added The links for Colab, Github and Workbench

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

* notebook title changed

* ran linter test

* text changes and made review changes

* ran linter test

* made review changes

* linter test

* made review changes

* linter test

* content changes

* ran linter test

* textual corrections and links

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
2022-10-25 17:32:44 -04:00
bcf3e6b0f5 Updated file custom_tabular_regression_model_evaluation (#1180)
* made text corrections

* ran linter

* modified notebook

* modified notebook

* ran linter

* modified installation step

* ran linter

Co-authored-by: Soheila Zangeneh <49654056+soheilazangeneh@users.noreply.github.com>
2022-10-25 12:42:48 -04:00
Bo zhengandGitHub fbcf783064 feat: change E2E AutoML dataset to use bank marketing data
* Change E2E AutoML dataset to use bank marketing data

* Remove vs code config
2022-10-24 22:15:43 -07:00
halio-gandGitHub 2f5fe80f34 Adding the official version for Dask parallel training on cpu (#1153)
* Add a colab to show how to integrate the training job with Dask.

* Reformat the notebook xgboost_data_parallel_training_on_cpu_using_dask

* Add the code owner of the sample training/xgboost_data_parallel_training_on_cpu_using_dask.ipynb

* Changed the project id to [your-project-id].

* Fixed the issue for Non colab.

* Addressed the comments in the xgboost_data_parallel_training_on_cpu_using_dask

* Fixed the format of xgboost_data_parallel_training_on_cpu_using_dask

* Addressed the comments in the training/xgboost_data_parallel_training_on_cpu_using_dask.ipynb

* Add explanation that Docker is not available on Colab.

* Add  before docker command.

* add timeout in the worker to wait for the scheduler.
2022-10-24 10:37:13 -07:00
a850f3a88a fix: missed bad links (#1183)
* fix: missed bad links

* fix: missed bad links

Co-authored-by: gericdong <itseric@google.com>
2022-10-21 11:09:11 -04:00
Andrew FerlitschandGitHub de91feaca1 Update README.md (#1181)
added missing link
2022-10-21 07:15:38 -07:00
Andrew FerlitschandGitHub a7fd0734dc feat: XGBoost online serving (#1175)
* feat: xgboost online serving

* fix: review comments and added pipeline example

* fix: review comments
2022-10-19 08:49:31 -07:00
Soheila ZangenehandGitHub ce1b167f08 Edit folder and file name for model registry (#1178)
* Update folder and file name

* Update file name

* Update CODEOWNERS

* Update notebook links

* Update README

* Run linter
2022-10-18 14:40:52 -07:00
Soheila ZangenehandGitHub 65ff3cab60 Revert "Update folder and file names (#1176)" (#1177)
This reverts commit c7ef72f1d3.
2022-10-18 16:59:39 -04:00
Soheila ZangenehandGitHub c7ef72f1d3 Update folder and file names (#1176)
* Rename folder

* Rename file

* Update the links

* Update CODOWNERS

* Run linter
2022-10-18 16:42:36 -04:00
Andrew FerlitschandGitHub bd58428857 fix: issue 1122 (#1173) 2022-10-18 15:09:35 -04:00
udaypunna c6fdad745f linter test 2022-10-18 12:01:03 +00:00
udaypunna 3c60c2cb97 DAG issues 2022-10-18 12:00:18 +00:00
udaypunna 278a014817 ran linter test 2022-10-17 06:36:00 +00:00
udaypunna 89ec43c706 Cloud Storage bucket permission issues resolved 2022-10-17 06:35:26 +00:00
udaypunna ba6be7ee99 Cloud Storage bucket permission issues resolved 2022-10-17 06:30:12 +00:00
Andrew FerlitschandGitHub a4a6ed848b fix: working on abstract class (#1156)
* fix: working on abstract class

* fix: working on abstract class
2022-10-13 10:56:17 -04:00
Andrew FerlitschandGitHub b753bc58d3 fix: enum and cell index naming (#1152) 2022-10-12 14:54:57 -04:00
6279e12eea Bug fixes and automation improvements for google_cloud_pipeline_components_dataproc_tabular.ipynb (#1139)
* Bug fixes and improved automation

* Clean up notebook

* Add --quiet flag to gcloud call

* Add Python prediction and subnetwork parameter

Co-authored-by: Win Woo <wwoo@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-12 08:19:25 -07:00
Andrew FerlitschandGitHub fc0c34c905 Boilerplate 2 (#1148)
* fix: merge corruption

* fix: still fix post corruption

* tuning: boiler plate script

* tuning: boiler plate

* tuning: boiler plate

* tuning: boiler plate
2022-10-11 14:01:41 -07:00
Andrew FerlitschandGitHub ef388ecf30 Boilerplate 2 (#1147)
* fix: merge corruption

* fix: still fix post corruption

* tuning: boiler plate script

* tuning: boiler plate

* tuning: boiler plate
2022-10-11 13:57:40 -07:00
Andrew FerlitschandGitHub bafb2c6f59 Boilerplate 2 (#1146)
* fix: merge corruption

* fix: still fix post corruption

* tuning: boiler plate script

* tuning: boiler plate
2022-10-11 13:43:27 -07:00
Andrew FerlitschandGitHub f2d431c182 tuning: boiler plate (#1145)
* fix: merge corruption

* fix: still fix post corruption

* tuning: boiler plate script
2022-10-11 13:31:55 -07:00
Andrew FerlitschandGitHub 2e4b6a1b1b fix: structure (#1138) 2022-10-11 13:29:11 -07:00
95cebcbf8f Update google_cloud_pipeline_components_dataproc_tabular.ipynb (#1136)
Removed extraneous `$` from CWD variable causing scala-sbt build to fail

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-11 13:04:28 -07:00
Andrew FerlitschandGitHub 08f1b659c5 Boilerplate 1 (#1144)
* feat: boiler plate reduction

* feat: boiler plate reduction
2022-10-11 11:30:08 -07:00
Andrew FerlitschandGitHub 86ba71931d fix: merge corruption (#1143) 2022-10-11 11:19:05 -07:00
d811306fb9 minor fixes (#1140)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-11 11:09:24 -07:00
Andrew FerlitschandGitHub 4173e6d561 Boilerplate 1 (#1142)
* feat: boiler plate reduction

* feat: boiler plate reduction
2022-10-11 10:27:04 -07:00
Andrew FerlitschandGitHub 499d25055a feat: boiler plate reduction (#1141) 2022-10-11 09:32:30 -07:00
Andrew FerlitschandGitHub 60776de953 fix: bad links and branding (#1137) 2022-10-10 15:57:22 -07:00
Andrew FerlitschandGitHub 182ebcf285 fix: script format (#1134)
* fix: script format

* fix: script format

* fix: script format

* fix: script format
2022-10-10 15:56:31 -07:00
MarcandGitHub 39359a5b21 switch mm ownership to Andy (#1133) 2022-10-10 09:48:12 -07:00
0d72cfe070 Modified file automl_forecasting_bqml_arima_plus_comparison (#1124)
* modified notebook

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-10 08:51:51 -07:00
64fef140a2 Vertex SDK AutoML Image Classification (#1123)
* tf library issues solved

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-07 15:14:53 -07:00
015809b948 Cleans up official/migration/UJ3 notebook and fixes the issue from regression logs (#1063)
* cleans up the notebook,replaces docker with cloud build, textual edits still in progress

* cleans up the notebook

* ran linter test

* changes tf train/serve version to 2.9

* ran linter test

* adds '=' to fix a typo

* ran linter test

* updates the opencv installation package

* ran linter test

* updates the opencv installation dependencies

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-07 09:37:12 -07:00
gericdongandGitHub faccdd081f fix: improved notebook comments and readme (#1131)
* fix: improved notebook comments

* fix: improved notebook comments and formatting
2022-10-07 08:00:02 -07:00
3e8a3cf28e updates: autoreview (#1126)
Co-authored-by: gericdong <itseric@google.com>
2022-10-06 16:11:13 -04:00
Andrew FerlitschandGitHub 821bba2776 fix: loose ends on objective conformance (#1125) 2022-10-06 15:46:31 -04:00
c82bdee299 fix: incorrect linking (#1119)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* fix: incorrect linking for index

* fix: incorrect linking

Co-authored-by: gericdong <itseric@google.com>
2022-10-06 10:11:45 -04:00
Andrew FerlitschandGitHub c27381139b fix: incorrect linking (#1121) 2022-10-05 18:28:32 -07:00
Andrew FerlitschandGitHub 01236836f2 fix: incorrect linking (#1120) 2022-10-05 18:12:30 -07:00
Andrew FerlitschandGitHub b8380650bd fix: incorrect linking (#1118)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* fix: incorrect linking for index
2022-10-05 17:52:45 -07:00
Andrew FerlitschandGitHub 69d266cb90 add: autogen index for official/vizier (#1117)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:25:04 -07:00
Andrew FerlitschandGitHub 530524ac6e feat: add autogen index for official/training (#1116)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:22:17 -07:00
Andrew FerlitschandGitHub ba66961fce feat: add autoindex for official/tensorboard (#1115)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:20:06 -07:00
Andrew FerlitschandGitHub aca7035482 add: add autogen index for official/tabular_workflows (#1114)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:17:15 -07:00
Andrew FerlitschandGitHub 3d270cde69 feat: add autoindex for official/tabnet (#1113)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:14:48 -07:00
Andrew FerlitschandGitHub 9754c265ff feat: add autoindex for official/structured_data (#1112)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:09:35 -07:00
Andrew FerlitschandGitHub f5d730c9f1 feat: add autoindex for official/sdk (#1111)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 17:02:06 -07:00
Andrew FerlitschandGitHub acd42a3a1b feat: add autogen index for official/reduction_server (#1110)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:58:46 -07:00
Andrew FerlitschandGitHub eb7cf4b6bc feat: add autoindex for official/pipelines (#1109)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:54:26 -07:00
Andrew FerlitschandGitHub 34b1011ac9 feat: add autoindex for official/model-registry (#1108)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:46:04 -07:00
Andrew FerlitschandGitHub 239d664990 feat: add autogen index for official/model_monitoring (#1107)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:43:16 -07:00
Andrew FerlitschandGitHub 920c771238 feat: add autogen index for official/model_evaluation (#1106)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:41:01 -07:00
Andrew FerlitschandGitHub e7c68ecb78 fix: autogen index for official/ml_metadata (#1105)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:37:29 -07:00
Andrew FerlitschandGitHub cfeb118d8b feat: add autogen index for official/matching_engine (#1104)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index

* feat: add autogen index
2022-10-05 16:30:00 -07:00
Andrew FerlitschandGitHub 2c9c8db15c feat: add autogen index for official/feature_store (#1103)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index

* feat: add autogen index
2022-10-05 16:24:10 -07:00
Andrew FerlitschandGitHub 6778a2cfbf fix: update autogen index for official/automl (#1102)
* feat: add autogen index

* fix: missed the REAME

* fix: update autogen index
2022-10-05 16:14:24 -07:00
Andrew FerlitschandGitHub 26c5d56e6d feat: update autogen index for official/explainable_ai (#1101)
* feat: add autogen index

* fix: missed the REAME
2022-10-05 16:08:41 -07:00
Andrew FerlitschandGitHub 527fe79f15 feat: add autogen index (#1100) 2022-10-05 16:06:38 -07:00
Andrew FerlitschandGitHub 2a003fa9c3 add: autogen index (#1085) 2022-10-05 15:55:29 -07:00
Andrew FerlitschandGitHub 03b9b6026f feat: add index (#1084) 2022-10-05 15:55:09 -07:00
Andrew FerlitschandGitHub ff8d6a9d56 feat: add autogen index (#1083) 2022-10-05 13:21:55 -07:00
Andrew FerlitschandGitHub 874c881ad6 feat: add autogen index (#1080) 2022-10-05 13:21:24 -07:00
Andrew FerlitschandGitHub f484429a89 fix: auto regen index for curated (#1076)
* fix: auto regen index for curated

* fix: bad links
2022-10-05 13:20:22 -07:00
Andrew FerlitschandGitHub 7fa2502c09 PR: bad links and objective (#1099)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 11:13:12 -07:00
Andrew FerlitschandGitHub 056791fadd fix: bad links and objective (#1098)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 11:10:35 -07:00
Andrew FerlitschandGitHub 154be75dce fix: bad links and objective (#1097)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 11:07:09 -07:00
Andrew FerlitschandGitHub ed7e900a02 fix: bad links and objective (#1096)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 11:01:19 -07:00
Andrew FerlitschandGitHub f109fefbfa fix: bad links (#1095)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 10:54:19 -07:00
Andrew FerlitschandGitHub 6f9c99d1df fix: bad links and objective (#1094)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 10:49:41 -07:00
Andrew FerlitschandGitHub ed39d78005 fix: bad links and objective conformance (#1093)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective

* fix: bad links and objective
2022-10-05 10:25:02 -07:00
Andrew FerlitschandGitHub d6466ab1a6 fix: bad links and objective (#1092)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: bad links and objective
2022-10-05 10:15:36 -07:00
Andrew FerlitschandGitHub 65e310e4e6 fix: bad links and objective (#1091)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance
2022-10-05 10:08:39 -07:00
Andrew FerlitschandGitHub 0e773ba90f fix: bad links and objective (#1090)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance

* fix: objective conformance
2022-10-05 10:07:35 -07:00
Andrew FerlitschandGitHub 0747f9efb8 fix: objective (#1089)
* fix: objective conformance

* fix: objective conformance

* fix: objective conformance
2022-10-05 09:38:50 -07:00
Andrew FerlitschandGitHub 53785fb812 fix: objective section (#1088)
* fix: objective conformance

* fix: objective conformance
2022-10-05 09:33:13 -07:00
Andrew FerlitschandGitHub b85c24dca5 fix: objective conformance (#1087) 2022-10-05 09:21:49 -07:00
Andrew FerlitschandGitHub ea5c12c22a Autoreview 17 (#1082)
* fix: bad link

* fix: objective
2022-10-04 17:32:04 -07:00
Andrew FerlitschandGitHub 392c1b7361 fix: bad link (#1081) 2022-10-04 17:26:30 -07:00
Andrew FerlitschandGitHub c5980e636e Autoreview 15 (#1079)
* fix: tag handling

* fix: objective

* fix: bad links
2022-10-04 17:08:46 -07:00
Andrew FerlitschandGitHub 8859e9426d fix: tag handling (#1078) 2022-10-04 16:57:34 -07:00
Andrew FerlitschandGitHub db7cc9000a fix: bad links (#1077)
* fix: bad links

* fix: bad links and branding
2022-10-04 16:44:03 -07:00
Andrew FerlitschandGitHub d1fe50a1d9 fix: last tag handling (#1075) 2022-10-04 14:18:22 -07:00
Andrew FerlitschandGitHub 9e3597692f Autoreview text fixes (#1074)
* fix: bad links

* fix: bad links

* fix: objective intro

* fix: objective

* fix: objective statement

* fix: objective statement
2022-10-04 14:07:17 -07:00
Andrew FerlitschandGitHub 45c8deebe5 Autoreview text fixes (#1073)
* fix: bad links

* fix: bad links

* fix: objective intro

* fix: objective

* fix: objective statement
2022-10-04 14:03:10 -07:00
Andrew FerlitschandGitHub 6705c4e4ee Autoreview text fixes (#1072)
* fix: bad links

* fix: bad links

* fix: objective intro

* fix: objective
2022-10-04 13:54:50 -07:00
Andrew FerlitschandGitHub b7f06d948a Autoreview text fixes (#1071)
* fix: bad links

* fix: bad links

* fix: objective intro
2022-10-04 13:20:29 -07:00
Andrew FerlitschandGitHub 7f3c1a9a36 fix: bad links (#1070)
* fix: bad links

* fix: bad links
2022-10-04 13:12:54 -07:00
2e991c5b9d New notebook for PyTorch distributed training on reduction server (#1064)
* feat: added new notebook for PyTorch distributed training on reduction server

* Fixed linter errors

* Addressed review comments

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-04 13:07:43 -07:00
Andrew FerlitschandGitHub f8ac68ec10 Autoreview 10 (#1069)
* fix: handling of linkback for web output

* fix: tune markdown output
2022-10-04 13:06:38 -07:00
Andrew FerlitschandGitHub a591c39367 fix: handling of linkback for web output (#1068) 2022-10-04 12:08:46 -07:00
Andrew FerlitschandGitHub d938982aae feat: calculate links for new notebooks (#1065) 2022-10-04 12:08:18 -07:00
1397c9a64a Fixed line break (#1067)
* Added tags, links to corresponding documentation pages

* Fixed line break issue

Co-authored-by: Max Reznitskii <reznitskii@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-04 11:31:32 -07:00
da97ec2244 Added tags, links to corresponding documentation pages (#1066)
Co-authored-by: Max Reznitskii <reznitskii@google.com>
2022-10-04 11:20:08 -07:00
c3f1f8239b UJ15 Vertex SDK AutoML Object Tracking (#1055)
* resloved tf library issues

* ran linter test

* made review changes

* ran linter test

* made review changes

* ran linter

* made review changes

* linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-04 08:51:17 -07:00
Andrew FerlitschandGitHub 73878dcc01 update: support for multi-tags and desc for web output (#1061) 2022-10-04 09:32:20 -04:00
Andrew FerlitschandGitHub 13bad2e6a3 Autoreview readme (#1060)
* fix: re autogen index

* fix: descriptions

* fix: descriptions
2022-10-03 13:24:59 -07:00
Andrew FerlitschandGitHub 0172f2b11b fix: re autogen index (#1059) 2022-10-03 12:39:50 -07:00
Andrew FerlitschandGitHub 1ba0c17555 fix: tuning README output (#1058) 2022-10-03 15:14:32 -04:00
399c961074 Modified notebook chicago_taxi_fare_prediction according to notebook template (#1043)
* error resolved

* ran linter

* andrew comments resolved

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-03 08:35:59 -07:00
d44836db9d Modified notebook inventory_prediction (#1041)
* resolved error

* resolved error

* ran linter

* andrew comments resolved

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-03 08:34:47 -07:00
4e236fd553 Text classification evaluation (#959)
* Model evaluation for text classification using Automl

* Removed unused library

* Ran Linter Test

* Commented text

* Commented Text

* Ran Linter test

* Made changes suggested in review

* Removed unused import

* Ran Linter Test

* Removed dataflow parameters as mentioned in the review

* Ran Linter Test

* Made review changes and changed notebook links in the beginning of the notebook

* Ran Linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-10-02 13:49:06 -07:00
Andrew FerlitschandGitHub 352b1e2710 fix: error handling improvements (#1053) 2022-09-30 15:40:30 -04:00
13cc94d3b7 feat: Add notebook for Wide & Deep on Vertex Pipelines (#984)
* Add notebook for Wide & Deep on Vertex Pipelines

* Address comments

* Clear output

* Fix deletion logic

* Run linter

* Rename custom_job and hpt_job to pipeline_job

* Use Vertex SDK for deletion instead of gcloud

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-30 09:46:23 -07:00
632362ed80 Modified notebook fraud-detection-model notebook (#1052)
* resolved error

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-30 09:44:45 -07:00
90b5575b0c feat: Add notebook for TabNet on Vertex Pipelines (#726)
* Added notebook for TabNet on Vertex Pipelines

* Added notebook for TabNet on Vertex Pipelines

* Added notebook for TabNet on Vertex Pipelines

* Run linter

* Ran linter

* Ran linter again

* Addressed comments

* Addressed more comments

* Remove parameter definitions, reference documentation, add details under CustomJob/HPT job sections

* Address more comments

* Fix tests

* Bug fix

* Rework TabNet HPT job section

* Addressed more comments

* Update documentation links

* Fix tests

* Fix tests

* Linter and some changes

* Address more comments

* Update CustomJob description to align with documentation

* Use bank-marketing dataset instead of safedriver

* Rename variables

* Rename variables

* Update gcs location to official one

* Changes to make notebook run with updated SDK

* Bug fix

* Rewording

* Fix workbench link

* Update notebook format to align with template

* Fix deletion logic

* Run linter

* Rename custom_job and hpt_job to pipeline_job

* Use Vertex SDK for deletion instead of gcloud

Co-authored-by: Karl Weinmeister <11586922+kweinmeister@users.noreply.github.com>
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-29 16:58:53 -07:00
2d96cc0af1 Rapid prototyping bqml automl (#877)
* Made changes in accordance with Notebook template

* Ran Linter Test

* Attached UUID to BQ_DATSET and use bq to delete dataset

* Removed unused imports

* Ran Linter Test

* Fixed BQ_DATASET

* Fixed BQ_DATASET

* Ran linter test

* Made review changes

* Removed unused library

* Ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-29 13:17:14 -07:00
aadc80752b UJ6 Vertex SDK AutoML Text Classification (#1039)
* add The links for Colab, Github and Workbench

* added The links for Colab, Github and Workbench

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-29 13:15:10 -07:00
e8745a750b Modified notebook telecom-subscriber-churn-prediction (#874)
* modified notebook telecom-subscriber-churn-prediction.ipynb

* ran linter

* changes suggested by andrew are done

* ran linter

* changes suggested by andrew done

* ran linter

* resolved error

* ran linter

* fixed a monor bug

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-29 13:13:40 -07:00
Andrew FerlitschandGitHub 67b54685be fix: bad link (#1050)
* fix: bad link

* fix: bad link
2022-09-29 12:07:27 -07:00
Andrew FerlitschandGitHub 738dc1e01c fix: bad links (#1049)
* fix: bad link

* fix: bad link
2022-09-29 12:02:54 -07:00
Andrew FerlitschandGitHub 3b481a43a9 fix: bad links (#1048)
* fix: bad links

* fix: bad links
2022-09-29 12:02:08 -07:00
Andrew FerlitschandGitHub 35d0dee5a0 fix: bad link (#1047)
* fix: bad link

* fix: bad link
2022-09-29 11:47:25 -07:00
Andrew FerlitschandGitHub 90a0bb9b4c fix: bad link (#1046)
* fix: bad link

* fix: bad link
2022-09-29 11:47:01 -07:00
Andrew FerlitschandGitHub e59d5462b4 fix: improve args and add webdoc generation (#1045) 2022-09-29 14:15:52 -04:00
Andrew FerlitschandGitHub f94bf3c7e1 fix: bad link (#1044)
* fix: bad links

* fix: bad links
2022-09-29 09:36:59 -07:00
Andrew FerlitschandGitHub dd215b8cf0 corrections to official notebook (#978)
* fix: corrections

* fix: corrections

* fix: missing bq client

* fix: missing bq client

* fix: installs

* fix: installs

* fix: add missing imports

* fix: add missing imports
2022-09-29 09:10:44 -07:00
Andrew FerlitschandGitHub 784c94a72f fix: bad link, title (#1023)
* fix: bad link, title

* fix: bad link, title
2022-09-29 09:10:08 -07:00
Andrew FerlitschandGitHub dccfed9743 fix: broken link (#1033)
* fix: bad link

* fix: bad link
2022-09-29 09:05:29 -07:00
8346855cfe automl_video_classification_model_evaluation (#1035)
* added model evaluation component

* linter test cases

* linter test cases

* model_name param issues resolved

* linter test case

* import issues resloved

* linter test cases

* made review changes

* made review changes

* ran linter test

* made review changes

* made review changes

* made review changes

* linter test

* ran linter test

* made review changes

* ran linter test

* made review changes

* ran linter test

* linter test

* review changes

* ran linter test

* added The links for Colab, Github and Workbench

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

* added The links for Colab, Github and Workbench

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-29 09:13:24 -04:00
Andrew FerlitschandGitHub 64ad5123d0 fix: bad link (#1008)
* fix: bad link

* fix: bad link
2022-09-28 19:26:37 -07:00
Andrew Ferlitsch 0025e56323 fix: Objective 2022-09-29 02:23:03 +00:00
Andrew Ferlitsch 8fd9f35aca fix: Objective 2022-09-29 02:22:33 +00:00
Andrew FerlitschandGitHub 658abd6d5b fix: title in link (#1029)
* fix: bad links

* fix: bad links
2022-09-28 18:52:04 -07:00
Andrew FerlitschandGitHub 1243f736e2 fix: bad link (#1007)
* fix: bad link

* fix: bad link
2022-09-28 17:01:53 -07:00
Andrew FerlitschandGitHub dd0b07163f fix: bad links (#1031)
* fix: bad links

* fix: bad links
2022-09-28 16:54:38 -07:00
Andrew FerlitschandGitHub c6b268ba89 fix: bad links (#1028)
* fix: bad links

* fix: bad links
2022-09-28 15:53:01 -07:00
Andrew FerlitschandGitHub fd4f7d2641 fix: bad links (#1030)
* fix: bad links

* fix: bad links
2022-09-28 15:52:39 -07:00
Andrew FerlitschandGitHub 5c513e20c9 fix: parsing links (#1032) 2022-09-28 15:45:15 -07:00
Andrew FerlitschandGitHub d78dba7941 fix: bad links (#1025)
* fix: bad links

* fix: bad links
2022-09-28 15:37:55 -07:00
Andrew FerlitschandGitHub 42fa88547b fix: bad links (#1027)
* fix: bad links

* fix: bad links
2022-09-28 15:33:47 -07:00
Andrew FerlitschandGitHub c4cda29095 fix: bad links (#1026)
* fix: bad links

* fix: bad links
2022-09-28 15:33:25 -07:00
Andrew FerlitschandGitHub 47725449b5 fix: bad link (#1005)
* fix: bad link

* fix: bad link
2022-09-28 15:01:44 -07:00
Andrew FerlitschandGitHub 2eba462437 fix: bad link (#1010)
* fix: bad link

* fix: bad link
2022-09-28 14:31:37 -07:00
Andrew FerlitschandGitHub 97a3f4d3dd fix: add abbr (#1024) 2022-09-28 14:28:34 -07:00
Andrew FerlitschandGitHub 531e567358 fix: bad links (#1009)
* fix: bad link

* fix: bad link
2022-09-28 14:12:58 -07:00
Andrew FerlitschandGitHub 1f7c7105bb fix: link, title, format (#1018)
* fix: link, title, format

* fix: link, title, format
2022-09-28 14:12:29 -07:00
Andrew FerlitschandGitHub b109183d52 fix: bad links (#1011)
* fix: bad link

* fix: bad link
2022-09-28 13:53:45 -07:00
Andrew FerlitschandGitHub 72ed00fe0f fix: bad links (#1012)
* fix: bad link

* fix: bad link
2022-09-28 13:53:27 -07:00
Andrew FerlitschandGitHub e8d9137a50 fix: bad links (#1013)
* fix: bad link

* fix: bad link
2022-09-28 13:52:51 -07:00
Andrew FerlitschandGitHub 872e98c544 fix: bad links (#1014)
* fix: bad link

* fix: bad link
2022-09-28 13:52:17 -07:00
Andrew FerlitschandGitHub 0966fc56a4 fix: bad links, missing title (#1015)
* fix: bad link, missing title

* fix: bad link, missing title
2022-09-28 13:51:56 -07:00
Andrew FerlitschandGitHub e8d1e58fc6 fix: bad link, title (#1016)
* fix: bad link, correct title

* fix: bad link, correct title
2022-09-28 13:50:44 -07:00
Andrew FerlitschandGitHub f73ff8a44f fix: bad link, title (#1017)
* fix: bad link, correct title

* fix: bad link, correct title
2022-09-28 13:49:53 -07:00
Andrew FerlitschandGitHub 48c5810bd7 fix: bad link, title (#1019)
* fix: bad link, title

* fix: bad link, title
2022-09-28 13:49:25 -07:00
Andrew FerlitschandGitHub 9821d8986c fix: bad link, title (#1020)
* fix: bad link, title

* fix: bad link, title
2022-09-28 13:48:57 -07:00
Andrew FerlitschandGitHub 207d5db3e9 fix: bad link, title (#1021)
* fix: bad link, title

* fix: bad link, title
2022-09-28 13:48:29 -07:00
Andrew FerlitschandGitHub 9deb05e3e7 fix: bad link (#1022)
* fix: bad links

* fix: bad links
2022-09-28 13:47:59 -07:00
Andrew FerlitschandGitHub 8dafc25aab fix: bad link (#1006)
* fix: bad link

* fix: bad link
2022-09-28 13:47:25 -07:00
ef10e7db53 Vertex AI Model Registry - AutoML model management notebook (#995)
* new notebook

* linter test passed

* linter test passed

* andy review

* linter test passed

* add codeowner

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-28 09:41:50 -07:00
Andrew FerlitschandGitHub cba907ddf8 fix: tuning the script (#1004) 2022-09-28 12:21:47 -04:00
16c3d7fe25 automl_video_classification_model_evaluation (#960)
* added model evaluation component

* linter test cases

* linter test cases

* model_name param issues resolved

* linter test case

* import issues resloved

* linter test cases

* made review changes

* made review changes

* ran linter test

* made review changes

* made review changes

* made review changes

* linter test

* ran linter test

* made review changes

* ran linter test

* made review changes

* ran linter test

* linter test

* review changes

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-28 07:33:08 -07:00
60e1f92ef4 Vertex AI Model Registry - BQML and custom model management notebook (#991)
* add new notebook

* linter test passed

* clean text

* linter test passed

* add code owner new model registry notebook

* add more description

* linter test passed

* align with new template

* linter test passed

* andy reviews

* linter test passed

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-28 00:05:41 -07:00
Andrew FerlitschandGitHub fb392c6375 Issue 937 (#998)
* fix: issue 937

* fix: issue 937

* fix: wrong method for service account

* fix: wrong method for service account
2022-09-27 21:33:12 -07:00
b4d10bc5aa Modified SDK_Custom_Training_Python_Package_Managed_Text_Dataset_Tensorflow_Serving_Container.ipynb (#996)
* modified notebook, resolved error and modified notebook according to template

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-27 19:51:55 -07:00
4049250bad chore: Fix Workbench links. (#983)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-27 15:24:51 -07:00
923db816e1 Added changes such as timestamp, removed colab references, added markup text mentioning usage of flag -q in a command for the file SDK_Custom_Container_Prediction (#503)
* Added changes in notebook

* Ran linter test

* Replaced Timestamp with UUID; Added 'delete-bucket' in cleanup; Added condition for repo creation and few other minor changes

* Ran Linter Test

* Made some minor changes to install packages

* Made minor changes to fix linter failed tests

* ran linter test

* Made some minor changes

* ran linter test

* addresses the review comments: fixes container build steps, license year, updates according to the template

* ran linter test

* removes beta from gcloud to avoid timeouts

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Karl Weinmeister <11586922+kweinmeister@users.noreply.github.com>
Co-authored-by: SamyuktaDR <samyukta.dontireddy@springml.com>
Co-authored-by: SamyuktaDR <45586340+SamyuktaDR@users.noreply.github.com>
Co-authored-by: Krishna Chaitanya Movva <krishr2d2@gmail.com>
Co-authored-by: krishr2d2 <krishna.movva@springml.com>
2022-09-27 15:13:29 -07:00
Andrew FerlitschandGitHub 872f1561cd fix: argument handling improvements (#999) 2022-09-27 16:51:41 -04:00
8d7832de6e fix: issue 241479124 (#997)
* fix: issue 241479124

* fix: issue 241479124

Co-authored-by: gericdong <itseric@google.com>
2022-09-27 15:08:10 -04:00
Michael HuandGitHub f840017cda fix: bump gcpc version for bqml arima notebook (#985)
* fix: bump gcpc version for bqml arima notebook

* pr fixes
2022-09-27 11:02:38 -07:00
de3f35b8a6 Modified notebook sdk_automl_tabular_forecasting_batch.ipynb (#896)
* modified notebook

* ran linter

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-26 20:17:58 -07:00
b746bc80d4 Resolves shell-output issue in google_cloud_pipeline_components_model_upload_predict_evaluate.ipynb notebook (#878)
* resolves the shell-output issue + updates the structure based on the template

* ran linter test

* fixes issues from review: textual updates, delete_bucket=False

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-26 16:27:29 -07:00
2001604d37 Modified pricing-optimization.ipynb (#867)
* modified notebook according to notebook_template.

* ran linter

* Added create dataset step

* ran linter

* replaced hardcoded dataset name with a variable

* ran linter

* changes suggested by nadrew done

* ran linter

* followed prolong lin comments, data cleaning now done in bigquery

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-09-26 15:37:48 -07:00
faa148f66e Bqml vertex model registry (#993)
* Add bqml-vertexai-model-registry notebook

* Run linter

* Add notebook to CODEOWNERS file

* Update the links

* Ran linter again

* Rename bigquey-ml folder to model-registry

* Add bigquery-ml folder

* Moved the notebook

* Deleted folder

* Resolve comments

* Use UUID

* Remove using existing endpoint

* Remove try statement

* Get model sample based on model's name

* Use job.result to check query job status

* Run linter

* Fix dataset not found error by adding region in bq client creation

* Revert changes

* Fix bq bugs

* Run linter

* Resolve comments

* Display dataframe

* Updated the codeowner file

* Updated the links and editted text

* Run linter

* Remove repeated resources

* Run linter

* Resolve comments

* Run linter

* Install pyarrow

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-26 18:22:57 -04:00
f184411666 Create a function to get notebook python version for execution (#828)
* Create a function to get notebook python version for execution

* Inject python version to yaml file

* Fix python version references

* Add python string to python version variable

* add python version extraction script (untested)

* Create a function to get notebook python version for execution

* Inject python version to yaml file

* Fix python version references

* Add python string to python version variable

* Remove one notebook condition

* Remove extra check and use python 3 as default version

* Use python3.9 as default version

* Update python version notebook parser

* Add python version to the notebook template

* Fix bug

* Update python version parser function

* Add python version to a notebook for testing

* Run linter

* Use regex in python version parser function

* Add new notebook for testing

* Use better variable name

* fix typo

* Use f string instead +

* Use python from env instead of using _PYTHON_VERSION

* Use simpler regex

* Add python version test notebook

* Fixed a mistake

* Updated notebook template with python version

* Fixed python version format

* Print log contents to stdout

* Remove failing notebook

* Run linter

* Remove extra steps in the printed log

* Edit comments

* Run linter

* Run linter

* Revert test changes

Co-authored-by: AG Sol <aarongabriel@google.com>
2022-09-26 14:32:53 -07:00
bdad774100 Vertex SDK AutoML Text Sentiment Analysis (#824)
* new changes for sentiment analysis notebook

* new changes for sentiment analysis notebook

* changed back to year 2021 text

* changed back to year 2021 text

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-25 08:37:58 -07:00
9abe9a643b Added Custom tabular regression model evaluation file (#942)
* added file

* removed unnecessary imports

* ran linter

* removed extra batch prediction component

* ran linter

* moved file to official

* changed links to point to official

* ran linter

* Jason comments addressed

* ran linter

* comments addressed

* ran linter

* comments addresed

* ran linter

* added predictionschema instance schema files

* ran linter

* Followed Karen Lin's comments

* ran linter

* replaced old prebuilt containers with latest ones

* ran linter

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-24 11:12:06 -07:00
ab230ca06f add fixes to sdk-feature-store.ipynb (formatting, link edits) (#913)
* fix sdk-feature-store.ipynb Workbench link

* adding changes

* fixing links

* lint issues:

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-24 09:37:06 -07:00
dcbd3702d2 Made uuid changes and cleaned Uj6 vertex sdk auto ml text classification notebook (#904)
* Made some minor changes to notebook

* Ran linter test

* Ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-24 09:03:11 -07:00
0505d0c04c Vizier sdk (#981)
* update: replace GAPIC with SDK

* update: replace GAPIC with SDK

Co-authored-by: gericdong <itseric@google.com>
2022-09-23 16:27:36 -04:00
a47e0aacbb Model monitor batch (#980)
* fix: batch monitoring notebook

* fix: batch monitoring notebook

Co-authored-by: gericdong <itseric@google.com>
2022-09-23 15:10:54 -04:00
15912adeaf Update the vizier sample to replace the gapic library with new Vertex Vizier SDK. (#979)
* Update the vizier codelab to replace the gapic library with new Vertex Vizier SDK.

* Added the [project_id] and [region] in the parameter field.

* Fixed the lint errors for vizier sample.

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-23 11:12:28 -07:00
Ivan NardiniandGitHub 35fdba7e1c Vertex AI Experiments - Title fix (#982)
* title fix

* linter test passed
2022-09-23 07:17:58 -07:00
f403fa9051 Made UUID changes for Sdk automl tabular regression batch bq (#976)
* Made UUID changes

* Ran lintertest

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-22 14:45:45 -07:00
0d346b136e Vertex AI Experiments - Comparing local trained models notebook - update (#971)
* clean and update comparing_local_trained_models based on feedback

* linter test passed

* fix libraries

* linter test passed

* andy review fixes

* linter test passed

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-22 12:21:22 -07:00
Andrew FerlitschandGitHub 60d71d29cc update: add explain example (#974) 2022-09-22 09:35:13 -07:00
28c872f4b6 chore(deps): update python docker tag to v3.10 (#977)
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-21 17:09:31 -07:00
Andrew FerlitschandGitHub c637d693b7 tune: pricing, branding, combining text cells (#966)
* tune: pricing, branding, combining text cells

* fix: lint
2022-09-21 13:20:01 -07:00
Andrew FerlitschandGitHub 5c3a216eb7 feat: Add notebook for automl text model online predict (#973) 2022-09-21 14:34:10 -04:00
Ivan CheungandGitHub 0b7831b0f4 Added Dockerfile for linter (#975)
Updated Dockerfile
2022-09-21 09:26:42 -07:00
Andrew FerlitschandGitHub 6a6f077ae4 update: add explain (#972) 2022-09-20 18:40:49 -04:00
Andrew FerlitschandGitHub 27f0a4bb63 feat: notebook for automl tabular online serving (#961)
* feat: notebook for automl tabular online serving

* feat: notebook for AutoML tabular model online prediction

* updates: add explain
2022-09-20 12:54:46 -07:00
1476453603 Moves Sentiment-Analysis notebook from community to official folder (#868)
* moves the sentiment_analysis notebook from community to official folder after making the updates

* removes unused modules

* ran linter test

* updates the dataset's GCS links and notebook links in the heading

* ran linter test

* fixes the typo(=)

* ran linter test

* removes wait() calls and IS_TESTING condition

* ran linter test

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-20 07:35:15 -07:00
dbafcb47ea Modified notebook UJ4 Vertex SDK AutoML Tabular Binary Classification (#891)
* modified notebook

* ran linter

* tensorflow was used only for file reading.So replaced tensorflow with pandas

* ran linter

* made text changes

* ran linter

* latest andrew domments addressed

* ran linter

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-19 14:46:22 -07:00
f20700f25a Model monitoring (#964)
* Changed protobuf version

* ran linter test

* Cleared execution outputs

* Ran Linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-19 11:31:01 -07:00
Andrew FerlitschandGitHub d1ca1cd7f8 fix: reported issues (#968) 2022-09-19 14:11:56 -04:00
Andrew FerlitschandGitHub 9b03fb7f8e fix: install issues (#969) 2022-09-19 09:43:07 -07:00
aac271eacc Sdk metric parameter tracking for custom jobs (#844)
* Replaced timestamp with UUID

* Ran Linter test

* Removed local kernel from metadata

* ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-09-16 11:43:45 -07:00
68b53e0d32 UJ11 Vertex SDK Hyperparameter Tuning (#957)
* library issues resolved

* library issues resolved

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-16 11:02:37 -07:00
Andrew FerlitschandGitHub bf354adfd3 fix: filename consistency (#952)
* fix: filename consistency

* fix: package name
2022-09-16 09:56:02 -07:00
Andrew FerlitschandGitHub 55ad5701e4 fix: pip dependency fixes (#965) 2022-09-16 12:51:05 -04:00
Andrew FerlitschandGitHub 918564dcc7 fix: missing delete dataset (#963) 2022-09-16 12:44:17 -04:00
19b3b5da0f Add Vertex AI hyperparameter tuning notebook for R using custom containers (#958)
* add unfinished notebook on hpt using R

* clear output

* add working version of notebook

* finish R HPT notebook

* update CODEOWNERS

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-15 08:37:16 -07:00
2bdab9a9b8 Fix export_additional_model_without_custom_ops argument in AutoML Tabular Workflows notebook (#914)
Co-authored-by: Helin Wang <helin@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-15 08:09:25 -07:00
Andrew FerlitschandGitHub 88e5d5d236 feat: notebook for automl image online prediction (#953) 2022-09-14 15:20:56 -04:00
Andrew FerlitschandGitHub 79730d191f fix: add details on dataset input formats (#951) 2022-09-13 18:43:08 -04:00
Andrew FerlitschandGitHub 019040e4cb fix: links (#950) 2022-09-13 15:15:43 -04:00
Andrew FerlitschandGitHub 4fd3514d6d feat: add index to batch features/notebooks (#949) 2022-09-13 14:29:46 -04:00
Andrew FerlitschandGitHub bb17381b03 fix: detecting copyright cell (#948) 2022-09-13 11:14:19 -07:00
Andrew FerlitschandGitHub 3f06f48282 fix: filename rename (#943)
* fix: filename rename

* fix: lint issues
2022-09-13 10:01:22 -07:00
33abd1e427 Move model evaluation notebooks from community to official (#940)
* Add automl regression model eval first draft

* Remove extra file

* Pring evaluation results

* adds the automl-tabular-classification notebook in model_evaluation folder

* removes unnecessary imports

* adjusts the imports inside the pipeline

* adjusts the imports

* elaborates imports inside pipeline

* modified regression notebook

* renamed pipeline displayname to resolve error

* Add automl regression model eval first draft

* Remove extra file

* Pring evaluation results

* modified some text

* added suggested updates from review: remove dataflow params, add/change textual descriptions, add UUID

* removes the output from the notebooks

* removes the extra matplotlib import

* ran linter test

* addressed soheila's comments

* ran linter

* addresses the review comments

* ran linter test

* removes the artifacts comment

* ran linter test

* reviewed comments

* ran linter

* addresses review comments: textual updates, removes unnecessary parameters

* ran linter test

* addressed comments

* ran linter

* removed unwanted variables

* ran linter

* addresses the tech-writer's comments + updates the pipeline image with data-sampler task

* ran linter test

* Update text

* Move model eval folder to official

* Update CODEOWNERS

* Run linter

* Removed problem_type parameter

* Run linter

* addresses Andrew's review comments: textual updates and removes additional gcpc installation

* ran linter test

* comments addressed

* ran linter

* removed trailing comma on last parameter of trainingjob.run

* ran linter

Co-authored-by: krishr2d2 <krishna.movva@springml.com>
Co-authored-by: sudarshan-SpringML <sudarshan.c@springml.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-13 09:28:16 -07:00
Peter PingandGitHub 1d9bfe9934 Stream Update v2 (#946)
* Stream Update v2

* correct codeowner name
2022-09-12 18:24:53 -04:00
fb9defa985 Merge to sparkml branch (#881) (#882)
* Merge to sparkml branch (#881)

* feat: initial commit

* feat: WIP

* feat: still WIP, need to work on EDA

* fix: change name, still WIP

* fix: initial draft

* install geopandas in the notebook

* fix: add codeowners

* fix: install pyarrow

* fix: add condition for testing env

* fix: indentation

* fix: add dependencies for gpd

* fix: install seaborn

* fix: isort and codeowner

* fix: description

* fix: add debriefing the result

* fix: decrease sample size for testing

* fix: code review wip

* fix: code review

* fix: change dataset to 2017

* fix: code review

* fix: not using sql

* fix: lint

* fix: delete outputs

* fix: code review

* fix: typo

* fix: make sample pandas df if not testing

* Update spark_ml.ipynb (#884)

(Tech writer edit) Editing for syntax and clarification.

* small text updates

* lint fixes

* constraining plotting to non-test environments

* lint fixes

* put plotting back into tests

* address review feedback

* added comment to rerun cell if URLError thrown

Co-authored-by: Hyunuk Lim <hyunuklim@google.com>
Co-authored-by: aman-ebay <amancuso@google.com>
2022-09-12 17:28:09 -04:00
Soheila ZangenehandGitHub 824fb689e4 Bqml vertex model registry (#945)
* Add bqml-vertexai-model-registry notebook
2022-09-12 16:44:46 -04:00
Andrew FerlitschandGitHub c48dd8662b Issue 235883443 (#944)
* fix: remove obsoleted case

* fix: remove obsoleted case
2022-09-12 15:49:52 -04:00
gericdongandGitHub f251721d23 Enable Cloud Resource Manager API (#939)
* Enable Cloud Resource Manager API

* Reformatted file
2022-09-09 14:05:36 -07:00
Andrew FerlitschandGitHub e949eb128f fix: autoreview of mlops notebooks (#936)
* fix: tune for autoreview

* fix: tune for autoreview
2022-09-09 12:02:50 -04:00
df48e74f59 feat: Batch prediction for custom text model (#934)
* feat: notebook for custom text model batch prediction

* feat: notebook for custom text model batch prediction

Co-authored-by: gericdong <itseric@google.com>
2022-09-09 09:26:13 -04:00
MarcandGitHub ce9e6ecf62 add back pip install of xai sdk (#935) 2022-09-09 01:02:56 +01:00
9ab5f4274a Add automl regression and classification with model evaluation (#911)
* Add automl regression model eval first draft

* Remove extra file

* Pring evaluation results

* adds the automl-tabular-classification notebook in model_evaluation folder

* removes unnecessary imports

* adjusts the imports inside the pipeline

* adjusts the imports

* elaborates imports inside pipeline

* modified regression notebook

* renamed pipeline displayname to resolve error

* Add automl regression model eval first draft

* Remove extra file

* Pring evaluation results

* modified some text

* added suggested updates from review: remove dataflow params, add/change textual descriptions, add UUID

* removes the output from the notebooks

* removes the extra matplotlib import

* ran linter test

* addressed soheila's comments

* ran linter

* addresses the review comments

* ran linter test

* removes the artifacts comment

* ran linter test

* reviewed comments

* ran linter

* addresses review comments: textual updates, removes unnecessary parameters

* ran linter test

* addressed comments

* ran linter

* removed unwanted variables

* ran linter

* addresses the tech-writer's comments + updates the pipeline image with data-sampler task

* ran linter test

Co-authored-by: krishr2d2 <krishna.movva@springml.com>
Co-authored-by: sudarshan-SpringML <sudarshan.c@springml.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-08 14:42:04 -07:00
Andrew FerlitschandGitHub 29e584a422 feat: add batch automl video notebook (#933)
* feat: batch for automl video

* feat: batch for automl video

* feat: batch for automl video
2022-09-08 11:34:29 -07:00
MarcandGitHub beabb87cff fix import problem described in b/245553683 (#932)
* fix aiplatform import problem

* lint fix

* build fix, missing tensforflow

* lint fixes
2022-09-08 16:47:20 +01:00
e3f6717ff6 community -> official for bqml-online-prediction.ipynb (#788)
* move bqml-vertex notebook from community to official

* add to CODEOWNERS official

* fix errors for execution-test

* fix project_id line

* fix linting

* fixes re: comments from sarahcdugan

* fix links at top of notebook from community/ to official/

* added UUID to model name

* fix linting

* fix error in TIMESTAMP --> UUID

* fixing linting double space

* fixes re: ivanmkc comments

* fixed notebook after linting issues

* linting via cloud shell

* simplified run_bq_query function

* linting

Co-authored-by: Ivan Cheung <ivans.mailbox@gmail.com>
2022-09-07 18:20:02 -04:00
fd30c4014a Minor fixes for CPR Pytorch sample (#744)
* Minor fixes for CPR Pytorch sample: Add missing test data, add auth info to readme, scrub private project and bucket names from config, tolerate missing config.json in unit tests.

* Minor fixes for CPR Pytorch sample: Add missing test data, add auth info to readme, scrub private project and bucket names from config, tolerate missing config.json in unit tests.

* Fix merge conflicts

* fix typo

* Point CPR links to main branch of SDK repo.

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-07 13:02:55 -07:00
Andrew FerlitschandGitHub 4be8b0a59a fix: finetuning of batch notebooks (#930)
* fix: fine-tuning

* fix: fine-tuning
2022-09-07 10:44:44 -07:00
Andrew FerlitschandGitHub aa09d46265 feat: batch prediction for AutoML text models (#929)
* feat: Automl text model batch predict

* feat: Automl text model batch predict

* feat: Automl text model batch predict
2022-09-07 13:14:16 -04:00
Andrew FerlitschandGitHub 5667967131 feat: add BQ input example (#926)
* feat: add notebook for custom tabular batch predict

* feat: add notebook for custom tabular batch predict

* feat: add example for BQ input

* feat: add example for BQ input

* feat: add example for BQ input

* feat: add example for BQ input
2022-09-07 08:38:36 -07:00
4e4f532658 feat: batch prediction for automl tabular models (#928)
* feat: notebook for AutoML tabular batch prediction

* feat: notebook for AutoML tabular batch prediction

Co-authored-by: gericdong <itseric@google.com>
2022-09-06 15:53:54 -04:00
Andrew FerlitschandGitHub 14b2ce4f2e feat: notebook for batch predict for automl image models (#927)
* feat: batch predict for automl image model

* feat: batch predict for automl image model
2022-09-06 11:45:04 -04:00
Chun-Hsiang WangandGitHub c14b98c92d samples: Minor fix for the wording. (#924) 2022-09-05 10:42:25 -07:00
8275ea6c49 fix: correct the download_url (#923)
* fix: correct the download_url

* fix: fixed formatting issue

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-02 17:04:42 -04:00
40fbffcc95 Sdk automl image object detection batch (#869)
* changed to andrew comments

* changes according to andrew comments

* changes according to andrew comments

* review changes

* review changes

* review changes

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-02 13:34:25 -07:00
Andrew FerlitschandGitHub 08bb513488 feat: Batch prediction for custom tabular model (#920)
* feat: add notebook for custom tabular batch predict

* feat: add notebook for custom tabular batch predict
2022-09-01 20:33:34 -04:00
Chun-Hsiang WangandGitHub b298f83cd3 Vertex Prediction PyTorch Experimental: Add a sample for pre-built PyTorch deployments. (#898)
* samples: Add a new sample for pre-built Pytorch deployments. It's
borrowed from the examples in community-content/pytorch_text_classification_using_vertex_sdk_and_gcloud.

* samples: Removed all training related stuff in the notebooks.

* samples: Fixed comments.

* samples: Updated readme.

* samples: Updated emails for Pytorch launch.
2022-09-01 11:48:59 -07:00
Andrew FerlitschandGitHub 659cbb54c4 feat: add model monitoring with custom container (#919)
* feat: add notebook using custom deployment container

* feat: add notebook using custom deployment container
2022-09-01 10:22:05 -07:00
6ddcaa540a fix: tf serving workaround (#917)
* fix: pin TF serving image

* fix: pin TF serving image

Co-authored-by: gericdong <itseric@google.com>
2022-09-01 12:58:27 -04:00
1656c57b18 feat: extend image batch notebook (#916)
* feat: add notebook for custom image model batch prediction

* feat: add notebook for custom image model batch prediction

* fix: review comments

* fix: review comments

* feat: extend image batch notebook

* feat: extend image batch notebook

Co-authored-by: gericdong <itseric@google.com>
2022-09-01 09:56:36 -07:00
6cac60f74a Sdk feature store ver1 (#790)
* Added condition to create Featurestore if it doesn't exist

* Ran Linter Test

* Made changes mentioned in review

* Ran Linter Test

* Attached uuid to featurestore_id to avoid error while creating featurestore with existing name

* Ran linter test

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-09-01 08:57:16 -07:00
Andrew FerlitschandGitHub 55e37f795c feat: notebook for batch prediction with custom image model (#915)
* feat: add notebook for custom image model batch prediction

* feat: add notebook for custom image model batch prediction

* fix: review comments

* fix: review comments
2022-08-31 10:38:31 -07:00
c030d7ef74 use dataset instead of datasets (#892)
less chance for an error and confusion in name clashing with the `datasets` pypi package also used in the notebook.

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-08-31 07:44:46 -07:00
Andrew FerlitschandGitHub 96be449c69 feat: add notebook for MM autoML (#912)
* feat: model monitoring for AutoML

* feat: model monitoring for AutoML

* fix: correction on AutoML

* fix: correction on AutoML
2022-08-30 12:45:45 -07:00
e40ddab4d5 Upgrade to DataprocPySparkBatch v1 component and add Vertex AI placeholder features (#910)
* Fix typo in notebook heading.

* Fix linting issues.

* Use gcpc v1 components and use Vertex AI for model upload and serving.

* Notebook cleanup

* Minor heading cleanup

* Fix linting issues

* Fix linting issues

* Fix linting issues

* Fix linting issues

Co-authored-by: Win Woo <wwoo@google.com>
Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-08-30 10:46:21 -07:00
Michael HuandGitHub d02bc2d56b pin arima notebook dependencies (#905)
Pins the versions of packages installed in the notebook in anticipation for a breaking change to the GCPC package.
2022-08-29 19:35:54 -04:00
76b641b23d fix: private endpoint example (#909)
* fix: remove gcloud usage

* fix: remove gcloud usage

* fix: review comments

* fix: review comments

Co-authored-by: nayaknishant <nishantnayak@google.com>
2022-08-29 12:16:18 -07:00
Andrew FerlitschandGitHub bbf4345e76 fix: remove Pantheon links (#908)
* fix: issue 194103604

* fix: issue 194103604
2022-08-28 11:24:32 -04:00
058358a795 Vertex SDK AutoML Image Object Detection (#808)
* new notebook Vertex SDK AutoML Image Object Detection

* new notebook Vertex SDK AutoML Image Object Detection

* new notebook of Vertex SDK AutoML Image Object Detection

* new notebook of Vertex SDK AutoML Image Object Detection

* linter test

* linter test

* andrew commented changes

* andrew commented changes

* review changes

* review changes

Co-authored-by: Andrew Ferlitsch <aferlitsch@google.com>
2022-08-26 15:56:46 -07:00
Andrew FerlitschandGitHub 1c2f75f680 update: GetVertexModelOp (#907)
* update: use GetVertexModelOp

* update: use GetVertexModelOp
2022-08-26 12:12:09 -07:00
Andrew FerlitschandGitHub 999866fad1 feat: model monitoring custom (#906)
* feat: notebook for custom models

* feat: notebook for custom models

* fix: refining

* fix: refining

* fix: review updates

* fix: review updates
2022-08-26 08:58:54 -07:00
745 changed files with 330281 additions and 866772 deletions
+38 -7
View File
@@ -1,10 +1,30 @@
from typing import List
from ratemate import RateLimit
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--dry_run",
type=bool,
default=False)
args = parser.parse_args()
from resource_cleanup_manager import (
DatasetResourceCleanupManager,
ModelResourceCleanupManager,
EndpointResourceCleanupManager,
ResourceCleanupManager,
MatchingEngineIndexEndpointResourceCleanupManager,
MatchingEngineIndexResourceCleanupManager,
FeatureStoreLegacyCleanupManager,
FeatureStoreCleanupManager,
PipelineJobCleanupManager,
TrainingJobCleanupManager,
HyperparameterTuningCleanupManager,
BatchPredictionJobCleanupManager,
ExperimentCleanupManager,
BucketCleanupManager,
ArtifactRegistryCleanupManager
)
rate_limit = RateLimit(max_count=25, per=60, greedy=False)
@@ -16,12 +36,14 @@ def run_cleanup_managers(managers: List[ResourceCleanupManager], is_dry_run: boo
print(f"Fetching {type_name}'s...")
resources = manager.list()
print(f"Found {len(resources)} {type_name}'s")
try:
print(f"Found {len(resources)} {type_name}'s")
except Exception as e:
print(f"{type_name} {e}")
for resource in resources:
try:
if not manager.is_deletable(resource):
continue
if is_dry_run:
resource_name = manager.resource_name(resource)
print(f"Will delete '{type_name}': {resource_name}")
@@ -34,16 +56,25 @@ def run_cleanup_managers(managers: List[ResourceCleanupManager], is_dry_run: boo
print("")
is_dry_run = False
if is_dry_run:
if args.dry_run:
print("Starting cleanup in dry run mode...")
# List of all cleanup managers
managers = [
managers: List[ResourceCleanupManager] = [
DatasetResourceCleanupManager(),
EndpointResourceCleanupManager(),
ModelResourceCleanupManager(), # ModelResourceCleanupManager must follow EndpointResourceCleanupManager due to deployed models blocking model deletion.
MatchingEngineIndexEndpointResourceCleanupManager(),
MatchingEngineIndexResourceCleanupManager(),
FeatureStoreLegacyCleanupManager(),
FeatureStoreCleanupManager(),
PipelineJobCleanupManager(),
TrainingJobCleanupManager(),
HyperparameterTuningCleanupManager(),
BatchPredictionJobCleanupManager(),
ExperimentCleanupManager(), # Experiment missing _resource_noun
BucketCleanupManager(),
ArtifactRegistryCleanupManager()
]
run_cleanup_managers(managers=managers, is_dry_run=is_dry_run)
run_cleanup_managers(managers=managers, is_dry_run=args.dry_run)
@@ -1,10 +1,26 @@
'''
READ FIRST BEFORE MAKING CHANGES
- Create a convention for resources created from vertex-ai-samples GH. We already have one IIRC
- Only delete those objects as part of our clean-up script.
- Don't run any tests on python-docs-samples-tests project, especially ones that affect resources created outside of our purview
- Add --dry-run option to the clean-up script. This option will just output the list of resources the script will delete instead of actually deleting the resources.
- Have a larger conversation in DEE before touching any resources that were not created as part of vertex-ai-samples
'''
import os
import abc
from typing import Any, Type
from google.cloud import aiplatform
from google.cloud.aiplatform import base
from google.cloud.aiplatform_v1beta1 import (FeatureOnlineStoreAdminServiceClient,
FeatureOnlineStore)
from google.cloud import storage
from proto.datetime_helpers import DatetimeWithNanoseconds
PROJECT_ID = "python-docs-samples-tests"
REGION = "us-central1"
API_ENDPOINT = f"{REGION}-aiplatform.googleapis.com"
# If a resource was updated within this number of seconds, do not delete.
RESOURCE_UPDATE_BUFFER_IN_SECONDS = 60 * 60 * 8
@@ -69,7 +85,7 @@ class VertexAIResourceCleanupManager(ResourceCleanupManager):
def delete(self, resource):
resource.delete()
def get_seconds_since_modification(self, resource: Any) -> bool:
def get_seconds_since_modification(self, resource: Any) -> float:
update_time = resource.update_time
current_time = DatetimeWithNanoseconds.now(tz=update_time.tzinfo)
return (current_time - update_time).total_seconds()
@@ -97,15 +113,193 @@ class EndpointResourceCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.Endpoint
def delete(self, resource):
# TODO: Remove this once https://github.com/googleapis/python-aiplatform/issues/1441 is fixed
resource._sync_gca_resource()
for deployed_model_id in [
models.id for models in resource._gca_resource.deployed_models
]:
resource._undeploy(deployed_model_id=deployed_model_id)
resource.delete(force=True)
class ModelResourceCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.Model
class MatchingEngineIndexResourceCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.MatchingEngineIndex
class MatchingEngineIndexEndpointResourceCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.MatchingEngineIndexEndpoint
def delete(self, resource):
resource.undeploy_all()
resource.delete(force=True)
class FeatureStoreLegacyCleanupManager(VertexAIResourceCleanupManager):
# TODO: only deleting legacy
# not deleting ingestions jobs
# ingest_from_xxx methods do not return a job ID, there is no list command, aka no python way to delete
# not deleting batch serving jobs
# batch_serve_to_xxx methods do not return a job ID, there is no list command, aka no python way to delete
vertex_ai_resource = aiplatform.Featurestore
def resource_name(self, resource: Any) -> str:
return resource.name
def delete(self, resource):
resource.delete(force=True)
class FeatureStoreCleanupManager(VertexAIResourceCleanupManager):
# for FS 2.0
# TODO: use _v1beta1, and gapic clients
# delete features, feature groups, feature views, feature online stores
vertex_ai_resource = FeatureOnlineStore
admin_client = FeatureOnlineStoreAdminServiceClient(
client_options={"api_endpoint": API_ENDPOINT}
)
def resource_name(self, resource: Any) -> str:
return resource.name
def type_name(self) -> str:
return "FeatureOnlineStore"
def list(self) -> Any:
try:
return self.admin_client.list_feature_online_stores(parent=f"projects/{PROJECT_ID}/locations/{REGION}")
except Exception as e:
print(e)
return []
def delete(self, resource):
try:
self.admin_client.delete_feature_online_store(name=resource.name, force=True)
except Exception as e:
print(e)
class PipelineJobCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.PipelineJob
class TrainingJobCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.training_jobs._CustomTrainingJob
job_types = [
aiplatform.AutoMLImageTrainingJob,
aiplatform.AutoMLTextTrainingJob,
aiplatform.AutoMLTabularTrainingJob,
aiplatform.AutoMLVideoTrainingJob,
aiplatform.AutoMLForecastingTrainingJob,
aiplatform.CustomJob,
aiplatform.CustomTrainingJob,
aiplatform.CustomContainerTrainingJob,
aiplatform.CustomPythonPackageTrainingJob
]
def list(self) -> Any:
return [
job
for job_type in self.job_types
for job in job_type.list()
]
class HyperparameterTuningCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.HyperparameterTuningJob
class BatchPredictionJobCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.BatchPredictionJob
class ExperimentCleanupManager(VertexAIResourceCleanupManager):
vertex_ai_resource = aiplatform.Experiment
@property
def type_name(self) -> str:
return "Experiment"
def resource_name(self, resource: Any) -> str:
return resource.name
def get_seconds_since_modification(self, resource: Any) -> float:
update_time = resource._metadata_context.update_time
current_time = DatetimeWithNanoseconds.now()
return float(current_time.timestamp() - update_time.timestamp())
class BucketCleanupManager(ResourceCleanupManager):
vertex_ai_resource = storage.bucket.Bucket
def list(self) -> Any:
storage_client = storage.Client()
return list(storage_client.list_buckets())
def delete(self, resource):
try:
resource.delete(force=True)
except Exception as e:
print(e)
@property
def type_name(self) -> str:
return "Bucket"
def get_seconds_since_modification(self, resource: Any) -> float:
# Bucket has no last_update property, only time created
created_time = resource.time_created
current_time = DatetimeWithNanoseconds.now()
return float(current_time.timestamp() - created_time.timestamp())
def resource_name(self, resource: Any) -> str:
return resource.name
def is_deletable(self, resource: Any) -> bool:
time_difference = self.get_seconds_since_modification(resource)
if not self.resource_name(resource).startswith('your-bucket-name'):
print(f"Skipping '{resource}' not a Vertex AI notebook bucket")
return False
# Check that it wasn't created too recently, to prevent race conditions
if time_difference <= RESOURCE_UPDATE_BUFFER_IN_SECONDS:
print(
f"Skipping '{resource}' due to update_time being '{time_difference}', which is less than '{RESOURCE_UPDATE_BUFFER_IN_SECONDS}'."
)
return False
return True
class ArtifactRegistryCleanupManager(ResourceCleanupManager):
vertex_ai_resource = "Artifact Registry"
def list(self) -> Any:
import subprocess
result = subprocess.run(["gcloud artifacts repositories list --location=us-central1"],
shell=True, capture_output=True, text=True)
ret = []
lines = result.stdout.split('\n')[2:]
for line in lines:
repo = line.split(' ')[0]
if repo.startswith("my-docker-repo"):
ret.append(repo)
return ret
def delete(self, resource):
os.system(f"! gcloud artifacts repositories delete {resource} --location=us-central1")
@property
def type_name(self) -> str:
return "ArtifactRepository"
def resource_name(self, resource: Any) -> str:
return resource
# delete repository regardless of age
def get_seconds_since_modification(self, resource: Any) -> float:
return RESOURCE_UPDATE_BUFFER_IN_SECONDS + 1
def is_deleteable(self, resource: Any) -> bool:
return True
+103 -14
View File
@@ -17,6 +17,8 @@
import argparse
import pathlib
import os
import csv
import execute_changed_notebooks_helper
@@ -36,9 +38,22 @@ parser = argparse.ArgumentParser(description="Run changed notebooks.")
parser.add_argument(
"--test_paths_file",
type=pathlib.Path,
help="The path to the file that has newline-limited folders of notebooks that should be tested.",
help="The path to the file that has newline-delimited folders of notebooks that should be tested.",
required=True,
)
parser.add_argument(
"--test_percent",
type=int,
help="The percent of notebooks to be tested (between 1 and 100).",
required=False,
default=100,
)
parser.add_argument(
"--build_id",
type=str,
help="The build id (which may be a Cloud Build job specific or user explicit.",
required=True
)
parser.add_argument(
"--base_branch",
help="The base git branch to diff against to find changed files.",
@@ -107,24 +122,98 @@ parser.add_argument(
default=True,
help="Should run notebooks in parallel.",
)
parser.add_argument(
"--concurrent_notebooks",
type=int,
help="Maximum number of parallel notebook executions per minute",
default=10,
required=False,
)
parser.add_argument(
"--run_first_file",
type=pathlib.Path,
help="The path to the file that has newline-delimited of notebooks to run in the first batch",
default=None,
required=False,
)
parser.add_argument(
"--aiplatform_whl",
type=str,
help="The GCS path to a whl version google-cloud-aiplatform",
default=None,
required=False,
)
parser.add_argument(
"--dry_run",
type=str2bool,
default=False,
help="Dry run for testing - no execution",
)
args = parser.parse_args()
notebooks = execute_changed_notebooks_helper.get_changed_notebooks(
changed_notebooks = execute_changed_notebooks_helper.get_changed_notebooks(
test_paths_file=args.test_paths_file,
base_branch=args.base_branch,
)
execute_changed_notebooks_helper.process_and_execute_notebooks(
notebooks=notebooks,
container_uri=args.container_uri,
staging_bucket=args.staging_bucket,
artifacts_bucket=args.artifacts_bucket,
should_parallelize=args.should_parallelize,
timeout=args.timeout,
variable_project_id=args.variable_project_id,
variable_region=args.variable_region,
variable_service_account=args.variable_service_account,
variable_vpc_network=args.variable_vpc_network,
private_pool_id=args.private_pool_id,
results_bucket = f"{args.artifacts_bucket}"
# artifacts_bucket may get set by trigger to a full gs:// folder path
if results_bucket.startswith("gs://"):
results_bucket = results_bucket[5:]
results_bucket = results_bucket.split('/')[0]
results_file = f"build_results/{args.build_id}.json"
if args.test_percent == 100:
notebooks = changed_notebooks
accumulative_results = {}
else:
accumulative_results = execute_changed_notebooks_helper.load_results(results_bucket, results_file)
notebooks = [changed_notebook for changed_notebook in changed_notebooks if execute_changed_notebooks_helper.select_notebook(changed_notebook, accumulative_results, args.test_percent)]
# cap the number of notebooks to the specified percentage
max_notebooks = int((len(changed_notebooks) * (args.test_percent/100)))
if (len(notebooks) > max_notebooks):
notebooks = notebooks[:max_notebooks]
run_first = []
if args.run_first_file:
if not os.path.isfile(args.run_first_file):
print("Error: file does not exist", args.run_first_file)
else:
with open(args.run_first_file, 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
notebook = row[0]
run_first.append(notebook)
for notebook in run_first:
if notebook in notebooks:
# remove from existing list
notebooks.remove(notebook)
# add back to the front of the list
notebooks.insert(0, notebook)
print(f"Run first: {notebook}")
if args.dry_run:
print("Dry run ...\n")
for notebook in notebooks:
print(f"Would execute: {notebook}")
else:
execute_changed_notebooks_helper.process_and_execute_notebooks(
notebooks=notebooks,
container_uri=args.container_uri,
staging_bucket=args.staging_bucket,
artifacts_bucket=args.artifacts_bucket,
results_file=results_file,
should_parallelize=args.should_parallelize,
timeout=args.timeout,
variable_project_id=args.variable_project_id,
variable_region=args.variable_region,
variable_service_account=args.variable_service_account,
variable_vpc_network=args.variable_vpc_network,
private_pool_id=args.private_pool_id,
concurrent_notebooks=args.concurrent_notebooks,
aiplatform_whl=args.aiplatform_whl
)
+252 -31
View File
@@ -17,25 +17,38 @@ import concurrent
import dataclasses
import datetime
import functools
import json
import git
import operator
import os
import io
import json
import pathlib
import re
import subprocess
from typing import List, Optional
import random
from google.cloud import storage
import utils
from typing import List, Optional, Dict, Any
from utils import util
import execute_notebook_helper
import execute_notebook_remote
import nbformat
from google.cloud.devtools.cloudbuild_v1.types import BuildOperationMetadata
from ratemate import RateLimit
from tabulate import tabulate
from utils import NotebookProcessors, util
# A buffer so that workers finish before the orchestrating job
WORKER_TIMEOUT_BUFFER_IN_SECONDS: int = 60 * 60
PYTHON_VERSION = "3.9" # Set default python version
# rolling time window for accumulating build results for selecting notebooks
MAX_RESULTS_AGE_SECONDS: int = (60 * 60) * 24 * 60 # 60 days
# maximum time since last run to force a run on the current build
MAX_AGE_BEFORE_FORCE_RUN: int = (60 * 60) * 24 * 30
def format_timedelta(delta: datetime.timedelta) -> str:
"""Formats a timedelta duration to [N days] %H:%M:%S format"""
@@ -61,11 +74,14 @@ def format_timedelta(delta: datetime.timedelta) -> str:
@dataclasses.dataclass
class NotebookExecutionResult:
name: str
path: str
duration: datetime.timedelta
start_time: datetime.datetime
is_pass: bool
log_url: str
output_uri: str
build_id: str
logs_bucket: str
error_message: Optional[str]
@property
@@ -76,6 +92,97 @@ class NotebookExecutionResult:
return None
def load_results(results_bucket: str,
results_file: str) -> Dict[str, Any]:
'''
Load accumulated notebook test results
'''
print("Loading existing accumulative results ...")
accumulative_results = {}
try:
client = storage.Client()
bucket = client.bucket(results_bucket)
build_results_dir = os.path.dirname(results_file)
blobs = client.list_blobs(results_bucket, prefix=build_results_dir)
for blob in blobs:
time_created = blob.time_created.replace(tzinfo=None)
if (datetime.datetime.now().replace(tzinfo=None) - time_created).total_seconds() > MAX_RESULTS_AGE_SECONDS:
continue
content = util.download_blob_into_memory(results_bucket, blob.name, download_as_text=True)
try:
build_results = json.loads(content)
except:
continue # skip corrupted build results files
for notebook in build_results:
if notebook in accumulative_results:
accumulative_results[notebook]['passed'] += build_results[notebook]['passed']
accumulative_results[notebook]['failed'] += build_results[notebook]['failed']
if accumulative_results[notebook]['last_time_ran'] < time_created:
accumulative_results[notebook]['last_time_ran'] = time_created
else:
accumulative_results[notebook] = build_results[notebook]
accumulative_results[notebook]['failed_on_latest_run'] = build_results[notebook]['failed']
accumulative_results[notebook]['last_time_ran'] = time_created
print(accumulative_results)
except Exception as e:
print(e)
# If there are no accumulative results, an empty dict is returned
return accumulative_results
def select_notebook(changed_notebook: str,
accumulative_results: Dict[str, Any],
test_percent: int) -> bool:
'''
Algorithm to randomly select a notebook, but weight the propbability of selected based on past failures
'''
if changed_notebook in accumulative_results:
pass_count = accumulative_results[changed_notebook]['passed']
fail_count = accumulative_results[changed_notebook]['failed']
failed_on_latest_run = accumulative_results[changed_notebook]['failed_on_latest_run']
last_time_ran = accumulative_results[changed_notebook]['last_time_ran']
else:
pass_count = 1
fail_count = 0
failed_on_latest_run = 0
last_time_ran = datetime.datetime.now().replace(tzinfo=None)
# If notebook has not been ran in a long time, force running it
if (datetime.datetime.now().replace(tzinfo=None) - last_time_ran).total_seconds() > MAX_AGE_BEFORE_FORCE_RUN:
should_test_do_to_age = True
else:
should_test_do_to_age = False
# if failed on the last time it was ran, select the notebook
if failed_on_latest_run:
inferred_failure_rate = 1
# otherwise, calculate the frequency of failure
else:
inferred_failure_rate = fail_count / (pass_count + fail_count)
# If failure rate is high, the chance of testing should be higher
should_test_due_to_failure = random.uniform(0, 1) <= inferred_failure_rate
#if accumulative_resultsi[changed_notebook]['latest_date_ran']
# Additionally, only test a percentage of these
should_test_due_to_random_subset = random.uniform(0, 1) <= (test_percent / 100)
if should_test_due_to_failure or should_test_due_to_random_subset or should_test_do_to_age:
print(f"Selected: {changed_notebook}, {should_test_due_to_failure}, {should_test_due_to_random_subset}")
return True
else:
print(f"Not Selected: {changed_notebook}, pass {pass_count}, fail {fail_count}")
return False
def _process_notebook(
notebook_path: str,
variable_project_id: str,
@@ -97,6 +204,7 @@ def _process_notebook(
"VPC_NETWORK": variable_vpc_network,
},
)
unique_strings_preprocessor = NotebookProcessors.UniqueStringsPreprocessor()
# Use no-execute preprocessor
(
@@ -105,11 +213,41 @@ def _process_notebook(
) = remove_no_execute_cells_preprocessor.preprocess(nb)
(nb, resources) = update_variables_preprocessor.preprocess(nb, resources)
(nb, resources) = unique_strings_preprocessor.preprocess(nb, resources)
with open(notebook_path, mode="w", encoding="utf-8") as new_file:
nbformat.write(nb, new_file)
def _get_notebook_python_version(notebook_path: str) -> str:
"""
Get the python version for running the notebook if it is specified in
the notebook.
"""
python_version = PYTHON_VERSION
# Load the notebook
file = open(notebook_path)
src = file.read()
nb_json = json.loads(src)
# Iterate over the cells in the ipynb
for cell in nb_json["cells"]:
if cell["cell_type"] == "markdown":
markdown = str.join("", cell["source"])
# Look for the python version specification pattern
re_match = re.search(
"python version = (\d+\.\d+)", markdown, flags=re.IGNORECASE
)
if re_match:
# get the version number
python_version = re_match.group(1)
break
return python_version
def _create_tag(filepath: str) -> str:
tag = os.path.basename(os.path.normpath(filepath))
tag = re.sub("[^0-9a-zA-Z_.-]+", "-", tag)
@@ -120,7 +258,6 @@ def _create_tag(filepath: str) -> str:
return tag
rate_limit = RateLimit(max_count=50, per=60, greedy=True)
def process_and_execute_notebook(
@@ -134,9 +271,8 @@ def process_and_execute_notebook(
private_pool_id: Optional[str],
deadline: datetime.datetime,
notebook: str,
should_get_tail_logs: bool = False,
should_get_tail_logs: bool = True,
) -> NotebookExecutionResult:
rate_limit.wait() # wait before creating the task
print(f"Running notebook: {notebook}")
@@ -155,18 +291,26 @@ def process_and_execute_notebook(
result = NotebookExecutionResult(
name=tag,
path=notebook,
duration=datetime.timedelta(seconds=0),
start_time=datetime.datetime.now(),
is_pass=False,
output_uri=notebook_output_uri,
log_url="",
build_id="",
logs_bucket="",
error_message=None,
)
# TODO: Handle cases where multiple notebooks have the same name
time_start = datetime.datetime.now()
operation = None
try:
# Get the python version for running the notebook if specified
notebook_exec_python_version = _get_notebook_python_version(
notebook_path=notebook
)
print(f"Running notebook with python {notebook_exec_python_version}")
# Pre-process notebook by substituting variable names
_process_notebook(
notebook_path=notebook,
@@ -193,18 +337,21 @@ def process_and_execute_notebook(
private_pool_id=private_pool_id,
private_pool_region=variable_region,
timeout_in_seconds=timeout_in_seconds,
python_version=notebook_exec_python_version,
)
operation_metadata = BuildOperationMetadata(mapping=operation.metadata)
result.build_id = operation_metadata.build.id
result.log_url = operation_metadata.build.log_url
result.logs_bucket = operation_metadata.build.logs_bucket
# Block and wait for the result
operation_result = operation.result()
operation_result = operation.result(timeout=timeout_in_seconds)
result.duration = datetime.datetime.now() - time_start
result.duration = datetime.datetime.now() - result.start_time
result.is_pass = True
print(f"{notebook} PASSED in {format_timedelta(result.duration)}.")
except Exception as error:
result.error_message = str(error)
@@ -223,7 +370,7 @@ def process_and_execute_notebook(
except Exception as error:
result.error_message = str(error)
result.duration = datetime.datetime.now() - time_start
result.duration = datetime.datetime.now() - result.start_time
result.is_pass = False
print(
@@ -291,12 +438,68 @@ def get_changed_notebooks(
return notebooks
def _save_results(results: List[NotebookExecutionResult],
artifacts_bucket: str,
results_file: str):
artifacts_bucket = artifacts_bucket.replace("gs://", "").split('/')[0]
print("Updating build results ...")
build_results = {}
for result in results:
if result.is_pass:
pass_count = 1
fail_count = 0
else:
pass_count = 0
fail_count = 1
if result.error_message is None:
error_type = ''
elif '500 Internal' in result.error_message or 'INTERNAL' in result.error_message or 'internal error' in result.error_message:
error_type = 'INTERNAL'
elif 'context deadline exceeded' in result.error_message or 'TIMEOUT' in result.error_message:
error_type = 'TIMEOUT'
elif 'Quota' in result.error_message or 'quotas are exceeded' in result.error_message:
error_type = 'QUOTA'
elif 'ServiceUnavailable' in result.error_message:
error_type = 'SERVICEUNAVAILABLE'
elif 'ModuleNotFoundError' in result.error_message:
error_type = 'IMPORT'
elif result.is_pass:
error_type = ''
else:
error_type = 'undetermined'
if error_type != '':
log_url = result.log_url
else:
log_url = ''
build_results[result.path] = {
'duration': result.duration.total_seconds(),
'start_time': str(result.start_time),
'passed': pass_count,
'failed': fail_count,
'error_type': error_type,
'log_url': log_url
}
print(f"adding {result.path}")
print(f"Saving accumulative results to {results_file}, nentries {len(build_results)}")
content = json.dumps(build_results)
client = storage.Client()
bucket = client.get_bucket(artifacts_bucket)
bucket.blob(str(results_file)).upload_from_string(content, 'text/json')
def process_and_execute_notebooks(
notebooks: List[str],
container_uri: str,
staging_bucket: str,
artifacts_bucket: str,
results_file: str,
should_parallelize: bool,
timeout: int,
variable_project_id: str,
@@ -304,6 +507,8 @@ def process_and_execute_notebooks(
variable_service_account: str,
variable_vpc_network: Optional[str] = None,
private_pool_id: Optional[str] = None,
concurrent_notebooks: Optional[int] = 10,
aiplatform_whl: Optional[str] = None,
):
"""
Run the notebooks that exist under the folders defined in the test_paths_file.
@@ -324,6 +529,8 @@ def process_and_execute_notebooks(
Required. The GCS staging bucket to write source code to.
artifacts_bucket (str):
Required. The GCS staging bucket to write executed notebooks to.
results_file (str):
Required: The path to the artifacts bucket to save results
variable_project_id (str):
Required. The value for PROJECT_ID to inject into notebooks.
variable_region (str):
@@ -332,6 +539,8 @@ def process_and_execute_notebooks(
Required. Should run notebooks in parallel using a thread pool as opposed to in sequence.
timeout (str):
Required. Timeout string according to https://cloud.google.com/build/docs/build-config-file-schema#timeout.
concurrent_notebooks (int): Max number of notebooks per minute to run in parallel.
aiplatform_whl: alternate whl version of Vertex AI SDK to install
"""
# Calculate deadline
@@ -339,7 +548,7 @@ def process_and_execute_notebooks(
seconds=max(timeout - WORKER_TIMEOUT_BUFFER_IN_SECONDS, 0)
)
if len(notebooks) > 1:
if len(notebooks) >= 1:
notebook_execution_results: List[NotebookExecutionResult] = []
print(f"Found {len(notebooks)} modified notebooks: {notebooks}")
@@ -348,7 +557,9 @@ def process_and_execute_notebooks(
print(
"Running notebooks in parallel, so no logs will be displayed. Please wait..."
)
with concurrent.futures.ThreadPoolExecutor(max_workers=100) as executor:
with concurrent.futures.ThreadPoolExecutor(max_workers=concurrent_notebooks) as executor:
print(f"Max workers: {executor._max_workers}")
notebook_execution_results = list(
@@ -404,6 +615,7 @@ def process_and_execute_notebooks(
result.log_url,
result.output_uri,
result.output_uri_web,
result.logs_bucket,
]
for result in results_sorted
],
@@ -414,10 +626,39 @@ def process_and_execute_notebooks(
"log_url",
"output_uri",
"output_uri_web",
"logs_bucket",
],
)
)
if len(notebooks) == 1:
print("=" * 100)
print("The notebook execution build log:\n")
print("=" * 100)
build_id = results_sorted[0].build_id
logs_bucket_name = (results_sorted[0].logs_bucket).replace("gs://", "")
log_file_name = f"log-{build_id}.txt"
log_contents = util.download_blob_into_memory(
bucket_name=logs_bucket_name,
blob_name=log_file_name,
download_as_text=True,
)
# Remove extra steps from the log
match = re.search("starting Step #4", log_contents, flags=re.IGNORECASE)
if match is not None:
match_index = match.span()[0]
print(log_contents[match_index:])
else:
print(log_contents)
_save_results(results_sorted,
artifacts_bucket,
results_file)
print("\n=== END RESULTS===\n")
total_notebook_duration = functools.reduce(
@@ -433,25 +674,5 @@ def process_and_execute_notebooks(
# Raise error if any notebooks failed
if not all([result.is_pass for result in results_sorted]):
raise RuntimeError("Notebook failures detected. See logs for details")
elif len(notebooks) == 1:
notebook = notebooks[0]
# Pre-process notebook by substituting variable names
_process_notebook(
notebook_path=notebook,
variable_project_id=variable_project_id,
variable_region=variable_region,
variable_service_account=variable_service_account,
variable_vpc_network=variable_vpc_network,
)
execute_notebook_helper.execute_notebook(
notebook_source=notebook,
output_file_or_uri="/".join(
[artifacts_bucket, pathlib.Path(notebook).name]
),
should_log_output=True,
)
else:
print("No notebooks modified in this pull request.")
+5
View File
@@ -40,6 +40,7 @@ def execute_notebook_remote(
private_pool_region: Optional[str],
tag: Optional[str],
timeout_in_seconds: Optional[int] = None,
python_version: Optional[str] = None
) -> operation.Operation:
"""Create and execute a single notebook on Google Cloud Build"""
# Load build steps from YAML
@@ -50,8 +51,12 @@ def execute_notebook_remote(
"_PYTHON_IMAGE": container_uri,
"_NOTEBOOK_GCS_URI": notebook_uri,
"_NOTEBOOK_OUTPUT_GCS_URI": notebook_output_uri,
"_PYTHON_VERSION" : f"python{python_version}"
}
if python_version is not None:
substitutions["_PYTHON_VERSION"] = "python" + python_version
build = cloudbuild_v1.Build()
options: Optional[client_options.ClientOptions] = None
@@ -10,21 +10,21 @@ steps:
entrypoint: /bin/sh
args:
- -c
- python3 .cloud-build/CheckPythonVersion.py -q
- ${_PYTHON_VERSION} .cloud-build/CheckPythonVersion.py -q
# Create a virtual environment
- name: ${_PYTHON_IMAGE}
entrypoint: /bin/sh
args:
- -c
- python3 -m venv workspace/env
- ${_PYTHON_VERSION} -m venv workspace/env
# Install Python dependencies
- name: ${_PYTHON_IMAGE}
entrypoint: /bin/sh
args:
- -c
- . workspace/env/bin/activate &&
python3 -m pip -q install -U pip &&
python3 -m pip -q install -U -r .cloud-build/requirements.txt
python -m pip -q install -U pip &&
python -m pip -q install -U -r .cloud-build/requirements.txt
# Install Python dependencies and run testing script
- name: ${_PYTHON_IMAGE}
entrypoint: /bin/sh
@@ -32,7 +32,7 @@ steps:
- -c
- |
. workspace/env/bin/activate &&
python3 .cloud-build/execute_notebook_cli.py --notebook_source "${_NOTEBOOK_GCS_URI}" --output_file_or_uri "${_NOTEBOOK_OUTPUT_GCS_URI}"
python .cloud-build/execute_notebook_cli.py --notebook_source "${_NOTEBOOK_GCS_URI}" --output_file_or_uri "${_NOTEBOOK_OUTPUT_GCS_URI}"
env:
- 'IS_TESTING=1'
timeout: 86400s
@@ -36,7 +36,7 @@ steps:
- -c
- |
. workspace/env/bin/activate &&
python3 .cloud-build/execute_changed_notebooks_cli.py --test_paths_file "${_TEST_PATHS_FILE}" --base_branch "${_FORCED_BASE_BRANCH}" --container_uri ${_PYTHON_IMAGE} --staging_bucket ${_GCS_STAGING_BUCKET} --artifacts_bucket ${_GCS_STAGING_BUCKET}/executed_notebooks/PR_${_PR_NUMBER}/BUILD_${BUILD_ID} --variable_project_id ${PROJECT_ID} --variable_region ${_GCP_REGION} --variable_service_account ${_GCP_SERVICE_ACCOUNT} --variable_vpc_network "${_GPC_VPC_NETWORK_NAME}" `if [ ! -z "${_PRIVATE_POOL_NAME}" ]; then echo "--private_pool_id ${_PRIVATE_POOL_NAME}"; fi`
python3 .cloud-build/execute_changed_notebooks_cli.py --test_paths_file "${_TEST_PATHS_FILE}" --base_branch "${_FORCED_BASE_BRANCH}" --container_uri ${_PYTHON_IMAGE} --staging_bucket ${_GCS_STAGING_BUCKET} --artifacts_bucket ${_GCS_STAGING_BUCKET}/executed_notebooks/PR_${_PR_NUMBER}/BUILD_${BUILD_ID} --variable_project_id ${PROJECT_ID} --variable_region ${_GCP_REGION} --variable_service_account ${_GCP_SERVICE_ACCOUNT} --variable_vpc_network "${_GCP_VPC_NETWORK_NAME}" `if [ ! -z "${_PRIVATE_POOL_NAME}" ]; then echo "--private_pool_id ${_PRIVATE_POOL_NAME}"; fi` --build_id ${BUILD_ID} --test_percent=${_TEST_PERCENT} --concurrent_notebooks=${_CONCURRENT_NOTEBOOKS} --run_first_file=${_RUN_FIRST_FILE}
env:
- 'IS_TESTING=1'
timeout: 86400s
+6 -2
View File
@@ -3,11 +3,15 @@ numpy
jupyter
nbconvert
papermill
pandas
matplotlib
tabulate
google-cloud-aiplatform
google-cloud-storage
google-cloud-build
google-cloud-storage
ratemate
GitPython
GitPython
tqdm
fsspec
pandas
+8
View File
@@ -0,0 +1,8 @@
notebooks/official/pipelines/google_cloud_pipeline_components_automl_text.ipynb
notebooks/official/generative_ai/rlhf_tune_llm.ipynb
notebooks/official/generative_ai/tune_peft.ipynb
notebooks/official/prediction/llm_streaming_prediction.ipynb
notebooks/official/migration/sdk-automl-text-classification-batch-prediction.ipynb
notebooks/official/vizier/get_started_vertex_vizier.ipynb
notebooks/official/workbench/sentiment_analysis/Sentiment_Analysis.ipynb
notebooks/official/model_monitoring/get_started_with_model_monitoring_automl.ipynb
1 notebooks/official/pipelines/google_cloud_pipeline_components_automl_text.ipynb
2 notebooks/official/generative_ai/rlhf_tune_llm.ipynb
3 notebooks/official/generative_ai/tune_peft.ipynb
4 notebooks/official/prediction/llm_streaming_prediction.ipynb
5 notebooks/official/migration/sdk-automl-text-classification-batch-prediction.ipynb
6 notebooks/official/vizier/get_started_vertex_vizier.ipynb
7 notebooks/official/workbench/sentiment_analysis/Sentiment_Analysis.ipynb
8 notebooks/official/model_monitoring/get_started_with_model_monitoring_automl.ipynb
+2 -2
View File
@@ -1,5 +1,5 @@
notebooks/official/vizier/gapic-vizier-multi-objective-optimization.ipynb
notebooks/official/pipelines/lightweight_functions_component_io_kfp.ipynb
notebooks/official/ml_metadata/sdk-metric-parameter-tracking-for-locally-trained-models.ipynb
notebooks/official/pipelines/metrics_viz_run_compare_kfp.ipynb
notebooks/official/matching_engine/sdk_matching_engine_for_indexing.ipynb
notebooks/official/custom/custom-tabular-bq-managed-dataset.ipynb
.cloud-build/tests/python_version_test.ipynb
+1 -1
View File
@@ -1 +1 @@
notebooks/official/pipelines/metrics_viz_run_compare_kfp.ipynb
notebooks/official/custom/custom-tabular-bq-managed-dataset.ipynb
+46
View File
@@ -0,0 +1,46 @@
# grep PASSED tests.txt | cut -c 10-100 >passed.txt
import os
repo_dir = '/home/jupyter/vertex-ai-samples/'
repo_dir_len = len(repo_dir)
official_dir = repo_dir + 'notebooks/official'
entries = os.scandir(official_dir)
folders = []
for entry in entries:
if entry.is_dir():
folders.append(entry.path)
# Passing
with open('passed.txt', 'r') as pass_file:
notebook_names = pass_file.readlines()
notebooks = []
for folder in folders:
entries = os.scandir(folder)
for entry in entries:
for notebook in notebook_names:
if entry.name == notebook.rstrip():
notebooks.append(entry.path[repo_dir_len:])
with open('passing_tests.txt', 'w') as f:
for notebook in notebooks:
f.write(notebook + '\n')
# Failing
with open('failed.txt', 'r') as fail_file:
notebook_names = fail_file.readlines()
notebooks = []
for folder in folders:
entries = os.scandir(folder)
for entry in entries:
for notebook in notebook_names:
if entry.name == notebook.rstrip():
notebooks.append(entry.path[repo_dir_len:])
with open('failing_tests.txt', 'w') as f:
for notebook in notebooks:
f.write(notebook + '\n')
@@ -0,0 +1,61 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"id": "57a3d44ed8a8"
},
"source": [
"### Set up your Google Cloud project\n",
"\n",
"**_NOTE_**: This notebook has been tested in the following environment:\n",
"\n",
"* Python version = 3.7\n",
"\n",
"**The following steps are required, regardless of your notebook environment.**\n",
"\n",
"1. [Select or create a Google Cloud project](https://console.cloud.google.com/cloud-resource-manager). When you first create an account, you get a $300 free credit towards your compute/storage costs.\n",
"\n",
"1. [Make sure that billing is enabled for your project](https://cloud.google.com/billing/docs/how-to/modify-project).\n",
"\n",
"1. [Enable the Vertex AI API and Compute Engine API](https://console.cloud.google.com/flows/enableapi?apiid=aiplatform.googleapis.com,compute_component).\n",
"\n",
"1. If you are running this notebook locally, you will need to install the [Cloud SDK](https://cloud.google.com/sdk).\n",
"\n",
"1. Enter your project ID in the cell below. Then run the cell to make sure the\n",
"Cloud SDK uses the right project for all the commands in this notebook.\n",
"\n",
"**Note**: Jupyter runs lines prefixed with `!` as shell commands, and it interpolates Python variables prefixed with `$` into these commands."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"id": "c6516f90311b"
},
"outputs": [],
"source": [
"# test if the right python version is being used\n",
"import sys\n",
"\n",
"actual_python_version = f\"{sys.version_info.major}.{sys.version_info.minor}\"\n",
"print(f\"Runtime python version: {actual_python_version}\")\n",
"\n",
"assert actual_python_version == \"3.7\", \"Wrong python version!\""
]
}
],
"metadata": {
"colab": {
"name": "python_version_test.ipynb",
"toc_visible": true
},
"kernelspec": {
"display_name": "Python 3",
"name": "python3"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
@@ -0,0 +1,33 @@
import sys
from execute_changed_notebooks_helper import (load_results, select_notebook)
def test_load_results():
bucket: str = "cloud-build-notebooks-presubmit"
bucket_file: str = "build_results"
accum = load_results(bucket, bucket_file)
print(accum)
assert len(accum) > 0
def test_select_notebook():
bucket: str = "cloud-build-notebooks-presubmit"
bucket_file: str = "build_results"
accum = load_results(bucket, bucket_file)
n_select = 0
n_notselect = 0
for notebook in accum:
if select_notebook(notebook, accum, 50):
n_select += 1
else:
n_notselect += 1
print(f"SELECTED {n_select}, NOT SELECTED {n_notselect}")
assert n_select > 0
assert n_notselect > 0
+61 -1
View File
@@ -14,6 +14,8 @@
# limitations under the License.
from typing import Dict
import random
import string
from nbconvert.preprocessors import Preprocessor
@@ -33,7 +35,7 @@ class RemoveNoExecuteCells(Preprocessor):
class UpdateVariablesPreprocessor(Preprocessor):
def __init__(self, replacement_map: Dict):
def __init__(self, replacement_map: Dict[str, str]):
self._replacement_map = replacement_map
@staticmethod
@@ -63,3 +65,61 @@ class UpdateVariablesPreprocessor(Preprocessor):
executable_cells.append(cell)
notebook.cells = executable_cells
return notebook, resources
# Generate a uuid of a specifed length
def generate_uuid(length: int = 8) -> str:
return "".join(random.choices(string.ascii_lowercase + string.digits, k=length))
class UniqueStringsPreprocessor(Preprocessor):
# A preprocessor that replaces strings that end with "-unique" or "_unique" with a uuid.
@staticmethod
def update_unique_strings(content: str):
# Replace strings that end with "-unique" or "_unique" with a uuid.
unique_id = generate_uuid()
return (
content.replace('-unique"', f'-{unique_id}"')
.replace("-unique'", f'-{unique_id}"')
.replace('_unique"', f'_{unique_id}"')
.replace("_unique'", f'_{unique_id}"')
)
def preprocess(self, notebook, resources=None):
executable_cells = []
for cell in notebook.cells:
if cell.cell_type == "code":
cell.source = self.update_unique_strings(
content=cell.source,
)
executable_cells.append(cell)
notebook.cells = executable_cells
return notebook, resources
class VertexAIInstallProprocessor(Preprocessor):
def __init__(self, vertex_ai_wheel):
self.vertex_ai_wheel = vertex_ai_wheel
@staticmethod
def update_vertex_ai_install(content: str):
if "google-cloud-aiplatform" not in content:
return content
return (
f"gsutil cp {self.vertex_ai_wheel} google-cloud-aiplatform.whl\n" +
content.replace("google-cloud-aiplatform\n", "google-cloud-aiplatform.whl\n")
.replace("google-cloud-aiplatform ", "google-cloud-aiplatform.whl ")
)
def preprocess(self, notebook, resources=None):
executable_cells = []
for cell in notebook.cells:
if cell.cell_type == "code":
cell.source = self.update_vertex_ai_install(
content=cell.source,
)
executable_cells.append(cell)
notebook.cells = executable_cells
@@ -40,65 +40,3 @@ def get_updated_value(content: str, variable_name: str, variable_value: str) ->
content,
flags=re.M,
)
def test_update_value():
new_content = get_updated_value(
content='asdf\nPROJECT_ID = "[your-project-id]" #@param {type:"string"} \nasdf',
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert (
new_content
== 'asdf\nPROJECT_ID = "sample-project" #@param {type:"string"} \nasdf'
)
def test_update_value_single_quotes():
new_content = get_updated_value(
content="PROJECT_ID = '[your-project-id]'",
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert new_content == "PROJECT_ID = 'sample-project'"
def test_update_value_avoidance():
new_content = get_updated_value(
content="PROJECT_ID = shell_output[0] ",
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert new_content == "PROJECT_ID = shell_output[0] "
def test_region():
new_content = get_updated_value(
content='REGION = "[your-region]" # @param {type:"string"}',
variable_name="REGION",
variable_value="us-central1",
)
assert new_content == 'REGION = "us-central1" # @param {type:"string"}'
def test_region_equal_equals_ignore():
# Tests that == is ignored
new_content = get_updated_value(
content='REGION == "[your-region]" # @param {type:"string"}',
variable_name="REGION",
variable_value="us-central1",
)
assert new_content == 'REGION == "[your-region]" # @param {type:"string"}'
def test_service_account():
# Tests that == is ignored
new_content = get_updated_value(
content='SERVICE_ACCOUNT = "[your-service-account]" # @param {type:"string"}',
variable_name="SERVICE_ACCOUNT",
variable_value="12345-compute@developer.gserviceaccount.com",
)
assert (
new_content
== 'SERVICE_ACCOUNT = "12345-compute@developer.gserviceaccount.com" # @param {type:"string"}'
)
@@ -0,0 +1,73 @@
'''
Viewer for the weekly regression testing of the official notebooks
Cloud Storage location: gs://cloud-build-notebooks-presubmit/build_results/
'''
import argparse
import json
from util import download_file
import csv
import datetime
from google.cloud import storage
BUILD_BUCKET = "cloud-build-notebooks-presubmit"
BUILD_FOLDER = "build_results"
parser = argparse.ArgumentParser()
parser.add_argument('--file', dest='file',
default=None, type=str, help='build results filei (local or GCS)')
args = parser.parse_args()
investigate = {}
with open('investigate.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
investigate[row[0][:-6]] = row[1]
if not args.file:
client = storage.Client()
blobs = client.list_blobs(BUILD_BUCKET, prefix=BUILD_FOLDER)
newest_time = datetime.datetime(2000, 1, 1)
for blob in blobs:
# individual PR
if blob.size < 2000:
continue
time_created = blob.time_created.replace(tzinfo=None)
if time_created > newest_time:
newest_time = time_created
args.file = f"gs://{BUILD_BUCKET}/{blob.name}"
if args.file.startswith("gs://"):
path = args.file[5:]
bucket = path.split('/')[0]
file = path[len(bucket)+1:]
download_file(bucket, file, "build.json")
args.file = "build.json"
with open(args.file, 'r') as f:
results = json.load(f)
for item in results.items():
notebook = item[0][len("/notebooks/official/")-1:-6]
if item[1]['passed']:
passed = "PASS"
else:
if notebook in investigate:
passed = "INVG"
else:
passed = "FAIL"
error = item[1]['error_type']
if passed == "FAIL":
if error == '':
error = "undetermined"
if 'log_url' in item[1]:
log_url = item[1]['log_url']
else:
log_url = ''
else:
log_url = ''
print(f"{notebook:75} {passed} {error:10} {log_url}")
+19
View File
@@ -0,0 +1,19 @@
notebook,status
prediction/llm_streaming_prediction.ipynb,wait_for_fix
custom/get_started_with_vertex_endpoint_and_shared_vm.ipynb,issue 2527
feature_store/online_feature_serving_and_fetching_bigquery_data_with_feature_store.ipynb,wait_for_reaper
feature_store/online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb,wait_for_reaper
pipelines/google_cloud_pipeline_components_TPU_model_train_upload_deploy.ipynb,wait_for_fix
explainable_ai/sdk_custom_image_classification_batch_explain.ipynb,issue 2528
explainable_ai/sdk_custom_image_classification_online_explain.ipynb,issue 2528
explainable_ai/sdk_custom_tabular_regression_online_explain.ipynb,issue 2528
explainable_ai/sdk_automl_tabular_binary_classification_batch_explain.ipynb,issue 2528
explainable_ai/xai_image_classification_feature_attributions.ipynb,issue 2528
matching_engine,sdk_matching_engine_create_stack_overflow_embeddings.ipynb,issue 2530
automl/automl_forecasting_bqml_arima_plus_comparison.ipynb,flaky
model_evaluation/custom_tabular_regression_model_evaluation.ipynb,regr
experiments/get_started_with_vertex_experiments.ipynb,regr
experiments/comparing_local_trained_models.ipynb,regr
generative_ai/tune_peft.ipynb,internal
pipelines/custom_model_training_and_batch_prediction.ipynb,regr
feature_store/online_feature_serving_and_fetching_bigquery_data_with_feature_store_optimized.ipynb,wait_for_reaper
1 notebook status
2 prediction/llm_streaming_prediction.ipynb wait_for_fix
3 custom/get_started_with_vertex_endpoint_and_shared_vm.ipynb issue 2527
4 feature_store/online_feature_serving_and_fetching_bigquery_data_with_feature_store.ipynb wait_for_reaper
5 feature_store/online_feature_serving_and_vector_retrieval_bigquery_data_with_feature_store.ipynb wait_for_reaper
6 pipelines/google_cloud_pipeline_components_TPU_model_train_upload_deploy.ipynb wait_for_fix
7 explainable_ai/sdk_custom_image_classification_batch_explain.ipynb issue 2528
8 explainable_ai/sdk_custom_image_classification_online_explain.ipynb issue 2528
9 explainable_ai/sdk_custom_tabular_regression_online_explain.ipynb issue 2528
10 explainable_ai/sdk_automl_tabular_binary_classification_batch_explain.ipynb issue 2528
11 explainable_ai/xai_image_classification_feature_attributions.ipynb issue 2528
12 matching_engine sdk_matching_engine_create_stack_overflow_embeddings.ipynb issue 2530
13 automl/automl_forecasting_bqml_arima_plus_comparison.ipynb flaky
14 model_evaluation/custom_tabular_regression_model_evaluation.ipynb regr
15 experiments/get_started_with_vertex_experiments.ipynb regr
16 experiments/comparing_local_trained_models.ipynb regr
17 generative_ai/tune_peft.ipynb internal
18 pipelines/custom_model_training_and_batch_prediction.ipynb regr
19 feature_store/online_feature_serving_and_fetching_bigquery_data_with_feature_store_optimized.ipynb wait_for_reaper
@@ -0,0 +1,14 @@
from utils import NotebookProcessors
def test_update_value():
# Test that the content was updated
preprocessor = NotebookProcessors.UniqueStringsPreprocessor()
content = 'PROJECT_ID = "your-project-id-unique"'
new_content = preprocessor.update_unique_strings(content)
assert new_content != content
assert new_content.startswith('PROJECT_ID = "your-project-id-')
assert new_content.endswith('"')
@@ -0,0 +1,63 @@
from utils import UpdateNotebookVariables
def test_update_value():
new_content = UpdateNotebookVariables.get_updated_value(
content='asdf\nPROJECT_ID = "[your-project-id]" #@param {type:"string"} \nasdf',
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert (
new_content
== 'asdf\nPROJECT_ID = "sample-project" #@param {type:"string"} \nasdf'
)
def test_update_value_single_quotes():
new_content = UpdateNotebookVariables.get_updated_value(
content="PROJECT_ID = '[your-project-id]'",
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert new_content == "PROJECT_ID = 'sample-project'"
def test_update_value_avoidance():
new_content = UpdateNotebookVariables.get_updated_value(
content="PROJECT_ID = shell_output[0] ",
variable_name="PROJECT_ID",
variable_value="sample-project",
)
assert new_content == "PROJECT_ID = shell_output[0] "
def test_region():
new_content = UpdateNotebookVariables.get_updated_value(
content='REGION = "[your-region]" # @param {type:"string"}',
variable_name="REGION",
variable_value="us-central1",
)
assert new_content == 'REGION = "us-central1" # @param {type:"string"}'
def test_region_equal_equals_ignore():
# Tests that == is ignored
new_content = UpdateNotebookVariables.get_updated_value(
content='REGION == "[your-region]" # @param {type:"string"}',
variable_name="REGION",
variable_value="us-central1",
)
assert new_content == 'REGION == "[your-region]" # @param {type:"string"}'
def test_service_account():
# Tests that == is ignored
new_content = UpdateNotebookVariables.get_updated_value(
content='SERVICE_ACCOUNT = "[your-service-account]" # @param {type:"string"}',
variable_name="SERVICE_ACCOUNT",
variable_value="12345-compute@developer.gserviceaccount.com",
)
assert (
new_content
== 'SERVICE_ACCOUNT = "12345-compute@developer.gserviceaccount.com" # @param {type:"string"}'
)
+27 -1
View File
@@ -3,7 +3,7 @@ import subprocess
import tarfile
import uuid
from datetime import datetime
from typing import Optional
from typing import Optional, Union
from google.auth import credentials as auth_credentials
from google.cloud import storage
@@ -58,3 +58,29 @@ def archive_code_and_upload(staging_bucket: str):
print(f"Uploaded source code archive to {source_archived_file_gcs}")
return source_archived_file_gcs
def download_blob_into_memory(
bucket_name: str, blob_name: str, download_as_text: Optional[bool] = False
) -> Union[bytes, str]:
"""
Downloads a blob into memory as byte or as text if
download_as_text is set to True.
"""
storage_client = storage.Client()
bucket = storage_client.bucket(bucket_name)
# Construct a client side representation of a blob.
blob = bucket.blob(blob_name)
# Download the blob content
if download_as_text:
contents = blob.download_as_text()
else:
contents = blob.download_as_bytes()
print(f"Downloaded storage object {blob_name} from bucket {bucket_name}.")
return contents
+11
View File
@@ -0,0 +1,11 @@
sdk2_remote_tabnet_training.ipynb
remote_hyperparameter_tuning.ipynb
remote_prediction.ipynb
remote_training_bigframes_pytorch.ipynb
remote_training_bigframes_sklearn.ipynb
remote_training_bigframes_tensorflow.ipynb
remote_training_lightning.ipynb
remote_training_pytorch.ipynb
remote_training_sklearn.ipynb
remote_training_tensorflow_with_autologging.ipynb
@@ -0,0 +1,23 @@
steps:
# Fetch full repo for diff purposes
- name: gcr.io/cloud-builders/git
args: [fetch, --unshallow, --quiet]
# Create a virtual environment
- name: ${_PYTHON_IMAGE}
entrypoint: /bin/sh
args:
- -c
- python3 -m venv workspace/env
# Install Python dependencies and run testing script
- name: ${_PYTHON_IMAGE}
entrypoint: /bin/sh
args:
- -c
- |
. workspace/env/bin/activate &&
python3 notebooks/notebook_template_review.py --web --title --steps --desc --linkback --notebook-dir=notebooks/official --skip-file=${_DO_NOT_INDEX_FILE} >web.html
artifacts:
objects:
location: gs://${_GCS_ARTIFACTS_BUCKET}/webdoc
paths: ['web.html']
timeout: 86400s
+2 -2
View File
@@ -7,11 +7,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Fetch pull request branch
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Fetch base main branch
+20
View File
@@ -0,0 +1,20 @@
# To use this image, run this command with the desired notebook args from the top-level vertex-ai-samples directory:
# 1. To lint all changed notebooks:
# docker run -v ${PWD}:/setup/app gcr.io/python-docs-samples-tests/notebook_linter:latest
# 2. To lint specific notebooks:
# docker run -v ${PWD}:/setup/app gcr.io/python-docs-samples-tests/notebook_linter:latest notebooks/1.ipynb notebooks/2.ipynb
FROM python:3.12
WORKDIR setup
COPY ./requirements.txt .
COPY ./run_linter.sh .
# Install dependencies.
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
WORKDIR app
ENTRYPOINT ["/setup/run_linter.sh"]
+5 -5
View File
@@ -2,9 +2,9 @@ git+https://github.com/tensorflow/docs
ipython
jupyter
nbconvert
black==22.6.0
pyupgrade==2.34.0
isort==5.10.1
flake8==4.0.1
nbqa==1.4.0
black==24.4.2
pyupgrade==3.17.0
isort==5.13.2
flake8==7.1.0
nbqa==1.8.5
+16 -6
View File
@@ -47,12 +47,22 @@ done
echo "Test mode: $is_test"
# Read in user-provided notebooks
notebooks=()
for arg in "$@"; do
if [[ $arg == *.ipynb ]]; then
notebooks+=("$arg")
fi
done
# Only check notebooks in test folders modified in this pull request.
# Note: Use process substitution to persist the data in the array
notebooks=()
while read -r file || [ -n "$line" ]; do
notebooks+=("$file")
done < <(git diff --name-only main... | grep '\.ipynb$')
if [ ${#notebooks[@]} -eq 0 ]; then
echo "Checking for changed notebooks using git"
while read -r file || [ -n "$line" ]; do
notebooks+=("$file")
done < <(git diff --name-only main... | grep '\.ipynb$')
fi
problematic_notebooks=()
if [ ${#notebooks[@]} -gt 0 ]; then
@@ -74,7 +84,7 @@ if [ ${#notebooks[@]} -gt 0 ]; then
# python3 -m nbqa black "$notebook" --check
# BLACK_RTN=$?
echo "Running pyupgrade..."
python3 -m nbqa pyupgrade "$notebook"
python3 -m nbqa pyupgrade --exit-zero-even-if-changed "$notebook"
PYUPGRADE_RTN=$?
echo "Running isort..."
python3 -m nbqa isort "$notebook" --check
@@ -87,7 +97,7 @@ if [ ${#notebooks[@]} -gt 0 ]; then
python3 -m nbqa black "$notebook"
BLACK_RTN=$?
echo "Running pyupgrade..."
python3 -m nbqa pyupgrade "$notebook"
python3 -m nbqa pyupgrade --exit-zero-even-if-changed "$notebook"
PYUPGRADE_RTN=$?
echo "Running isort..."
python3 -m nbqa isort "$notebook"
+3 -5
View File
@@ -44,12 +44,10 @@ Finally, run this code block to check for errors. Each step will attempt to
automatically fix any issues. If the fixes can't be performed automatically,
then you will need to manually address them before submitting your PR.
Note: For official, only submit one notebook per PR.
```shell
nbqa black "$notebook"
nbqa pyupgrade "$notebook"
nbqa isort "$notebook"
nbqa flake8 "$notebook" --extend-ignore=W391,E501,F821,E402,F404,W503,E203,E722,W293,W291
python3 -m tensorflow_docs.tools.nbfmt --remove_outputs "$notebook"
docker run -v ${PWD}:/setup/app gcr.io/cloud-devrel-public-resources/notebook_linter:latest your_notebook
```
## Code Reviews
+152 -13
View File
@@ -1,37 +1,176 @@
# Google Cloud Vertex AI Samples
# ![Google Cloud](https://avatars.githubusercontent.com/u/2810941?s=60&v=4) Google Cloud Vertex AI Samples
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](LICENSE)
Welcome to the Google Cloud [Vertex AI](https://cloud.google.com/vertex-ai/docs/) sample repository.
This repository contains notebooks, code samples, sample apps, and other resources that demonstrate how to use, develop and manage machine learning and generative AI workflows using Google Cloud Vertex AI.
## Overview
The repository contains [notebooks](https://github.com/GoogleCloudPlatform/vertex-ai-samples/tree/master/notebooks) and [community content](https://github.com/GoogleCloudPlatform/vertex-ai-samples/tree/master/community-content) that demonstrate how to develop and manage ML workflows using Google Cloud Vertex AI.
[Vertex AI](https://cloud.google.com/vertex-ai) is a fully-managed, unified AI development platform for building and using generative AI. This repository is designed to help you get started with Vertex AI. Whether you're new to Vertex AI or an experienced ML practitioner, you'll find valuable resources here.
For more Vertex AI Generative AI notebook samples, please visit the Vertex AI [Generative AI](https://github.com/GoogleCloudPlatform/generative-ai) GitHub repository.
## Explore, learn and contribute
You can explore, learn, and contribute to this repository to unleash the full potential of machine learning on Vertex AI!
### Explore and learn
Explore this repository, follow the links in the header section of each of the notebooks to -
![Colab](https://cloud.google.com/ml-engine/images/colab-logo-32px.png) Open and run the notebook in [Colab](https://colab.google/)\
![Colab Enterprise](https://cloud.google.com/ml-engine/images/colab-enterprise-logo-32px.png) Open and run the notebook in [Colab Enterprise](https://cloud.google.com/colab/docs/introduction)\
![Workbench](https://lh3.googleusercontent.com/UiNooY4LUgW_oTvpsNhPpQzsstV5W8F7rYgxgGBD85cWJoLmrOzhVs_ksK_vgx40SHs7jCqkTkCk=e14-rj-sc0xffffff-h130-w32) Open and run the notebook in [Vertex AI Workbench](https://cloud.google.com/vertex-ai/docs/workbench/introduction)\
![Github](https://cloud.google.com/ml-engine/images/github-logo-32px.png) View the notebook on Github
### Contribute
See the [Contributing Guide](https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/master/CONTRIBUTING.md).
## Get started
To get started using Vertex AI, you must have a Google Cloud project.
- If you don't have a Google Cloud project, you can learn and build on GCP for free using [Free Trail](https://cloud.google.com/free).
- Once you have a Google Cloud project, you can learn more about [setting up a project and a development environment](https://cloud.google.com/vertex-ai/docs/start/cloud-environment).
## Repository structure
```bash
├── community-content - Sample code and tutorials contributed by the community
├── notebooks
│ ├── community - Notebooks contributed by the community
│ ├── official - Notebooks demonstrating use of each Vertex AI service
│ │ ├── automl
│ │ ├── custom
│ │ ├── ...
│ ├── community - Notebooks contributed by the community
│ │ ├── model_garden
│ │ ├── ...
├── community-content - Sample code and tutorials contributed by the community
```
## Examples
## Contributing
<!-- markdownlint-disable MD033 -->
<table>
Contributions welcome! See the [Contributing Guide](https://github.com/GoogleCloudPlatform/vertex-ai-samples/blob/master/CONTRIBUTING.md).
<tr>
<th style="text-align: center;">Category</th>
<th style="text-align: center;">Product</th>
<th style="text-align: center;">Description</th>
</tr>
<tr>
<td>Model</td>
<td>
<a href="notebooks/community/model_garden"><code>Model Garden/</code></a>
</td>
<td>
Curated collection of first-party, open-source, and third-party models available on Vertex AI including Gemini, Gemma, Llama 3, Claude 3 and many more.
</td>
</tr>
<tr>
<td>Data</td>
<td>
<a href="notebooks/official/feature_store"><code>Feature Store/</code></a>
</td>
<td>
Set up and manage online serving using Vertex AI Feature Store.
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/datasets"><code>datasets/</code></a>
</td>
<td>
Use BigQuery and Data Labeling service with Vertex AI.
</td>
</tr>
<tr>
<td>Model development</td>
<td>
<a href="notebooks/official/automl"><code>automl/</code></a>
</td>
<td>
Train and make predictions on AutoML models
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/custom"><code>custom/</code></a>
</td>
<td>
Create, deploy and serve custom models on Vertex AI
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/ray_on_vertex_ai"><code>ray_on_vertex_ai/</code></a>
</td>
<td>
Use Colab Enterprise and Vertex AI SDK for Python to connect to the Ray Cluster.
</td>
</tr>
<tr>
<td>Deploy and use</td>
<td>
<a href="notebooks/official/prediction"><code>prediction/</code></a>
</td>
<td>
Build, train and deploy models using prebuilt containers for custom training and prediction.
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/model_registry"><code>model_registry/</code></a>
</td>
<td>
Use Model Registry to create and register a model.
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/explainable_ai"><code>Explainable AI/</code></a>
</td>
<td>
Use Vertex Explainable AI's feature-based and example-based explanations to explain how or why a model produced a specific prediction.
</td>
</tr>
<tr>
<td></td>
<td>
<a href="notebooks/official/ml_metadata"><code>ml_metadata/</code></a>
</td>
<td>
Record the metadata and artifacts and query that metadata to help analyze, debug, and audit the performance of your ML system.
</td>
</tr>
<tr>
<td>Tools</td>
<td>
<a href="notebooks/official/pipelines"><code>Pipelines/</code></a>
</td>
<td>
Use `Vertex AI Pipelines` and `Google Cloud Pipeline Components` to build, tune, or deploy a custom model.
</td>
</tr>
</table>
<!-- markdownlint-enable MD033 -->
## Getting help
Please use the [issues page](https://github.com/GoogleCloudPlatform/vertex-ai-samples/issues) to provide feedback or submit a bug report.
## Get help
Please use the [Issues page](https://github.com/GoogleCloudPlatform/vertex-ai-samples/issues) to provide feedback or submit a bug report.
## Disclaimer
This is not an officially supported Google product. The code in this repository is for demonstrative purposes only.
## Feedback
Please feel free to fill out our [survey](https://bit.ly/vertex-ai-samples-survey) to give us feedback on the repo and its content.
## References
- [Vertex AI Jupyter Notebook tutorials](https://cloud.google.com/vertex-ai/docs/tutorials/jupyter-notebooks)
- Vertex AI [Generative AI](https://github.com/GoogleCloudPlatform/generative-ai) GitHub repository
- [Vertex AI documentaton](https://cloud.google.com/vertex-ai/docs)
+24
View File
@@ -1,7 +1,31 @@
* @vertex-ai-samples-contributors @GoogleCloudPlatform/cloudml-samples-owners
/tf_agents_bandits_movie_recommendation_with_kfp_and_vertex_sdk @yinghsienwu
/pytorch_pre_built_images_deployment @googleapis/vertex-prediction-team
/pytorch_text_classification_using_vertex_sdk_and_gcloud @RajeshThallam
/pytorch_text_classification_using_vertex_sdk_and_gcloud @RajeshThallam @ultrons
/sklearn_text_classification_from_script_using_vertex_sdk @maxhardt
/pluto_on_workbench @wkharold
/cpr-examples @samthrasher
/Train_tabular_models_with_many_frameworks_and_import_to_Vertex_AI_using_Pipelines @Ark-kun
/pipeline_components @Ark-kun
/pipeline_components/image_ml_model_training @lakeyk
/prediction_featurestore_integration @googleapis/vertex-prediction-team
/vertex_model_garden/model_oss/notebook_util @minwoo33park
/vertex_model_garden/model_oss/util @weigary
/vertex_model_garden/model_oss/diffusers @weigary
/vertex_model_garden/model_oss/keras @dstnluong-google
/vertex_model_garden/model_oss/transformers @dstnluong-google
/vertex_model_garden/model_oss/pic2word @jismailyan-google
/vertex_model_garden/model_oss/open_clip @lydhr
/vertex_model_garden/model_oss/movinet @KCFindstr
/vertex_model_garden/model_oss/data_converter @KCFindstr
/vertex_model_garden/model_oss/peft @weigary
/vertex_model_garden/model_oss/lm-evaluation-harness @kathyyu-google
/vertex_model_garden/model_oss/tfvision @dstnluong-google
/vertex_model_garden/model_oss/fvlm @minwoo33park
/vertex_model_garden/model_oss/imagebind @kathyyu-google
/vertex_model_garden/model_oss/llava @py4
/vertex_model_garden/model_oss/vllm @kathyyu-google
/vertex_model_garden/benchmarking_reports @lavraicse
/vertex_model_garden/model_oss/autogluon @lavraicse
@@ -0,0 +1,83 @@
name: Train tabular classification logistic regression model using Scikit learn pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_classification_logistic_regression_model_using_Scikit_learn_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Binarize column using Pandas on CSV data:
componentRef:
digest: d699afd4d7cae862708717cc160f4394ed0c04e536e9515923ef1e8865f01d44
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1e2558325f4c708aca75827c8acc13d230ee7e9f/components/pandas/Binarize_column/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
column_name: tips
predicate: '> 0'
new_column_name: class
annotations:
editor.position: '{"x":40,"y":380,"width":180,"height":54}'
Train logistic regression model using scikit learn from CSV:
componentRef:
digest: a864625a822e4b1c8ef6fe4ae1454fd90f15438f70a6712bb4c30e0dda4d35b7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/cb44b75c9c062fcc40c2b905b2024b4493dbc62b/components/ML_frameworks/Scikit_learn/Train_logistic_regression_model/from_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: transformed_table
taskId: Binarize column using Pandas on CSV data
type: CSV
label_column_name: class
annotations:
editor.position: '{"x":40,"y":510,"width":180,"height":70}'
Upload Scikit learn pickle model to Google Cloud Vertex AI:
componentRef:
digest: 81c91c8d7d21ec97e0872f669d68bd89edea87279d703685db54aa94743bebcd
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train logistic regression model using scikit learn from CSV
type: ScikitLearnPickleModel
annotations:
editor.position: '{"x":40,"y":660,"width":180,"height":70}'
outputValues: {}
@@ -0,0 +1,73 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
binarize_column_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Binarize_column/in_CSV_format/component.yaml")
train_logistic_regression_model_using_scikit_learn_from_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/1f5cf6e06409b704064b2086c0a705e4e6b4fcde/community-content/pipeline_components/ML_frameworks/Scikit_learn/Train_logistic_regression_model/from_CSV/component.yaml")
upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_classification_logistic_regression_model_using_Scikit_learn_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
# Deploying the model might incur additional costs over time
deploy_model = False
classification_label_column = "class"
all_columns = [label_column] + feature_columns
training_data = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
training_data = select_columns_using_Pandas_on_CSV_data_op(
table=training_data,
column_names=all_columns,
).outputs["transformed_table"]
# Cleaning the NaN values.
training_data = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=training_data,
replacement_value="0",
#replacement_type_name="float",
).outputs["transformed_table"]
classification_training_data = binarize_column_using_Pandas_on_CSV_data_op(
table=training_data,
column_name=label_column,
predicate="> 0",
new_column_name=classification_label_column,
).outputs["transformed_table"]
model = train_logistic_regression_model_using_scikit_learn_from_CSV_op(
dataset=classification_training_data,
label_column_name=classification_label_column,
# Optional:
#penalty="l2",
#solver="lbfgs",
#max_iterations=100,
#multi_class_mode="auto",
#random_seed=0,
).outputs["model"]
vertex_model_name = upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
sklearn_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func = train_tabular_classification_logistic_regression_model_using_Scikit_learn_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,114 @@
name: Train tabular classification model using PyTorch pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_classification_model_using_PyTorch_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":240,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":240,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":240,"y":250,"width":180,"height":54}'
Create fully connected pytorch network:
componentRef:
digest: d03d8248fd358a0275ec33568ee7dd7dce576cc112b09dfafe2651e4d97e04a9
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1a2ef3eeb77bc278f33cad0dd29008ea2431e191/components/PyTorch/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
output_activation_name: sigmoid
annotations:
editor.position: '{"x":40,"y":360,"width":180,"height":54}'
Binarize column using Pandas on CSV data:
componentRef:
digest: d699afd4d7cae862708717cc160f4394ed0c04e536e9515923ef1e8865f01d44
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1e2558325f4c708aca75827c8acc13d230ee7e9f/components/pandas/Binarize_column/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
column_name: tips
predicate: ' > 0'
new_column_name: class
annotations:
editor.position: '{"x":240,"y":360,"width":180,"height":54}'
Train pytorch model from csv:
componentRef:
digest: 40f3185eb61e9727f41a4e0c05dd3d3b44bd802aa0f378cfc31756560033949a
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/d8c4cf5e6403bc65bcf8d606e6baf87e2528a3dc/components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Create fully connected pytorch network
type: PyTorchScriptModule
training_data:
taskOutput:
outputName: transformed_table
taskId: Binarize column using Pandas on CSV data
type: CSV
label_column_name: class
loss_function_name: binary_cross_entropy
annotations:
editor.position: '{"x":240,"y":490,"width":180,"height":40}'
Create PyTorch Model Archive with base handler:
componentRef:
digest: 8298b5ee1b0f0879f893add4cf352c8dec7cf9e21bb9db134c91a2d046cdb0ec
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/46d51383e6554b7f3ab4fd8cf614d8c2b422fb22/components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml
arguments:
Model:
taskOutput:
outputName: trained_model
taskId: Train pytorch model from csv
type: PyTorchScriptModule
Model name: model
Model version: '1.0'
annotations:
editor.position: '{"x":240,"y":590,"width":180,"height":54}'
Upload PyTorch model archive to Google Cloud Vertex AI:
componentRef:
digest: 4450212fae7b9001482aca7eb78b28413c205506eccf08a04e7754a8dfa99004
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model_archive:
taskOutput:
outputName: Model archive
taskId: Create PyTorch Model Archive with base handler
type: PyTorchModelArchive
annotations:
editor.position: '{"x":240,"y":720,"width":180,"height":70}'
outputValues: {}
@@ -0,0 +1,95 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
binarize_column_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Binarize_column/in_CSV_format/component.yaml")
create_fully_connected_pytorch_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_fully_connected_network/component.yaml")
train_pytorch_model_from_csv_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml")
create_pytorch_model_archive_with_base_handler_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml")
upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_classification_model_using_PyTorch_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
# Deploying the model might incur additional costs over time
deploy_model = False
classification_label_column = "class"
all_columns = [label_column] + feature_columns
training_data = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
training_data = select_columns_using_Pandas_on_CSV_data_op(
table=training_data,
column_names=all_columns,
).outputs["transformed_table"]
# Cleaning the NaN values.
training_data = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=training_data,
replacement_value="0",
#replacement_type_name="float",
).outputs["transformed_table"]
classification_training_data = binarize_column_using_Pandas_on_CSV_data_op(
table=training_data,
column_name=label_column,
predicate=" > 0",
new_column_name=classification_label_column,
).outputs["transformed_table"]
network = create_fully_connected_pytorch_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
output_activation_name="sigmoid",
# output_size=1,
).outputs["model"]
model = train_pytorch_model_from_csv_op(
model=network,
training_data=classification_training_data,
label_column_name=classification_label_column,
loss_function_name="binary_cross_entropy",
# Optional:
#number_of_epochs=1,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#batch_log_interval=100,
#random_seed=0,
).outputs["trained_model"]
model_archive = create_pytorch_model_archive_with_base_handler_op(
model=model,
# Optional:
# model_name="model",
# model_version="1.0",
).outputs["Model archive"]
vertex_model_name = upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op(
model_archive=model_archive,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func=train_tabular_classification_model_using_PyTorch_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,132 @@
name: Train tabular classification model using TensorFlow pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_classification_model_using_TensorFlow_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Binarize column using Pandas on CSV data:
componentRef:
digest: d699afd4d7cae862708717cc160f4394ed0c04e536e9515923ef1e8865f01d44
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1e2558325f4c708aca75827c8acc13d230ee7e9f/components/pandas/Binarize_column/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
column_name: tips
predicate: ' > 0'
new_column_name: class
annotations:
editor.position: '{"x":40,"y":370,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Binarize column using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":170,"y":500,"width":180,"height":40}'
Create fully connected tensorflow network:
componentRef:
digest: bfcafbc5ce711b1f69cabf1338212d10d50136a73db9f9f7c984de7b80b4bfb0
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/9ca0f9eecf5f896f65b8538bbd809747052617d1/components/tensorflow/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
output_activation_name: sigmoid
annotations:
editor.position: '{"x":370,"y":500,"width":180,"height":54}'
Train model using Keras on CSV:
componentRef:
digest: 42ae60c889034dbad74815653e95b4f7d576b5f47f803173e8679c7b54984609
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c504a4010348c50eaaf6d4337586ccc008f4dcef/components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Create fully connected tensorflow network
type: TensorflowSavedModel
label_column_name: class
loss_function_name: binary_crossentropy
number_of_epochs: '10'
annotations:
editor.position: '{"x":40,"y":620,"width":180,"height":54}'
Upload Tensorflow model to Google Cloud Vertex AI:
componentRef:
digest: 2e45263ff640b1a688e359b6936e27a81b2407749a84f340af2aa5547e0cb92c
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
annotations:
editor.position: '{"x":40,"y":750,"width":180,"height":54}'
Predict with TensorFlow model on CSV data:
componentRef:
digest: 921bb1563e93a78233b8acceab87055b9154ccf5595d056028cf0396ca224cd4
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/59c759ce6f543184e30db6817d2a703879bc0f39/components/tensorflow/Predict/on_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
label_column_name: class
annotations:
editor.position: '{"x":240,"y":750,"width":180,"height":54}'
outputValues: {}
@@ -0,0 +1,106 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
binarize_column_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Binarize_column/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
create_fully_connected_tensorflow_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Create_fully_connected_network/component.yaml")
train_model_using_Keras_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml")
predict_with_TensorFlow_model_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Predict/on_CSV/component.yaml")
upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_classification_model_using_TensorFlow_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
classification_label_column = "class"
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
classification_dataset = binarize_column_using_Pandas_on_CSV_data_op(
table=dataset,
column_name=label_column,
predicate=" > 0",
new_column_name=classification_label_column,
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=classification_dataset,
fraction_1=training_set_fraction,
)
classification_training_data = split_task.outputs["split_1"]
classification_testing_data = split_task.outputs["split_2"]
network = create_fully_connected_tensorflow_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
output_activation_name="sigmoid",
# output_size=1,
).outputs["model"]
model = train_model_using_Keras_on_CSV_op(
training_data=classification_training_data,
model=network,
label_column_name=classification_label_column,
# Optional:
loss_function_name="binary_crossentropy",
number_of_epochs=10,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#metric_names=["mean_absolute_error"],
#random_seed=0,
).outputs["trained_model"]
predictions = predict_with_TensorFlow_model_on_CSV_data_op(
dataset=classification_testing_data,
model=model,
# label_column_name needs to be set when doing prediction on a dataset that has labels
label_column_name=classification_label_column,
# Optional:
# batch_size=1000,
).outputs["predictions"]
vertex_model_name = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func = train_tabular_classification_model_using_TensorFlow_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,115 @@
name: Train tabular classification model using XGBoost pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_classification_model_using_XGBoost_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Binarize column using Pandas on CSV data:
componentRef:
digest: d699afd4d7cae862708717cc160f4394ed0c04e536e9515923ef1e8865f01d44
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1e2558325f4c708aca75827c8acc13d230ee7e9f/components/pandas/Binarize_column/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
column_name: tips
predicate: '> 0'
new_column_name: class
annotations:
editor.position: '{"x":40,"y":380,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Binarize column using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":170,"y":510,"width":180,"height":40}'
Train XGBoost model on CSV:
componentRef:
digest: 538c5a01eb38deaf532d619f0bbeaff4efc550fe1f0f776fc06791097b68ceac
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/58d3a47f904f32a64af8403330ba7e2134cae46d/components/XGBoost/Train/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: class
objective: binary:logistic
annotations:
editor.position: '{"x":40,"y":630,"width":180,"height":40}'
Upload XGBoost model to Google Cloud Vertex AI:
componentRef:
digest: 5a5a273c403670743820986c03a4175b7cb4595a556524fefcce403656286977
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
annotations:
editor.position: '{"x":40,"y":750,"width":180,"height":54}'
Xgboost predict on CSV:
componentRef:
digest: 0876233a0c7306fefec188bd70f059b46d1fb5aa57be231799570e3bbbdd0d95
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/4694ec97baccf59284c2a1db4aa2250c22291eab/components/XGBoost/Predict/component.yaml
arguments:
data:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
label_column_name: class
annotations:
editor.position: '{"x":240,"y":750,"width":180,"height":40}'
outputValues: {}
@@ -0,0 +1,94 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
binarize_column_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Binarize_column/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
train_XGBoost_model_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Train/component.yaml")
xgboost_predict_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Predict/component.yaml")
upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/d5c9918850a6cc70004c4269dae066cfe2e664eb/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_classification_model_using_XGBoost_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
classification_label_column = "class"
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
classification_dataset = binarize_column_using_Pandas_on_CSV_data_op(
table=dataset,
column_name=label_column,
predicate="> 0",
new_column_name=classification_label_column,
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=classification_dataset,
fraction_1=training_set_fraction,
)
classification_training_data = split_task.outputs["split_1"]
classification_testing_data = split_task.outputs["split_2"]
model = train_XGBoost_model_on_CSV_op(
training_data=classification_training_data,
label_column_name=classification_label_column,
objective="binary:logistic",
# Optional:
#starting_model=None,
#num_iterations=10,
#booster_params={},
#booster="gbtree",
#learning_rate=0.3,
#min_split_loss=0,
#max_depth=6,
).outputs["model"]
# Predicting on the testing data
predictions = xgboost_predict_on_CSV_op(
data=classification_testing_data,
model=model,
# label_column needs to be set when doing prediction on a dataset that has labels
label_column_name=classification_label_column,
).outputs["predictions"]
vertex_model_name = upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func = train_tabular_classification_model_using_XGBoost_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,257 @@
name: Train tabular classification model using all frameworks pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_classification_model_using_all_frameworks_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":550,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":550,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":550,"y":250,"width":180,"height":54}'
Binarize column using Pandas on CSV data:
componentRef:
digest: d699afd4d7cae862708717cc160f4394ed0c04e536e9515923ef1e8865f01d44
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1e2558325f4c708aca75827c8acc13d230ee7e9f/components/pandas/Binarize_column/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
column_name: tips
predicate: ' > 0'
new_column_name: class
annotations:
editor.position: '{"x":550,"y":380,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Binarize column using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":550,"y":490,"width":180,"height":40}'
Create fully connected pytorch network:
componentRef:
digest: d03d8248fd358a0275ec33568ee7dd7dce576cc112b09dfafe2651e4d97e04a9
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1a2ef3eeb77bc278f33cad0dd29008ea2431e191/components/PyTorch/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
output_activation_name: sigmoid
annotations:
editor.position: '{"x":380,"y":620,"width":180,"height":54}'
Create fully connected tensorflow network:
componentRef:
digest: bfcafbc5ce711b1f69cabf1338212d10d50136a73db9f9f7c984de7b80b4bfb0
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/9ca0f9eecf5f896f65b8538bbd809747052617d1/components/tensorflow/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
output_activation_name: sigmoid
annotations:
editor.position: '{"x":40,"y":630,"width":180,"height":54}'
Train model using Keras on CSV:
componentRef:
digest: 42ae60c889034dbad74815653e95b4f7d576b5f47f803173e8679c7b54984609
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c504a4010348c50eaaf6d4337586ccc008f4dcef/components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Create fully connected tensorflow network
type: TensorflowSavedModel
label_column_name: class
loss_function_name: binary_crossentropy
number_of_epochs: '10'
annotations:
editor.position: '{"x":40,"y":750,"width":180,"height":54}'
Train pytorch model from csv:
componentRef:
digest: 40f3185eb61e9727f41a4e0c05dd3d3b44bd802aa0f378cfc31756560033949a
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/d8c4cf5e6403bc65bcf8d606e6baf87e2528a3dc/components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Create fully connected pytorch network
type: PyTorchScriptModule
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: class
loss_function_name: binary_cross_entropy
annotations:
editor.position: '{"x":380,"y":750,"width":180,"height":40}'
Train XGBoost model on CSV:
componentRef:
digest: 538c5a01eb38deaf532d619f0bbeaff4efc550fe1f0f776fc06791097b68ceac
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/58d3a47f904f32a64af8403330ba7e2134cae46d/components/XGBoost/Train/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: class
objective: binary:logistic
annotations:
editor.position: '{"x":720,"y":750,"width":180,"height":40}'
Train logistic regression model using scikit learn from CSV:
componentRef:
digest: a864625a822e4b1c8ef6fe4ae1454fd90f15438f70a6712bb4c30e0dda4d35b7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/cb44b75c9c062fcc40c2b905b2024b4493dbc62b/components/ML_frameworks/Scikit_learn/Train_logistic_regression_model/from_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: class
annotations:
editor.position: '{"x":1030,"y":750,"width":180,"height":70}'
Predict with TensorFlow model on CSV data:
componentRef:
digest: 921bb1563e93a78233b8acceab87055b9154ccf5595d056028cf0396ca224cd4
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/59c759ce6f543184e30db6817d2a703879bc0f39/components/tensorflow/Predict/on_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
label_column_name: class
annotations:
editor.position: '{"x":160,"y":880,"width":180,"height":54}'
Create PyTorch Model Archive with base handler:
componentRef:
digest: 8298b5ee1b0f0879f893add4cf352c8dec7cf9e21bb9db134c91a2d046cdb0ec
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/46d51383e6554b7f3ab4fd8cf614d8c2b422fb22/components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml
arguments:
Model:
taskOutput:
outputName: trained_model
taskId: Train pytorch model from csv
type: PyTorchScriptModule
Model name: model
Model version: '1.0'
annotations:
editor.position: '{"x":380,"y":880,"width":180,"height":54}'
Xgboost predict on CSV:
componentRef:
digest: 0876233a0c7306fefec188bd70f059b46d1fb5aa57be231799570e3bbbdd0d95
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/4694ec97baccf59284c2a1db4aa2250c22291eab/components/XGBoost/Predict/component.yaml
arguments:
data:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
label_column_name: class
annotations:
editor.position: '{"x":810,"y":880,"width":180,"height":40}'
Upload Scikit learn pickle model to Google Cloud Vertex AI:
componentRef:
digest: 81c91c8d7d21ec97e0872f669d68bd89edea87279d703685db54aa94743bebcd
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train logistic regression model using scikit learn from CSV
type: ScikitLearnPickleModel
annotations:
editor.position: '{"x":1030,"y":880,"width":180,"height":70}'
Upload Tensorflow model to Google Cloud Vertex AI:
componentRef:
digest: 2e45263ff640b1a688e359b6936e27a81b2407749a84f340af2aa5547e0cb92c
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
annotations:
editor.position: '{"x":40,"y":1010,"width":180,"height":54}'
Upload PyTorch model archive to Google Cloud Vertex AI:
componentRef:
digest: 4450212fae7b9001482aca7eb78b28413c205506eccf08a04e7754a8dfa99004
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model_archive:
taskOutput:
outputName: Model archive
taskId: Create PyTorch Model Archive with base handler
type: PyTorchModelArchive
annotations:
editor.position: '{"x":380,"y":1010,"width":180,"height":70}'
Upload XGBoost model to Google Cloud Vertex AI:
componentRef:
digest: 5a5a273c403670743820986c03a4175b7cb4595a556524fefcce403656286977
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
annotations:
editor.position: '{"x":720,"y":1010,"width":180,"height":54}'
outputValues: {}
@@ -0,0 +1,224 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
binarize_column_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Binarize_column/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
# TensorFlow
create_fully_connected_tensorflow_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Create_fully_connected_network/component.yaml")
train_model_using_Keras_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml")
predict_with_TensorFlow_model_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Predict/on_CSV/component.yaml")
upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/component.yaml")
# PyTorch
create_fully_connected_pytorch_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_fully_connected_network/component.yaml")
train_pytorch_model_from_csv_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml")
create_pytorch_model_archive_with_base_handler_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml")
upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/component.yaml")
# XGBoost
train_XGBoost_model_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Train/component.yaml")
xgboost_predict_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Predict/component.yaml")
upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/d5c9918850a6cc70004c4269dae066cfe2e664eb/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/component.yaml")
# Scikit-learn
#train_linear_regression_model_using_scikit_learn_from_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/1f5cf6e06409b704064b2086c0a705e4e6b4fcde/community-content/pipeline_components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml")
train_logistic_regression_model_using_scikit_learn_from_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/1f5cf6e06409b704064b2086c0a705e4e6b4fcde/community-content/pipeline_components/ML_frameworks/Scikit_learn/Train_logistic_regression_model/from_CSV/component.yaml")
upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/component.yaml")
# Vertex AI
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_classification_model_using_all_frameworks_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
classification_label_column = "class"
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
classification_dataset = binarize_column_using_Pandas_on_CSV_data_op(
table=dataset,
column_name=label_column,
predicate=" > 0",
new_column_name=classification_label_column,
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=classification_dataset,
fraction_1=training_set_fraction,
)
classification_training_data = split_task.outputs["split_1"]
classification_testing_data = split_task.outputs["split_2"]
# TensorFlow
tensorflow_network = create_fully_connected_tensorflow_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
output_activation_name="sigmoid",
# output_size=1,
).outputs["model"]
tensorflow_model = train_model_using_Keras_on_CSV_op(
training_data=classification_training_data,
model=tensorflow_network,
label_column_name=classification_label_column,
# Optional:
loss_function_name="binary_crossentropy",
number_of_epochs=10,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#metric_names=["mean_absolute_error"],
#random_seed=0,
).outputs["trained_model"]
tensorflow_predictions = predict_with_TensorFlow_model_on_CSV_data_op(
dataset=classification_testing_data,
model=tensorflow_model,
# label_column_name needs to be set when doing prediction on a dataset that has labels
label_column_name=classification_label_column,
# Optional:
# batch_size=1000,
).outputs["predictions"]
tensorflow_vertex_model_name = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op(
model=tensorflow_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
tensorflow_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=tensorflow_vertex_model_name,
).outputs["endpoint_name"]
# PyTorch
pytorch_network = create_fully_connected_pytorch_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
output_activation_name="sigmoid",
# output_size=1,
).outputs["model"]
pytorch_model = train_pytorch_model_from_csv_op(
model=pytorch_network,
training_data=classification_training_data,
label_column_name=classification_label_column,
loss_function_name="binary_cross_entropy",
# Optional:
#number_of_epochs=1,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#batch_log_interval=100,
#random_seed=0,
).outputs["trained_model"]
pytorch_model_archive = create_pytorch_model_archive_with_base_handler_op(
model=pytorch_model,
# Optional:
# model_name="model",
# model_version="1.0",
).outputs["Model archive"]
pytorch_vertex_model_name = upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op(
model_archive=pytorch_model_archive,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
pytorch_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=pytorch_vertex_model_name,
).outputs["endpoint_name"]
# XGBoost
xgboost_model = train_XGBoost_model_on_CSV_op(
training_data=classification_training_data,
label_column_name=classification_label_column,
objective="binary:logistic",
# Optional:
#starting_model=None,
#num_iterations=10,
#booster_params={},
#booster="gbtree",
#learning_rate=0.3,
#min_split_loss=0,
#max_depth=6,
).outputs["model"]
# Predicting on the testing data
xgboost_predictions = xgboost_predict_on_CSV_op(
data=classification_testing_data,
model=xgboost_model,
# label_column needs to be set when doing prediction on a dataset that has labels
label_column_name=classification_label_column,
).outputs["predictions"]
xgboost_vertex_model_name = upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op(
model=xgboost_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
xgboost_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=xgboost_vertex_model_name,
).outputs["endpoint_name"]
# Scikit-learn
sklearn_model = train_logistic_regression_model_using_scikit_learn_from_CSV_op(
dataset=classification_training_data,
label_column_name=classification_label_column,
# Optional:
#penalty="l2",
#solver="lbfgs",
#max_iterations=100,
#multi_class_mode="auto",
#random_seed=0,
).outputs["model"]
sklearn_vertex_model_name = upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op(
model=sklearn_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
sklearn_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=sklearn_vertex_model_name,
).outputs["endpoint_name"]
pipeline_func=train_tabular_classification_model_using_all_frameworks_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,68 @@
name: Train tabular regression linear model using Scikit learn pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_regression_linear_model_using_Scikit_learn_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Train linear regression model using scikit learn from CSV:
componentRef:
digest: c7fe7912ab0d1fb45d201d452e9ce6be5544e7d8c6d229db7a4b931ff58560f3
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/f807e02b54d4886c65a05f40848fd51c72407f40/components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":40,"y":360,"width":180,"height":54}'
Upload Scikit learn pickle model to Google Cloud Vertex AI:
componentRef:
digest: 81c91c8d7d21ec97e0872f669d68bd89edea87279d703685db54aa94743bebcd
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train linear regression model using scikit learn from CSV
type: ScikitLearnPickleModel
annotations:
editor.position: '{"x":40,"y":490,"width":180,"height":70}'
outputValues: {}
@@ -0,0 +1,57 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
train_linear_regression_model_using_scikit_learn_from_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/1f5cf6e06409b704064b2086c0a705e4e6b4fcde/community-content/pipeline_components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml")
upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_regression_linear_model_using_Scikit_learn_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
all_columns = [label_column] + feature_columns
# Deploying the model might incur additional costs over time
deploy_model = False
training_data = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
training_data = select_columns_using_Pandas_on_CSV_data_op(
table=training_data,
column_names=all_columns,
).outputs["transformed_table"]
# Cleaning the NaN values.
training_data = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=training_data,
replacement_value="0",
#replacement_type_name="float",
).outputs["transformed_table"]
model = train_linear_regression_model_using_scikit_learn_from_CSV_op(
dataset=training_data,
label_column_name=label_column,
).outputs["model"]
vertex_model_name = upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
sklearn_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func = train_tabular_regression_linear_model_using_Scikit_learn_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,97 @@
name: Train tabular regression model using PyTorch pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_regression_model_using_PyTorch_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":240,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":240,"y":130,"width":180,"height":54}'
Create fully connected pytorch network:
componentRef:
digest: d03d8248fd358a0275ec33568ee7dd7dce576cc112b09dfafe2651e4d97e04a9
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1a2ef3eeb77bc278f33cad0dd29008ea2431e191/components/PyTorch/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
annotations:
editor.position: '{"x":40,"y":240,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":240,"y":240,"width":180,"height":54}'
Train pytorch model from csv:
componentRef:
digest: 40f3185eb61e9727f41a4e0c05dd3d3b44bd802aa0f378cfc31756560033949a
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/d8c4cf5e6403bc65bcf8d606e6baf87e2528a3dc/components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Create fully connected pytorch network
type: PyTorchScriptModule
training_data:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":240,"y":380,"width":180,"height":40}'
Create PyTorch Model Archive with base handler:
componentRef:
digest: 8298b5ee1b0f0879f893add4cf352c8dec7cf9e21bb9db134c91a2d046cdb0ec
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/46d51383e6554b7f3ab4fd8cf614d8c2b422fb22/components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml
arguments:
Model:
taskOutput:
outputName: trained_model
taskId: Train pytorch model from csv
type: PyTorchScriptModule
Model name: model
Model version: '1.0'
annotations:
editor.position: '{"x":240,"y":500,"width":180,"height":54}'
Upload PyTorch model archive to Google Cloud Vertex AI:
componentRef:
digest: 4450212fae7b9001482aca7eb78b28413c205506eccf08a04e7754a8dfa99004
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model_archive:
taskOutput:
outputName: Model archive
taskId: Create PyTorch Model Archive with base handler
type: PyTorchModelArchive
annotations:
editor.position: '{"x":240,"y":630,"width":180,"height":70}'
outputValues: {}
@@ -0,0 +1,85 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
create_fully_connected_pytorch_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_fully_connected_network/component.yaml")
train_pytorch_model_from_csv_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml")
create_pytorch_model_archive_with_base_handler_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml")
upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_regression_model_using_PyTorch_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
all_columns = [label_column] + feature_columns
# Deploying the model might incur additional costs over time
deploy_model = False
training_data = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
training_data = select_columns_using_Pandas_on_CSV_data_op(
table=training_data,
column_names=all_columns,
).outputs["transformed_table"]
# Cleaning the NaN values.
training_data = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=training_data,
replacement_value="0",
#replacement_type_name="float",
).outputs["transformed_table"]
network = create_fully_connected_pytorch_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
# output_activation_name=None,
# output_size=1,
).outputs["model"]
model = train_pytorch_model_from_csv_op(
model=network,
training_data=training_data,
label_column_name=label_column,
# Optional:
#loss_function_name="mse_loss",
#number_of_epochs=1,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#batch_log_interval=100,
#random_seed=0,
).outputs["trained_model"]
model_archive = create_pytorch_model_archive_with_base_handler_op(
model=model,
# Optional:
# model_name="model",
# model_version="1.0",
).outputs["Model archive"]
vertex_model_name = upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op(
model_archive=model_archive,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func=train_tabular_regression_model_using_PyTorch_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,116 @@
name: Train tabular regression model using Tensorflow pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_regression_model_using_TensorFlow_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":170,"y":380,"width":180,"height":40}'
Create fully connected tensorflow network:
componentRef:
digest: bfcafbc5ce711b1f69cabf1338212d10d50136a73db9f9f7c984de7b80b4bfb0
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/9ca0f9eecf5f896f65b8538bbd809747052617d1/components/tensorflow/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
annotations:
editor.position: '{"x":370,"y":380,"width":180,"height":54}'
Train model using Keras on CSV:
componentRef:
digest: 42ae60c889034dbad74815653e95b4f7d576b5f47f803173e8679c7b54984609
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c504a4010348c50eaaf6d4337586ccc008f4dcef/components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Create fully connected tensorflow network
type: TensorflowSavedModel
label_column_name: tips
number_of_epochs: '10'
metric_names: '["mean_absolute_error"]'
annotations:
editor.position: '{"x":40,"y":500,"width":180,"height":54}'
Upload Tensorflow model to Google Cloud Vertex AI:
componentRef:
digest: 2e45263ff640b1a688e359b6936e27a81b2407749a84f340af2aa5547e0cb92c
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
annotations:
editor.position: '{"x":40,"y":630,"width":180,"height":54}'
Predict with TensorFlow model on CSV data:
componentRef:
digest: 921bb1563e93a78233b8acceab87055b9154ccf5595d056028cf0396ca224cd4
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/59c759ce6f543184e30db6817d2a703879bc0f39/components/tensorflow/Predict/on_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
label_column_name: tips
annotations:
editor.position: '{"x":240,"y":630,"width":180,"height":54}'
outputValues: {}
@@ -0,0 +1,97 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
create_fully_connected_tensorflow_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Create_fully_connected_network/component.yaml")
train_model_using_Keras_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml")
predict_with_TensorFlow_model_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Predict/on_CSV/component.yaml")
upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_regression_model_using_Tensorflow_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=dataset,
fraction_1=training_set_fraction,
)
training_data = split_task.outputs["split_1"]
testing_data = split_task.outputs["split_2"]
network = create_fully_connected_tensorflow_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
# output_activation_name=None,
# output_size=1,
).outputs["model"]
model = train_model_using_Keras_on_CSV_op(
training_data=training_data,
model=network,
label_column_name=label_column,
# Optional:
#loss_function_name="mean_squared_error",
number_of_epochs=10,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
metric_names=["mean_absolute_error"],
#random_seed=0,
).outputs["trained_model"]
predictions = predict_with_TensorFlow_model_on_CSV_data_op(
dataset=testing_data,
model=model,
# label_column_name needs to be set when doing prediction on a dataset that has labels
label_column_name=label_column,
# Optional:
# batch_size=1000,
).outputs["predictions"]
vertex_model_name = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func=train_tabular_regression_model_using_Tensorflow_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,99 @@
name: Train tabular regression model using XGBoost pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_regression_model_using_XGBoost_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":40,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":40,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":40,"y":250,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":170,"y":360,"width":180,"height":40}'
Train XGBoost model on CSV:
componentRef:
digest: 538c5a01eb38deaf532d619f0bbeaff4efc550fe1f0f776fc06791097b68ceac
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/58d3a47f904f32a64af8403330ba7e2134cae46d/components/XGBoost/Train/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":40,"y":480,"width":180,"height":40}'
Upload XGBoost model to Google Cloud Vertex AI:
componentRef:
digest: 5a5a273c403670743820986c03a4175b7cb4595a556524fefcce403656286977
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
annotations:
editor.position: '{"x":40,"y":600,"width":180,"height":54}'
Xgboost predict on CSV:
componentRef:
digest: 0876233a0c7306fefec188bd70f059b46d1fb5aa57be231799570e3bbbdd0d95
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/4694ec97baccf59284c2a1db4aa2250c22291eab/components/XGBoost/Predict/component.yaml
arguments:
data:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
label_column_name: tips
annotations:
editor.position: '{"x":240,"y":600,"width":180,"height":40}'
outputValues: {}
@@ -0,0 +1,85 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
train_XGBoost_model_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Train/component.yaml")
xgboost_predict_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Predict/component.yaml")
upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/d5c9918850a6cc70004c4269dae066cfe2e664eb/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/component.yaml")
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_regression_model_using_XGBoost_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=dataset,
fraction_1=training_set_fraction,
)
training_data = split_task.outputs["split_1"]
testing_data = split_task.outputs["split_2"]
model = train_XGBoost_model_on_CSV_op(
training_data=training_data,
label_column_name=label_column,
# Optional:
#starting_model=None,
#num_iterations=10,
#booster_params={},
#objective="reg:squarederror",
#booster="gbtree",
#learning_rate=0.3,
#min_split_loss=0,
#max_depth=6,
).outputs["model"]
# Predicting on the testing data
predictions = xgboost_predict_on_CSV_op(
data=testing_data,
model=model,
# label_column needs to be set when doing prediction on a dataset that has labels
label_column_name=label_column,
).outputs["predictions"]
vertex_model_name = upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op(
model=model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs["endpoint_name"]
pipeline_func = train_tabular_regression_model_using_XGBoost_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,238 @@
name: Train tabular regression model using all frameworks pipeline
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/samples/Google_Cloud_Vertex_AI/Train_tabular_regression_model_using_all_frameworks_and_import_to_Vertex_AI/pipeline.component.yaml
sdk: https://cloud-pipelines.net/pipeline-editor/
implementation:
graph:
tasks:
Download from GCS:
componentRef:
digest: 4175c9ff143cb8cc75d05451c0a0ebdf5a0d6d020816e29f5e9cefbb7d56f241
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/27a5ea25e849c9e8c0cb6ed65518bc3ece259aaf/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
GCS path: gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv
annotations:
editor.position: '{"x":550,"y":40,"width":180,"height":40}'
Select columns using Pandas on CSV data:
componentRef:
digest: 9b9500f461c1d04f1e48992de9138db14a6800f23649d73048673d5ea6dc56ad
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/8c78aae096806cff3bc331a40566f42f5c3e9d4b/components/pandas/Select_columns/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: Data
taskId: Download from GCS
column_names: '["tips", "trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"]'
annotations:
editor.position: '{"x":550,"y":140,"width":180,"height":54}'
Fill all missing values using Pandas on CSV data:
componentRef:
digest: a1b0c29a4615f2e3652aa5d31b9255fa15700e146627c755f8fc172f82e71af7
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/23405971f5f16a41b16c343129b893c52e4d1d48/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Select columns using Pandas on CSV data
type: CSV
replacement_value: '0'
annotations:
editor.position: '{"x":550,"y":250,"width":180,"height":54}'
Split rows into subsets:
componentRef:
digest: a609c3c9196484290f24a1174955f95b27f07a7b458aa5cb8cde28866cb2cb46
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/daae5a4abaa35e44501818b1534ed7827d7da073/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml
arguments:
table:
taskOutput:
outputName: transformed_table
taskId: Fill all missing values using Pandas on CSV data
type: CSV
fraction_1: '0.8'
annotations:
editor.position: '{"x":550,"y":360,"width":180,"height":40}'
Create fully connected pytorch network:
componentRef:
digest: d03d8248fd358a0275ec33568ee7dd7dce576cc112b09dfafe2651e4d97e04a9
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/1a2ef3eeb77bc278f33cad0dd29008ea2431e191/components/PyTorch/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
annotations:
editor.position: '{"x":380,"y":490,"width":180,"height":54}'
Create fully connected tensorflow network:
componentRef:
digest: bfcafbc5ce711b1f69cabf1338212d10d50136a73db9f9f7c984de7b80b4bfb0
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/9ca0f9eecf5f896f65b8538bbd809747052617d1/components/tensorflow/Create_fully_connected_network/component.yaml
arguments:
input_size: '7'
hidden_layer_sizes: '[10]'
activation_name: elu
annotations:
editor.position: '{"x":40,"y":500,"width":180,"height":54}'
Train model using Keras on CSV:
componentRef:
digest: 42ae60c889034dbad74815653e95b4f7d576b5f47f803173e8679c7b54984609
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c504a4010348c50eaaf6d4337586ccc008f4dcef/components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Create fully connected tensorflow network
type: TensorflowSavedModel
label_column_name: tips
number_of_epochs: '10'
metric_names: '["mean_absolute_error"]'
annotations:
editor.position: '{"x":40,"y":620,"width":180,"height":54}'
Train pytorch model from csv:
componentRef:
digest: 40f3185eb61e9727f41a4e0c05dd3d3b44bd802aa0f378cfc31756560033949a
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/d8c4cf5e6403bc65bcf8d606e6baf87e2528a3dc/components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Create fully connected pytorch network
type: PyTorchScriptModule
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":380,"y":620,"width":180,"height":40}'
Train XGBoost model on CSV:
componentRef:
digest: 538c5a01eb38deaf532d619f0bbeaff4efc550fe1f0f776fc06791097b68ceac
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/58d3a47f904f32a64af8403330ba7e2134cae46d/components/XGBoost/Train/component.yaml
arguments:
training_data:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":720,"y":620,"width":180,"height":40}'
Train linear regression model using scikit learn from CSV:
componentRef:
digest: c7fe7912ab0d1fb45d201d452e9ce6be5544e7d8c6d229db7a4b931ff58560f3
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/f807e02b54d4886c65a05f40848fd51c72407f40/components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_1
taskId: Split rows into subsets
type: CSV
label_column_name: tips
annotations:
editor.position: '{"x":1030,"y":620,"width":180,"height":54}'
Predict with TensorFlow model on CSV data:
componentRef:
digest: 921bb1563e93a78233b8acceab87055b9154ccf5595d056028cf0396ca224cd4
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/59c759ce6f543184e30db6817d2a703879bc0f39/components/tensorflow/Predict/on_CSV/component.yaml
arguments:
dataset:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
label_column_name: tips
annotations:
editor.position: '{"x":160,"y":750,"width":180,"height":54}'
Create PyTorch Model Archive with base handler:
componentRef:
digest: 8298b5ee1b0f0879f893add4cf352c8dec7cf9e21bb9db134c91a2d046cdb0ec
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/46d51383e6554b7f3ab4fd8cf614d8c2b422fb22/components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml
arguments:
Model:
taskOutput:
outputName: trained_model
taskId: Train pytorch model from csv
type: PyTorchScriptModule
Model name: model
Model version: '1.0'
annotations:
editor.position: '{"x":380,"y":750,"width":180,"height":54}'
Xgboost predict on CSV:
componentRef:
digest: 0876233a0c7306fefec188bd70f059b46d1fb5aa57be231799570e3bbbdd0d95
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/4694ec97baccf59284c2a1db4aa2250c22291eab/components/XGBoost/Predict/component.yaml
arguments:
data:
taskOutput:
outputName: split_2
taskId: Split rows into subsets
type: CSV
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
label_column_name: tips
annotations:
editor.position: '{"x":810,"y":750,"width":180,"height":40}'
Upload Scikit learn pickle model to Google Cloud Vertex AI:
componentRef:
digest: 81c91c8d7d21ec97e0872f669d68bd89edea87279d703685db54aa94743bebcd
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train linear regression model using scikit learn from CSV
type: ScikitLearnPickleModel
annotations:
editor.position: '{"x":1030,"y":750,"width":180,"height":70}'
Upload Tensorflow model to Google Cloud Vertex AI:
componentRef:
digest: 2e45263ff640b1a688e359b6936e27a81b2407749a84f340af2aa5547e0cb92c
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: trained_model
taskId: Train model using Keras on CSV
type: TensorflowSavedModel
annotations:
editor.position: '{"x":40,"y":880,"width":180,"height":54}'
Upload PyTorch model archive to Google Cloud Vertex AI:
componentRef:
digest: 4450212fae7b9001482aca7eb78b28413c205506eccf08a04e7754a8dfa99004
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model_archive:
taskOutput:
outputName: Model archive
taskId: Create PyTorch Model Archive with base handler
type: PyTorchModelArchive
annotations:
editor.position: '{"x":380,"y":880,"width":180,"height":70}'
Upload XGBoost model to Google Cloud Vertex AI:
componentRef:
digest: 5a5a273c403670743820986c03a4175b7cb4595a556524fefcce403656286977
url: https://raw.githubusercontent.com/Ark-kun/pipeline_components/c6a8b67d1ada2cc17665c99ff6b410df588bee28/components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/workaround_for_buggy_KFPv2_compiler/component.yaml
arguments:
model:
taskOutput:
outputName: model
taskId: Train XGBoost model on CSV
type: XGBoostModel
annotations:
editor.position: '{"x":720,"y":880,"width":180,"height":54}'
outputValues: {}
@@ -0,0 +1,208 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
# %% Loading components
download_from_gcs_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/storage/download/component.yaml")
select_columns_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Select_columns/in_CSV_format/component.yaml")
fill_all_missing_values_using_Pandas_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml")
split_rows_into_subsets_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml")
# TensorFlow
create_fully_connected_tensorflow_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Create_fully_connected_network/component.yaml")
train_model_using_Keras_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml")
predict_with_TensorFlow_model_on_CSV_data_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/tensorflow/Predict/on_CSV/component.yaml")
upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/component.yaml")
# PyTorch
create_fully_connected_pytorch_network_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_fully_connected_network/component.yaml")
train_pytorch_model_from_csv_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml")
create_pytorch_model_archive_with_base_handler_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml")
upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/component.yaml")
# XGBoost
train_XGBoost_model_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Train/component.yaml")
xgboost_predict_on_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/XGBoost/Predict/component.yaml")
upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/d5c9918850a6cc70004c4269dae066cfe2e664eb/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/component.yaml")
# Scikit-learn
train_linear_regression_model_using_scikit_learn_from_CSV_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/1f5cf6e06409b704064b2086c0a705e4e6b4fcde/community-content/pipeline_components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml")
upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/component.yaml")
# Vertex AI
deploy_model_to_endpoint_op = components.load_component_from_url("https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml")
# %% Pipeline definition
def train_tabular_regression_model_using_all_frameworks_pipeline():
dataset_gcs_uri = "gs://ml-pipeline-dataset/Chicago_taxi_trips/chicago_taxi_trips_2019-01-01_-_2019-02-01_limit=10000.csv"
feature_columns = ["trip_seconds", "trip_miles", "pickup_community_area", "dropoff_community_area", "fare", "tolls", "extras"] # Excluded "trip_total"
label_column = "tips"
training_set_fraction = 0.8
# Deploying the model might incur additional costs over time
deploy_model = False
all_columns = [label_column] + feature_columns
dataset = download_from_gcs_op(
gcs_path=dataset_gcs_uri
).outputs["Data"]
dataset = select_columns_using_Pandas_on_CSV_data_op(
table=dataset,
column_names=all_columns,
).outputs["transformed_table"]
dataset = fill_all_missing_values_using_Pandas_on_CSV_data_op(
table=dataset,
replacement_value="0",
# # Optional:
# column_names=None, # =[...]
).outputs["transformed_table"]
split_task = split_rows_into_subsets_op(
table=dataset,
fraction_1=training_set_fraction,
)
training_data = split_task.outputs["split_1"]
testing_data = split_task.outputs["split_2"]
# TensorFlow
tensorflow_network = create_fully_connected_tensorflow_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
# output_activation_name=None,
# output_size=1,
).outputs["model"]
tensorflow_model = train_model_using_Keras_on_CSV_op(
training_data=training_data,
model=tensorflow_network,
label_column_name=label_column,
# Optional:
#loss_function_name="mean_squared_error",
number_of_epochs=10,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
metric_names=["mean_absolute_error"],
#random_seed=0,
).outputs["trained_model"]
tensorflow_predictions = predict_with_TensorFlow_model_on_CSV_data_op(
dataset=testing_data,
model=tensorflow_model,
# label_column_name needs to be set when doing prediction on a dataset that has labels
label_column_name=label_column,
# Optional:
# batch_size=1000,
).outputs["predictions"]
tensorflow_vertex_model_name = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op(
model=tensorflow_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
tensorflow_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=tensorflow_vertex_model_name,
).outputs["endpoint_name"]
# PyTorch
pytorch_network = create_fully_connected_pytorch_network_op(
input_size=len(feature_columns),
# Optional:
hidden_layer_sizes=[10],
activation_name="elu",
# output_activation_name=None,
# output_size=1,
).outputs["model"]
pytorch_model = train_pytorch_model_from_csv_op(
model=pytorch_network,
training_data=training_data,
label_column_name=label_column,
# Optional:
#loss_function_name="mse_loss",
#number_of_epochs=1,
#learning_rate=0.1,
#optimizer_name="Adadelta",
#optimizer_parameters={},
#batch_size=32,
#batch_log_interval=100,
#random_seed=0,
).outputs["trained_model"]
pytorch_model_archive = create_pytorch_model_archive_with_base_handler_op(
model=pytorch_model,
# Optional:
# model_name="model",
# model_version="1.0",
).outputs["Model archive"]
pytorch_vertex_model_name = upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI_op(
model_archive=pytorch_model_archive,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
pytorch_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=pytorch_vertex_model_name,
).outputs["endpoint_name"]
# XGBoost
xgboost_model = train_XGBoost_model_on_CSV_op(
training_data=training_data,
label_column_name=label_column,
# Optional:
#starting_model=None,
#num_iterations=10,
#booster_params={},
#objective="reg:squarederror",
#booster="gbtree",
#learning_rate=0.3,
#min_split_loss=0,
#max_depth=6,
).outputs["model"]
# Predicting on the testing data
xgboost_predictions = xgboost_predict_on_CSV_op(
data=testing_data,
model=xgboost_model,
# label_column needs to be set when doing prediction on a dataset that has labels
label_column_name=label_column,
).outputs["predictions"]
xgboost_vertex_model_name = upload_XGBoost_model_to_Google_Cloud_Vertex_AI_op(
model=xgboost_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
xgboost_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=xgboost_vertex_model_name,
).outputs["endpoint_name"]
# Scikit-learn
sklearn_model = train_linear_regression_model_using_scikit_learn_from_CSV_op(
dataset=training_data,
label_column_name=label_column,
).outputs["model"]
sklearn_vertex_model_name = upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI_op(
model=sklearn_model,
).outputs["model_name"]
# Deploying the model might incur additional costs over time
if deploy_model:
sklearn_vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=sklearn_vertex_model_name,
).outputs["endpoint_name"]
pipeline_func=train_tabular_regression_model_using_all_frameworks_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -2,4 +2,5 @@ cpr_model_server.py
entrypoint.py
state_dict.pth
config.json
**/__pycache__
**/__pycache__
!testdata/**
@@ -2,7 +2,7 @@
## About CPR
CPR ([custom prediction routines](https://github.com/googleapis/python-aiplatform/blob/custom-prediction-routine/google/cloud/aiplatform/prediction/README.md)) is a framework designed by Google Cloud developers to make it easier to combine machine learning models with custom preprocessing and postprocessing logic in a real-time serving application.
CPR ([custom prediction routines](https://github.com/googleapis/python-aiplatform/blob/main/google/cloud/aiplatform/prediction/README.md)) is a framework designed by Google Cloud developers to make it easier to combine machine learning models with custom preprocessing and postprocessing logic in a real-time serving application.
## Using this example
@@ -34,6 +34,23 @@ Finally, install the Python modules required to build and run the model server:
pip install -r requirements.txt
```
### Auth
This example uses Google Cloud Storage for hosting model artifacts and Artifact Registry to store the container image.
You'll need to authorize yourself before you can interact with these.
First, log in to GCP with application default credentials:
```sh
gcloud auth application-default login
```
Next, if you haven't done so already, set up the [gcloud credential helper](https://cloud.google.com/artifact-registry/docs/docker/authentication)
for the Artifact Registry region where you intend to host the image.
```
gcloud auth configure-docker <region>-docker.pkg.dev
```
### Predictor
The `TimmPredictor` class in `timm_serving/predictor.py` implements most of the important logic for the server.
@@ -60,9 +60,9 @@ class CPRConfig(object):
image: str = "timm_predictor:latest"
artifact_local_dir: str = ""
region: str = "us-central1"
project_id: str = "samthrasher-experimental"
project_id: str = "<your project ID here>"
repository: str = "cpr-images"
artifact_gcs_dir: str = "gs://samthrasher-cpr-example/timm-vit224/"
artifact_gcs_dir: str = "gs://<your bucket ID here>/timm-vit224/"
model_name: str = ""
endpoint_name: str = ""
machine_type: str = "n1-standard-2"
@@ -1,8 +1,8 @@
absl-py==1.1.0
fastapi==0.75.2
fastapi==0.109.1
uvicorn==0.18.2
timm==0.5.4
smart_open==6.0.0
google-cloud-storage>=1.26.0,<2.0.0dev
google-cloud-aiplatform[prediction] @ git+https://github.com/googleapis/python-aiplatform.git@custom-prediction-routine
google-cloud-aiplatform[prediction]>=1.16.0
@@ -70,7 +70,10 @@ class PredictorUnitTests(absltest.TestCase):
def setUp(self):
super().setUp()
self.config = CPRConfig()
self.config.load()
try:
self.config.load()
except FileNotFoundError:
logging.info("No saved config file found, using default values.")
self.predictor = predictor.TimmPredictor()
def test_load_from_saved_state_dict_ok(self):
@@ -170,7 +173,10 @@ class ServerEndToEndTests(absltest.TestCase):
def setUp(self):
super().setUp()
self.config = CPRConfig()
self.config.load()
try:
self.config.load()
except FileNotFoundError:
logging.info("No saved config file found, using default values.")
self.local_model = cpr.LocalModel(
serving_container_spec=aiplatform.gapic.ModelContainerSpec(
image_uri=self.config.image
@@ -0,0 +1 @@
blah
@@ -0,0 +1,64 @@
name: Train linear regression model using scikit learn from CSV
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/ML_frameworks/Scikit_learn/Train_linear_regression_model/from_CSV/component.yaml'}
inputs:
- {name: dataset, type: CSV}
- {name: label_column_name, type: String}
outputs:
- {name: model, type: ScikitLearnPickleModel}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'scikit-learn==1.0.2' 'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'scikit-learn==1.0.2' 'pandas==1.4.3'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def train_linear_regression_model_using_scikit_learn_from_CSV(
dataset_path,
model_path,
label_column_name,
):
import pandas
import pickle
from sklearn import linear_model
df = pandas.read_csv(dataset_path)
model = linear_model.LinearRegression()
model.fit(
X=df.drop(columns=label_column_name),
y=df[label_column_name],
)
with open(model_path, "wb") as f:
pickle.dump(model, f)
import argparse
_parser = argparse.ArgumentParser(prog='Train linear regression model using scikit learn from CSV', description='')
_parser.add_argument("--dataset", dest="dataset_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = train_linear_regression_model_using_scikit_learn_from_CSV(**_parsed_args)
args:
- --dataset
- {inputPath: dataset}
- --label-column-name
- {inputValue: label_column_name}
- --model
- {outputPath: model}
@@ -0,0 +1,163 @@
name: Train logistic regression model using scikit learn from CSV
description: Train logistic regression model using Scikit-learn
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/ML_frameworks/Scikit_learn/Train_logistic_regression_model/from_CSV/component.yaml'}
inputs:
- {name: dataset, type: CSV}
- {name: label_column_name, type: String}
- {name: penalty, type: String, default: l2, optional: true}
- {name: solver, type: String, default: lbfgs, optional: true}
- {name: max_iterations, type: Integer, default: '100', optional: true}
- {name: multi_class_mode, type: String, default: auto, optional: true}
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: model, type: ScikitLearnPickleModel}
- {name: model_parameters, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'scikit-learn==1.0.2' 'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'scikit-learn==1.0.2' 'pandas==1.4.3'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def train_logistic_regression_model_using_scikit_learn_from_CSV(
dataset_path,
model_path,
label_column_name,
penalty = "l2", # l1, l2, elasticnet, none
solver = "lbfgs", # newton-cg, lbfgs, liblinear, sag, saga
max_iterations = 100,
multi_class_mode = "auto", # auto, ovr, multinomial
random_seed = 0,
):
"""Train logistic regression model using Scikit-learn
See https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
"""
import json
import pandas
import pickle
from sklearn import linear_model
df = pandas.read_csv(dataset_path)
model = linear_model.LogisticRegression(
penalty=penalty,
#dual=False,
#tol=1e-4,
#C=1.0,
#fit_intercept=True,
#intercept_scaling=1,
#class_weight=None,
random_state=random_seed,
solver=solver,
max_iter=max_iterations,
multi_class=multi_class_mode,
#l1_ratio=None,
verbose=1,
)
model_parameters = model.get_params()
model_parameters_json = json.dumps(model_parameters, indent=2)
print("Model parameters:")
print(model_parameters_json)
print()
model.fit(
X=df.drop(columns=label_column_name),
y=df[label_column_name],
)
with open(model_path, "wb") as f:
pickle.dump(model, f)
return (model_parameters_json,)
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
import argparse
_parser = argparse.ArgumentParser(prog='Train logistic regression model using scikit learn from CSV', description='Train logistic regression model using Scikit-learn')
_parser.add_argument("--dataset", dest="dataset_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--penalty", dest="penalty", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--solver", dest="solver", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--max-iterations", dest="max_iterations", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--multi-class-mode", dest="multi_class_mode", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=1)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = train_logistic_regression_model_using_scikit_learn_from_CSV(**_parsed_args)
_output_serializers = [
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --dataset
- {inputPath: dataset}
- --label-column-name
- {inputValue: label_column_name}
- if:
cond: {isPresent: penalty}
then:
- --penalty
- {inputValue: penalty}
- if:
cond: {isPresent: solver}
then:
- --solver
- {inputValue: solver}
- if:
cond: {isPresent: max_iterations}
then:
- --max-iterations
- {inputValue: max_iterations}
- if:
cond: {isPresent: multi_class_mode}
then:
- --multi-class-mode
- {inputValue: multi_class_mode}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --model
- {outputPath: model}
- '----output-paths'
- {outputPath: model_parameters}
@@ -0,0 +1,41 @@
name: Create PyTorch Model Archive with base handler
inputs:
- {name: Model, type: PyTorchScriptModule}
- {name: Model name, type: String, default: model}
- {name: Model version, type: String, default: "1.0"}
outputs:
- {name: Model archive, type: PyTorchModelArchive}
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/PyTorch/Create_PyTorch_Model_Archive/with_base_handler/component.yaml'
implementation:
container:
image: pytorch/torchserve:0.6.0-cpu
command:
- bash
- -exc
- |
model_path=$0
model_name=$1
model_version=$2
output_model_archive_path=$3
mkdir -p "$(dirname "$output_model_archive_path")"
# TODO: Use the built-in base_handler once my fix is merged: https://github.com/pytorch/serve/pull/1682
echo '
from ts.torch_handler import base_handler
class BaseHandler(base_handler.BaseHandler):
pass
' > base_handler.py # torch-model-archiver needs the handler to have .py extension
torch-model-archiver --model-name "$model_name" --version "$model_version" --serialized-file "$model_path" --handler base_handler.py
# torch-model-archiver does not allow specifying the output path, but always writes to "${model_name}.<format>"
expected_model_archive_path="${model_name}.mar"
mv "$expected_model_archive_path" "$output_model_archive_path"
- {inputPath: Model}
- {inputValue: Model name}
- {inputValue: Model version}
- {outputPath: Model archive}
@@ -0,0 +1,117 @@
name: Create fully connected pytorch network
description: Creates fully-connected network in PyTorch ScriptModule format
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/PyTorch/Create_fully_connected_network/component.yaml'}
inputs:
- {name: input_size, type: Integer}
- {name: hidden_layer_sizes, type: JsonArray, default: '[]', optional: true}
- {name: output_size, type: Integer, default: '1', optional: true}
- {name: activation_name, type: String, default: relu, optional: true}
- {name: output_activation_name, type: String, optional: true}
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: model, type: PyTorchScriptModule}
implementation:
container:
image: pytorch/pytorch:1.7.1-cuda11.0-cudnn8-runtime
command:
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def create_fully_connected_pytorch_network(
input_size,
model_path,
hidden_layer_sizes = [],
output_size = 1,
activation_name = 'relu',
output_activation_name = None,
random_seed = 0,
):
'''Creates fully-connected network in PyTorch ScriptModule format'''
import torch
torch.manual_seed(random_seed)
activation = getattr(torch, activation_name, None) or getattr(torch.nn.functional, activation_name, None)
if not activation:
raise ValueError(f'Activation "{activation_name}" was not found.')
class ActivationLayer(torch.nn.Module):
def forward(self, input):
return activation(input)
layers = []
prev_layer_size = input_size
for layer_size in hidden_layer_sizes:
layer = torch.nn.Linear(prev_layer_size, layer_size)
prev_layer_size = layer_size
layers.append(layer)
layers.append(ActivationLayer())
# Adding the output layer
layers.append(torch.nn.Linear(prev_layer_size, output_size))
# Adding the optional activation after the output layer
if output_activation_name:
output_activation = getattr(torch, output_activation_name, None) or getattr(torch.nn.functional, output_activation_name, None)
class OutputActivationLayer(torch.nn.Module):
def forward(self, input):
return output_activation(input)
layers.append(OutputActivationLayer())
network = torch.nn.Sequential(*layers)
script_module = torch.jit.script(network)
print(script_module)
script_module.save(model_path)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Create fully connected pytorch network', description='Creates fully-connected network in PyTorch ScriptModule format')
_parser.add_argument("--input-size", dest="input_size", type=int, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--hidden-layer-sizes", dest="hidden_layer_sizes", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--output-size", dest="output_size", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--activation-name", dest="activation_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--output-activation-name", dest="output_activation_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = create_fully_connected_pytorch_network(**_parsed_args)
args:
- --input-size
- {inputValue: input_size}
- if:
cond: {isPresent: hidden_layer_sizes}
then:
- --hidden-layer-sizes
- {inputValue: hidden_layer_sizes}
- if:
cond: {isPresent: output_size}
then:
- --output-size
- {inputValue: output_size}
- if:
cond: {isPresent: activation_name}
then:
- --activation-name
- {inputValue: activation_name}
- if:
cond: {isPresent: output_activation_name}
then:
- --output-activation-name
- {inputValue: output_activation_name}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --model
- {outputPath: model}
@@ -0,0 +1,209 @@
name: Train pytorch model from csv
description: Trains PyTorch model
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/PyTorch/Train_PyTorch_model/from_CSV/component.yaml'
inputs:
- {name: model, type: PyTorchScriptModule}
- {name: training_data, type: CSV}
- {name: label_column_name, type: String}
- {name: loss_function_name, type: String, default: mse_loss, optional: true}
- {name: number_of_epochs, type: Integer, default: '1', optional: true}
- {name: learning_rate, type: Float, default: '0.1', optional: true}
- {name: optimizer_name, type: String, default: Adadelta, optional: true}
- {name: optimizer_parameters, type: JsonObject, optional: true}
- {name: batch_size, type: Integer, default: '32', optional: true}
- {name: batch_log_interval, type: Integer, default: '100', optional: true}
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: trained_model, type: PyTorchScriptModule}
implementation:
container:
image: pytorch/pytorch:1.7.1-cuda11.0-cudnn8-runtime
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet
--no-warn-script-location 'pandas==1.4.3' --user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def train_pytorch_model_from_csv(
model_path,
training_data_path,
trained_model_path,
label_column_name,
loss_function_name = 'mse_loss',
number_of_epochs = 1,
learning_rate = 0.1,
optimizer_name = 'Adadelta',
optimizer_parameters = None,
batch_size = 32,
batch_log_interval = 100,
random_seed = 0,
):
'''Trains PyTorch model'''
import pandas
import torch
torch.manual_seed(random_seed)
use_cuda = torch.cuda.is_available()
device = torch.device("cuda" if use_cuda else "cpu")
model = torch.jit.load(model_path)
model.to(device)
model.train()
optimizer_class = getattr(torch.optim, optimizer_name, None)
if not optimizer_class:
raise ValueError(f'Optimizer "{optimizer_name}" was not found.')
optimizer_parameters = optimizer_parameters or {}
optimizer_parameters['lr'] = learning_rate
optimizer = optimizer_class(model.parameters(), **optimizer_parameters)
loss_function = getattr(torch, loss_function_name, None) or getattr(torch.nn, loss_function_name, None) or getattr(torch.nn.functional, loss_function_name, None)
if not loss_function:
raise ValueError(f'Loss function "{loss_function_name}" was not found.')
class CsvDataset(torch.utils.data.Dataset):
def __init__(self, file_path, label_column_name, drop_nan_columns_or_rows = 'columns'):
dataframe = pandas.read_csv(file_path).convert_dtypes()
# Preventing error: default_collate: batch must contain tensors, numpy arrays, numbers, dicts or lists; found object
if drop_nan_columns_or_rows == 'columns':
non_nan_data = dataframe.dropna(axis='columns')
removed_columns = set(dataframe.columns) - set(non_nan_data.columns)
if removed_columns:
print('Skipping columns with NaNs: ' + str(removed_columns))
dataframe = non_nan_data
if drop_nan_columns_or_rows == 'rows':
non_nan_data = dataframe.dropna(axis='index')
number_of_removed_rows = len(dataframe) - len(non_nan_data)
if number_of_removed_rows:
print(f'Skipped {number_of_removed_rows} rows with NaNs.')
dataframe = non_nan_data
numerical_data = dataframe.select_dtypes(include='number')
non_numerical_data = dataframe.select_dtypes(exclude='number')
if not non_numerical_data.empty:
print('Skipping non-number columns:')
print(non_numerical_data.dtypes)
self._dataframe = dataframe
self.labels = numerical_data[[label_column_name]]
self.features = numerical_data.drop(columns=[label_column_name])
def __len__(self):
return len(self._dataframe)
def __getitem__(self, index):
return [self.features.loc[index].to_numpy(dtype='float32'), self.labels.loc[index].to_numpy(dtype='float32')]
dataset = CsvDataset(
file_path=training_data_path,
label_column_name=label_column_name,
)
train_loader = torch.utils.data.DataLoader(
dataset=dataset,
batch_size=batch_size,
shuffle=True,
)
last_full_batch_loss = None
for epoch in range(1, number_of_epochs + 1):
for batch_idx, (data, target) in enumerate(train_loader):
data, target = data.to(device), target.to(device)
optimizer.zero_grad()
output = model(data)
loss = loss_function(output, target)
loss.backward()
optimizer.step()
if len(data) == batch_size:
last_full_batch_loss = loss.item()
if batch_idx % batch_log_interval == 0:
print('Train Epoch: {} [{}/{} ({:.0f}%)]\tLoss: {:.6f}'.format(
epoch, batch_idx * len(data), len(train_loader.dataset),
100. * batch_idx / len(train_loader), loss.item()))
print(f'Training epoch {epoch} completed. Last full batch loss: {last_full_batch_loss:.6f}')
# print(optimizer.state_dict())
model.save(trained_model_path)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Train pytorch model from csv', description='Trains PyTorch model')
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--training-data", dest="training_data_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--loss-function-name", dest="loss_function_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--number-of-epochs", dest="number_of_epochs", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--learning-rate", dest="learning_rate", type=float, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--optimizer-name", dest="optimizer_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--optimizer-parameters", dest="optimizer_parameters", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--batch-size", dest="batch_size", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--batch-log-interval", dest="batch_log_interval", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--trained-model", dest="trained_model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = train_pytorch_model_from_csv(**_parsed_args)
args:
- --model
- {inputPath: model}
- --training-data
- {inputPath: training_data}
- --label-column-name
- {inputValue: label_column_name}
- if:
cond: {isPresent: loss_function_name}
then:
- --loss-function-name
- {inputValue: loss_function_name}
- if:
cond: {isPresent: number_of_epochs}
then:
- --number-of-epochs
- {inputValue: number_of_epochs}
- if:
cond: {isPresent: learning_rate}
then:
- --learning-rate
- {inputValue: learning_rate}
- if:
cond: {isPresent: optimizer_name}
then:
- --optimizer-name
- {inputValue: optimizer_name}
- if:
cond: {isPresent: optimizer_parameters}
then:
- --optimizer-parameters
- {inputValue: optimizer_parameters}
- if:
cond: {isPresent: batch_size}
then:
- --batch-size
- {inputValue: batch_size}
- if:
cond: {isPresent: batch_log_interval}
then:
- --batch-log-interval
- {inputValue: batch_log_interval}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --trained-model
- {outputPath: trained_model}
@@ -0,0 +1,110 @@
name: Xgboost predict on CSV
description: Makes predictions using a trained XGBoost model.
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/XGBoost/Predict/component.yaml'}
inputs:
- {name: data, type: CSV, description: Feature data in Apache Parquet format.}
- {name: model, type: XGBoostModel, description: Trained model in binary XGBoost format.}
- {name: label_column_name, type: String, description: Optional. Name of the column
containing the label data that is excluded during the prediction., optional: true}
outputs:
- {name: predictions, description: Model predictions.}
implementation:
container:
image: python:3.10
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'xgboost==1.6.1' 'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'xgboost==1.6.1' 'pandas==1.4.3'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def xgboost_predict_on_CSV(
data_path,
model_path,
predictions_path,
label_column_name = None,
):
"""Makes predictions using a trained XGBoost model.
Args:
data_path: Feature data in Apache Parquet format.
model_path: Trained model in binary XGBoost format.
predictions_path: Model predictions.
label_column_name: Optional. Name of the column containing the label data that is excluded during the prediction.
Annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
"""
from pathlib import Path
import numpy
import pandas
import xgboost
df = pandas.read_csv(
data_path,
).convert_dtypes()
print("Evaluation data information:")
df.info(verbose=True)
# Converting column types that XGBoost does not support
for column_name, dtype in df.dtypes.items():
if dtype in ["string", "object"]:
print(f"Treating the {dtype.name} column '{column_name}' as categorical.")
df[column_name] = df[column_name].astype("category")
print(f"Inferred {len(df[column_name].cat.categories)} categories for the '{column_name}' column.")
# Working around the XGBoost issue with nullable floats: https://github.com/dmlc/xgboost/issues/8213
if pandas.api.types.is_float_dtype(dtype):
# Converting from "Float64" to "float64"
df[column_name] = df[column_name].astype(dtype.name.lower())
print("Final evaluation data information:")
df.info(verbose=True)
if label_column_name is not None:
df = df.drop(columns=[label_column_name])
testing_data = xgboost.DMatrix(
data=df,
enable_categorical=True,
)
model = xgboost.Booster(model_file=model_path)
predictions = model.predict(testing_data)
Path(predictions_path).parent.mkdir(parents=True, exist_ok=True)
numpy.savetxt(predictions_path, predictions)
import argparse
_parser = argparse.ArgumentParser(prog='Xgboost predict on CSV', description='Makes predictions using a trained XGBoost model.')
_parser.add_argument("--data", dest="data_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--predictions", dest="predictions_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = xgboost_predict_on_CSV(**_parsed_args)
args:
- --data
- {inputPath: data}
- --model
- {inputPath: model}
- if:
cond: {isPresent: label_column_name}
then:
- --label-column-name
- {inputValue: label_column_name}
- --predictions
- {outputPath: predictions}
@@ -0,0 +1,241 @@
name: Train XGBoost model on CSV
description: Trains an XGBoost model.
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/XGBoost/Train/component.yaml'}
inputs:
- {name: training_data, type: CSV, description: Training data in CSV format.}
- {name: label_column_name, type: String, description: Name of the column containing
the label data.}
- {name: starting_model, type: XGBoostModel, description: Existing trained model to
start from (in the binary XGBoost format)., optional: true}
- {name: num_iterations, type: Integer, description: Number of boosting iterations.,
default: '10', optional: true}
- name: objective
type: String
description: |-
The learning task and the corresponding learning objective.
See https://xgboost.readthedocs.io/en/latest/parameter.html#learning-task-parameters
The most common values are:
"reg:squarederror" - Regression with squared loss (default).
"reg:logistic" - Logistic regression.
"binary:logistic" - Logistic regression for binary classification, output probability.
"binary:logitraw" - Logistic regression for binary classification, output score before logistic transformation
"rank:pairwise" - Use LambdaMART to perform pairwise ranking where the pairwise loss is minimized
"rank:ndcg" - Use LambdaMART to perform list-wise ranking where Normalized Discounted Cumulative Gain (NDCG) is maximized
default: reg:squarederror
optional: true
- {name: booster, type: String, description: 'The booster to use. Can be `gbtree`,
`gblinear` or `dart`; `gbtree` and `dart` use tree based models while `gblinear`
uses linear functions.', default: gbtree, optional: true}
- {name: learning_rate, type: Float, description: 'Step size shrinkage used in update
to prevents overfitting. Range: [0,1].', default: '0.3', optional: true}
- name: min_split_loss
type: Float
description: |-
Minimum loss reduction required to make a further partition on a leaf node of the tree.
The larger `min_split_loss` is, the more conservative the algorithm will be. Range: [0,Inf].
default: '0'
optional: true
- name: max_depth
type: Integer
description: |-
Maximum depth of a tree. Increasing this value will make the model more complex and more likely to overfit.
0 indicates no limit on depth. Range: [0,Inf].
default: '6'
optional: true
- {name: booster_params, type: JsonObject, description: 'Parameters for the booster.
See https://xgboost.readthedocs.io/en/latest/parameter.html', optional: true}
outputs:
- {name: model, type: XGBoostModel, description: Trained model in the binary XGBoost
format.}
- {name: model_config, type: XGBoostModelConfig, description: The internal parameter
configuration of Booster as a JSON string.}
implementation:
container:
image: python:3.10
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'xgboost==1.6.1' 'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'xgboost==1.6.1' 'pandas==1.4.3'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def train_XGBoost_model_on_CSV(
training_data_path,
model_path,
model_config_path,
label_column_name,
starting_model_path = None,
num_iterations = 10,
# Booster parameters
objective = "reg:squarederror",
booster = "gbtree",
learning_rate = 0.3,
min_split_loss = 0,
max_depth = 6,
booster_params = None,
):
"""Trains an XGBoost model.
Args:
training_data_path: Training data in CSV format.
model_path: Trained model in the binary XGBoost format.
model_config_path: The internal parameter configuration of Booster as a JSON string.
starting_model_path: Existing trained model to start from (in the binary XGBoost format).
label_column_name: Name of the column containing the label data.
num_iterations: Number of boosting iterations.
booster_params: Parameters for the booster. See https://xgboost.readthedocs.io/en/latest/parameter.html
objective: The learning task and the corresponding learning objective.
See https://xgboost.readthedocs.io/en/latest/parameter.html#learning-task-parameters
The most common values are:
"reg:squarederror" - Regression with squared loss (default).
"reg:logistic" - Logistic regression.
"binary:logistic" - Logistic regression for binary classification, output probability.
"binary:logitraw" - Logistic regression for binary classification, output score before logistic transformation
"rank:pairwise" - Use LambdaMART to perform pairwise ranking where the pairwise loss is minimized
"rank:ndcg" - Use LambdaMART to perform list-wise ranking where Normalized Discounted Cumulative Gain (NDCG) is maximized
booster: The booster to use. Can be `gbtree`, `gblinear` or `dart`; `gbtree` and `dart` use tree based models while `gblinear` uses linear functions.
learning_rate: Step size shrinkage used in update to prevents overfitting. Range: [0,1].
min_split_loss: Minimum loss reduction required to make a further partition on a leaf node of the tree.
The larger `min_split_loss` is, the more conservative the algorithm will be. Range: [0,Inf].
max_depth: Maximum depth of a tree. Increasing this value will make the model more complex and more likely to overfit.
0 indicates no limit on depth. Range: [0,Inf].
Annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
"""
import pandas
import xgboost
df = pandas.read_csv(
training_data_path,
).convert_dtypes()
print("Training data information:")
df.info(verbose=True)
# Converting column types that XGBoost does not support
for column_name, dtype in df.dtypes.items():
if dtype in ["string", "object"]:
print(f"Treating the {dtype.name} column '{column_name}' as categorical.")
df[column_name] = df[column_name].astype("category")
print(f"Inferred {len(df[column_name].cat.categories)} categories for the '{column_name}' column.")
# Working around the XGBoost issue with nullable floats: https://github.com/dmlc/xgboost/issues/8213
if pandas.api.types.is_float_dtype(dtype):
# Converting from "Float64" to "float64"
df[column_name] = df[column_name].astype(dtype.name.lower())
print()
print("Final training data information:")
df.info(verbose=True)
training_data = xgboost.DMatrix(
data=df.drop(columns=[label_column_name]),
label=df[[label_column_name]],
enable_categorical=True,
)
booster_params = booster_params or {}
booster_params.setdefault("objective", objective)
booster_params.setdefault("booster", booster)
booster_params.setdefault("learning_rate", learning_rate)
booster_params.setdefault("min_split_loss", min_split_loss)
booster_params.setdefault("max_depth", max_depth)
starting_model = None
if starting_model_path:
starting_model = xgboost.Booster(model_file=starting_model_path)
print()
print("Training the model:")
model = xgboost.train(
params=booster_params,
dtrain=training_data,
num_boost_round=num_iterations,
xgb_model=starting_model,
evals=[(training_data, "training_data")],
)
# Saving the model in binary format
model.save_model(model_path)
model_config_str = model.save_config()
with open(model_config_path, "w") as model_config_file:
model_config_file.write(model_config_str)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Train XGBoost model on CSV', description='Trains an XGBoost model.')
_parser.add_argument("--training-data", dest="training_data_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--starting-model", dest="starting_model_path", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--num-iterations", dest="num_iterations", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--objective", dest="objective", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--booster", dest="booster", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--learning-rate", dest="learning_rate", type=float, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--min-split-loss", dest="min_split_loss", type=float, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--max-depth", dest="max_depth", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--booster-params", dest="booster_params", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--model-config", dest="model_config_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = train_XGBoost_model_on_CSV(**_parsed_args)
args:
- --training-data
- {inputPath: training_data}
- --label-column-name
- {inputValue: label_column_name}
- if:
cond: {isPresent: starting_model}
then:
- --starting-model
- {inputPath: starting_model}
- if:
cond: {isPresent: num_iterations}
then:
- --num-iterations
- {inputValue: num_iterations}
- if:
cond: {isPresent: objective}
then:
- --objective
- {inputValue: objective}
- if:
cond: {isPresent: booster}
then:
- --booster
- {inputValue: booster}
- if:
cond: {isPresent: learning_rate}
then:
- --learning-rate
- {inputValue: learning_rate}
- if:
cond: {isPresent: min_split_loss}
then:
- --min-split-loss
- {inputValue: min_split_loss}
- if:
cond: {isPresent: max_depth}
then:
- --max-depth
- {inputValue: max_depth}
- if:
cond: {isPresent: booster_params}
then:
- --booster-params
- {inputValue: booster_params}
- --model
- {outputPath: model}
- --model-config
- {outputPath: model_config}
@@ -0,0 +1,204 @@
name: Split rows into subsets
description: Splits the data table according to the split fractions.
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/dataset_manipulation/Split_rows_into_subsets/in_CSV/component.yaml'}
inputs:
- {name: table, type: CSV}
- {name: fraction_1, type: Float, description: 'The proportion of the lines to put
into the 1st split. Range: [0, 1]'}
- name: fraction_2
type: Float
description: |-
The proportion of the lines to put into the 2nd split. Range: [0, 1]
If fraction_2 is not specified, then fraction_2 = 1 - fraction_1.
The remaining lines go to the 3rd split (if any).
optional: true
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: split_1, type: CSV}
- {name: split_2, type: CSV}
- {name: split_3, type: CSV}
- {name: split_1_count, type: Integer}
- {name: split_2_count, type: Integer}
- {name: split_3_count, type: Integer}
implementation:
container:
image: python:3.9
command:
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def split_rows_into_subsets(
table_path,
split_1_path,
split_2_path,
split_3_path,
fraction_1,
fraction_2 = None,
random_seed = 0,
):
"""Splits the data table according to the split fractions.
Args:
fraction_1: The proportion of the lines to put into the 1st split. Range: [0, 1]
fraction_2: The proportion of the lines to put into the 2nd split. Range: [0, 1]
If fraction_2 is not specified, then fraction_2 = 1 - fraction_1.
The remaining lines go to the 3rd split (if any).
"""
import random
random.seed(random_seed)
SHUFFLE_BUFFER_SIZE = 10000
num_splits = 3
if fraction_1 < 0 or fraction_1 > 1:
raise ValueError("fraction_1 must be in between 0 and 1.")
if fraction_2 is None:
fraction_2 = 1 - fraction_1
if fraction_2 < 0 or fraction_2 > 1:
raise ValueError("fraction_2 must be in between 0 and 1.")
fraction_3 = 1 - fraction_1 - fraction_2
fractions = [
fraction_1,
fraction_2,
fraction_3,
]
assert sum(fractions) == 1
written_line_counts = [0] * num_splits
output_files = [
open(split_1_path, "wb"),
open(split_2_path, "wb"),
open(split_3_path, "wb"),
]
with open(table_path, "rb") as input_file:
# Writing the headers
header_line = input_file.readline()
for output_file in output_files:
output_file.write(header_line)
while True:
line_buffer = []
for i in range(SHUFFLE_BUFFER_SIZE):
line = input_file.readline()
if not line:
break
line_buffer.append(line)
# We need to exactly partition the lines between the output files
# To overcome possible systematic bias, we could calculate the total numbers
# of lines written to each file and take that into account.
num_read_lines = len(line_buffer)
number_of_lines_for_files = [0] * num_splits
# List that will have the index of the destination file for each line
file_index_for_line = []
remaining_lines = num_read_lines
remaining_fraction = 1
for i in range(num_splits):
number_of_lines_for_file = (
round(remaining_lines * (fractions[i] / remaining_fraction))
if remaining_fraction > 0
else 0
)
number_of_lines_for_files[i] = number_of_lines_for_file
remaining_lines -= number_of_lines_for_file
remaining_fraction -= fractions[i]
file_index_for_line.extend([i] * number_of_lines_for_file)
assert remaining_lines == 0, f"{remaining_lines}"
assert len(file_index_for_line) == num_read_lines
random.shuffle(file_index_for_line)
for i in range(num_read_lines):
output_files[file_index_for_line[i]].write(line_buffer[i])
written_line_counts[file_index_for_line[i]] += 1
# Exit if the file ended before we were able to fully fill the buffer
if len(line_buffer) != SHUFFLE_BUFFER_SIZE:
break
for output_file in output_files:
output_file.close()
return written_line_counts
def _serialize_int(int_value: int) -> str:
if isinstance(int_value, str):
return int_value
if not isinstance(int_value, int):
raise TypeError('Value "{}" has type "{}" instead of int.'.format(str(int_value), str(type(int_value))))
return str(int_value)
import argparse
_parser = argparse.ArgumentParser(prog='Split rows into subsets', description='Splits the data table according to the split fractions.')
_parser.add_argument("--table", dest="table_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--fraction-1", dest="fraction_1", type=float, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--fraction-2", dest="fraction_2", type=float, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--split-1", dest="split_1_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--split-2", dest="split_2_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--split-3", dest="split_3_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=3)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = split_rows_into_subsets(**_parsed_args)
_output_serializers = [
_serialize_int,
_serialize_int,
_serialize_int,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --table
- {inputPath: table}
- --fraction-1
- {inputValue: fraction_1}
- if:
cond: {isPresent: fraction_2}
then:
- --fraction-2
- {inputValue: fraction_2}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --split-1
- {outputPath: split_1}
- --split-2
- {outputPath: split_2}
- --split-3
- {outputPath: split_3}
- '----output-paths'
- {outputPath: split_1_count}
- {outputPath: split_2_count}
- {outputPath: split_3_count}
@@ -0,0 +1,241 @@
name: Deploy model to endpoint for Google Cloud Vertex AI Model
description: Deploys Google Cloud Vertex AI Model to a Google Cloud Vertex AI Endpoint.
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/KFPv2_hell/components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/workaround_for_buggy_KFPv2_compiler/component.yaml'}
inputs:
- {name: model_name, type: String, description: Full resource name of a Google Cloud
Vertex AI Model}
- name: endpoint_name
type: String
description: |-
Optional. Full name of Google Cloud Vertex Endpoint. A new
endpoint is created if the name is not passed.
optional: true
- name: machine_type
type: String
description: |-
The type of the machine. See the [list of machine types
supported for prediction
](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types).
Defaults to "n1-standard-2"
default: n1-standard-2
optional: true
- name: min_replica_count
type: Integer
description: |-
Optional. The minimum number of machine replicas this deployed
model will be always deployed on. If traffic against it increases,
it may dynamically be deployed onto more replicas, and as traffic
decreases, some of these extra replicas may be freed.
default: '1'
optional: true
- name: max_replica_count
type: Integer
description: |-
Optional. The maximum number of replicas this deployed model may
be deployed on when the traffic against it increases. If requested
value is too large, the deployment will error, but if deployment
succeeds then the ability to scale the model to that many replicas
is guaranteed (barring service outages). If traffic against the
deployed model increases beyond what its replicas at maximum may
handle, a portion of the traffic will be dropped. If this value
is not provided, the smaller value of min_replica_count or 1 will
be used.
default: '1'
optional: true
- name: accelerator_type
type: String
description: |-
Optional. Hardware accelerator type. Must also set accelerator_count if used.
One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100,
NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4
optional: true
- {name: accelerator_count, type: Integer, description: Optional. The number of accelerators
to attach to a worker replica., optional: true}
outputs:
- {name: endpoint_name, type: String}
- {name: endpoint_dict, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'google-cloud-aiplatform==1.7.0' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'google-cloud-aiplatform==1.7.0'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def deploy_model_to_endpoint_for_Google_Cloud_Vertex_AI_Model(
model_name,
endpoint_name = None,
machine_type = "n1-standard-2",
min_replica_count = 1,
max_replica_count = 1,
accelerator_type = None,
accelerator_count = None,
#
# Uncomment when anyone requests these:
# deployed_model_display_name: str = None,
# traffic_percentage: int = 0,
# traffic_split: dict = None,
# service_account: str = None,
# explanation_metadata: "google.cloud.aiplatform_v1.types.explanation_metadata.ExplanationMetadata" = None,
# explanation_parameters: "google.cloud.aiplatform_v1.types.explanation.ExplanationParameters" = None,
#
# encryption_spec_key_name: str = None,
):
"""Deploys Google Cloud Vertex AI Model to a Google Cloud Vertex AI Endpoint.
Args:
model_name: Full resource name of a Google Cloud Vertex AI Model
endpoint_name: Optional. Full name of Google Cloud Vertex Endpoint. A new
endpoint is created if the name is not passed.
machine_type: The type of the machine. See the [list of machine types
supported for prediction
](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types).
Defaults to "n1-standard-2"
min_replica_count (int):
Optional. The minimum number of machine replicas this deployed
model will be always deployed on. If traffic against it increases,
it may dynamically be deployed onto more replicas, and as traffic
decreases, some of these extra replicas may be freed.
max_replica_count (int):
Optional. The maximum number of replicas this deployed model may
be deployed on when the traffic against it increases. If requested
value is too large, the deployment will error, but if deployment
succeeds then the ability to scale the model to that many replicas
is guaranteed (barring service outages). If traffic against the
deployed model increases beyond what its replicas at maximum may
handle, a portion of the traffic will be dropped. If this value
is not provided, the smaller value of min_replica_count or 1 will
be used.
accelerator_type (str):
Optional. Hardware accelerator type. Must also set accelerator_count if used.
One of ACCELERATOR_TYPE_UNSPECIFIED, NVIDIA_TESLA_K80, NVIDIA_TESLA_P100,
NVIDIA_TESLA_V100, NVIDIA_TESLA_P4, NVIDIA_TESLA_T4
accelerator_count (int):
Optional. The number of accelerators to attach to a worker replica.
"""
import json
from google.cloud import aiplatform
model = aiplatform.Model(model_name=model_name)
if endpoint_name:
endpoint = aiplatform.Endpoint(endpoint_name=endpoint_name)
else:
endpoint_display_name = model.display_name[:118] + "_endpoint"
endpoint = aiplatform.Endpoint.create(
display_name=endpoint_display_name,
project=model.project,
location=model.location,
# encryption_spec_key_name=encryption_spec_key_name,
labels={"component-source": "github-com-ark-kun-pipeline-components"},
)
endpoint = model.deploy(
endpoint=endpoint,
# deployed_model_display_name=deployed_model_display_name,
machine_type=machine_type,
min_replica_count=min_replica_count,
max_replica_count=max_replica_count,
accelerator_type=accelerator_type,
accelerator_count=accelerator_count,
# service_account=service_account,
# explanation_metadata=explanation_metadata,
# explanation_parameters=explanation_parameters,
# encryption_spec_key_name=encryption_spec_key_name,
)
endpoint_json = json.dumps(endpoint.to_dict(), indent=2)
print(endpoint_json)
return (endpoint.resource_name, endpoint_json)
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
def _serialize_str(str_value: str) -> str:
if not isinstance(str_value, str):
raise TypeError('Value "{}" has type "{}" instead of str.'.format(str(str_value), str(type(str_value))))
return str_value
import argparse
_parser = argparse.ArgumentParser(prog='Deploy model to endpoint for Google Cloud Vertex AI Model', description='Deploys Google Cloud Vertex AI Model to a Google Cloud Vertex AI Endpoint.')
_parser.add_argument("--model-name", dest="model_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--endpoint-name", dest="endpoint_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--machine-type", dest="machine_type", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--min-replica-count", dest="min_replica_count", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--max-replica-count", dest="max_replica_count", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--accelerator-type", dest="accelerator_type", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--accelerator-count", dest="accelerator_count", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=2)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = deploy_model_to_endpoint_for_Google_Cloud_Vertex_AI_Model(**_parsed_args)
_output_serializers = [
_serialize_str,
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --model-name
- {inputValue: model_name}
- if:
cond: {isPresent: endpoint_name}
then:
- --endpoint-name
- {inputValue: endpoint_name}
- if:
cond: {isPresent: machine_type}
then:
- --machine-type
- {inputValue: machine_type}
- if:
cond: {isPresent: min_replica_count}
then:
- --min-replica-count
- {inputValue: min_replica_count}
- if:
cond: {isPresent: max_replica_count}
then:
- --max-replica-count
- {inputValue: max_replica_count}
- if:
cond: {isPresent: accelerator_type}
then:
- --accelerator-type
- {inputValue: accelerator_type}
- if:
cond: {isPresent: accelerator_count}
then:
- --accelerator-count
- {inputValue: accelerator_count}
- '----output-paths'
- {outputPath: endpoint_name}
- {outputPath: endpoint_dict}
@@ -0,0 +1,297 @@
name: Upload PyTorch model archive to Google Cloud Vertex AI
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/KFPv2_hell/components/google-cloud/Vertex_AI/Models/Upload_PyTorch_model_archive/workaround_for_buggy_KFPv2_compiler/component.yaml'}
inputs:
- {name: model_archive, type: PyTorchModelArchive}
- {name: torchserve_version, type: String, default: 0.6.0, optional: true}
- name: use_gpu
type: Boolean
default: "False"
optional: true
- {name: display_name, type: String, optional: true}
- {name: description, type: String, optional: true}
- {name: project, type: String, optional: true}
- {name: location, type: String, optional: true}
- {name: labels, type: JsonObject, optional: true}
- {name: staging_bucket, type: String, optional: true}
outputs:
- {name: model_name, type: String}
- {name: model_dict, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'google-cloud-aiplatform==1.13.1' 'google-cloud-build==3.8.3' || PIP_DISABLE_PIP_VERSION_CHECK=1
python3 -m pip install --quiet --no-warn-script-location 'google-cloud-aiplatform==1.13.1'
'google-cloud-build==3.8.3' --user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI(
model_archive_path,
torchserve_version = "0.6.0",
use_gpu = False,
display_name = None,
description = None,
# Uncomment when anyone requests these:
# instance_schema_uri: str = None,
# parameters_schema_uri: str = None,
# prediction_schema_uri: str = None,
# explanation_metadata: "google.cloud.aiplatform_v1.types.explanation_metadata.ExplanationMetadata" = None,
# explanation_parameters: "google.cloud.aiplatform_v1.types.explanation.ExplanationParameters" = None,
project = None,
location = None,
labels = None,
# encryption_spec_key_name: str = None,
staging_bucket = None,
):
import json
import os
from google.cloud import aiplatform
if not location:
location = os.environ.get("CLOUD_ML_REGION")
if not labels:
labels = {}
labels["component-source"] = "github-com-ark-kun-pipeline-components"
container_image_tag = torchserve_version + "-" + ("gpu" if use_gpu else "cpu")
container_image_uri = f"pytorch/torchserve:{container_image_tag}"
# Vertex Endpoints refuse to support non-Google container registries.
# We have to work around this to reduce user frustration
# TODO: Remove this code when Vertex Endpoints service starts supporting other container registries.
def copy_container_image(
src_container_image_uri,
dst_container_image_uri,
project_id,
):
from google.cloud.devtools import cloudbuild
from google import protobuf
build_client = cloudbuild.CloudBuildClient()
build_config = cloudbuild.Build(
images=[dst_container_image_uri],
steps=[
cloudbuild.BuildStep(
name="gcr.io/cloud-builders/docker",
entrypoint="bash",
args=[
"-exc",
'docker pull --quiet "$0" && docker tag "$0" "$1"',
src_container_image_uri,
dst_container_image_uri,
],
),
],
timeout=protobuf.duration_pb2.Duration(
seconds=1800,
),
)
build_operation = build_client.create_build(
project_id=project_id,
build=build_config,
)
try:
result = build_operation.result()
except:
print(f"Logs are available at [{build_operation.metadata.build.log_url}].")
raise
return result
project_id = aiplatform.initializer.global_config.project
mirrored_container_uri = f"gcr.io/{project_id}/container_mirror/{container_image_uri}"
# FIX: Only mirror when image does not exist
# docker does is unable to get the registry data from inside container (it cannot connecto to docker socket):
# docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
# import docker
# try:
# docker_client = docker.from_env()
# docker_client.images.get_registry_data(mirrored_container_uri)
# except docker.errors.NotFound:
if True:
print(f"Mirroring {container_image_uri} to {mirrored_container_uri}")
copy_container_image(
src_container_image_uri=container_image_uri,
dst_container_image_uri=mirrored_container_uri,
project_id=project_id,
)
container_image_uri = mirrored_container_uri
# End of container image mirroring code
model_archive_file_name = os.path.basename(model_archive_path)
model_archive_dir = os.path.dirname(model_archive_path)
model = aiplatform.Model.upload(
# FIX: Use public image or mirror the official image
#serving_container_image_uri="gcr.io/avolkov-31337/mirror/pytorch/torchserve",
serving_container_image_uri=container_image_uri,
artifact_uri=model_archive_dir,
serving_container_command=[
"bash",
"-exc",
'''
model_archive_uri="$0"
#model_archive_local_path=$(mktemp --suffix ".mar")
# For some reason the model must already be inside the model-store directory.
model_archive_local_path=./model-store/model.mar
# Downloading the model archive from GCS
# TODO: Fix gsutil bugs (requires project ID, has auth issues) and use gsutil instead.
# gsutil cp "$model_archive_uri" "$model_archive_local_path"
pip install google-cloud-storage
python -c '
import sys
from google.cloud import storage
model_archive_uri = sys.argv[1]
model_archive_local_path = sys.argv[2]
storage_client = storage.Client()
blob = storage.Blob.from_string(uri=model_archive_uri, client=storage_client)
blob.download_to_filename(filename=model_archive_local_path)
' "$model_archive_uri" "$model_archive_local_path"
#Note: config.properties is owned by root. Our user is not root.
echo "
service_envelope=json
# Needed for external access
inference_address=http://0.0.0.0:8080
management_address=http://0.0.0.0:8081
" > config2.properties
torchserve --start --foreground --no-config-snapshots --models main-model="$model_archive_local_path" --model-store ./model-store/ --ts-config config2.properties
''',
"$(AIP_STORAGE_URI)/" + model_archive_file_name,
],
serving_container_predict_route="/predictions/main-model",
#serving_container_predict_route="/v1/models/main-model:predict",
serving_container_health_route="/ping",
serving_container_ports=[8080],
display_name=display_name,
description=description,
# instance_schema_uri=instance_schema_uri,
# parameters_schema_uri=parameters_schema_uri,
# prediction_schema_uri=prediction_schema_uri,
# explanation_metadata=explanation_metadata,
# explanation_parameters=explanation_parameters,
project=project,
location=location,
labels=labels,
# encryption_spec_key_name=encryption_spec_key_name,
staging_bucket=staging_bucket,
)
model_json = json.dumps(model.to_dict(), indent=2)
print(model_json)
return (model.resource_name, model_json)
def _deserialize_bool(s) -> bool:
from distutils.util import strtobool
return strtobool(s) == 1
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
def _serialize_str(str_value: str) -> str:
if not isinstance(str_value, str):
raise TypeError('Value "{}" has type "{}" instead of str.'.format(str(str_value), str(type(str_value))))
return str_value
import json
import argparse
_parser = argparse.ArgumentParser(prog='Upload PyTorch model archive to Google Cloud Vertex AI', description='')
_parser.add_argument("--model-archive", dest="model_archive_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--torchserve-version", dest="torchserve_version", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--use-gpu", dest="use_gpu", type=_deserialize_bool, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--display-name", dest="display_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--description", dest="description", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--project", dest="project", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--location", dest="location", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--labels", dest="labels", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--staging-bucket", dest="staging_bucket", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=2)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = upload_PyTorch_model_archive_to_Google_Cloud_Vertex_AI(**_parsed_args)
_output_serializers = [
_serialize_str,
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --model-archive
- {inputPath: model_archive}
- if:
cond: {isPresent: torchserve_version}
then:
- --torchserve-version
- {inputValue: torchserve_version}
- if:
cond: {isPresent: use_gpu}
then:
- --use-gpu
- {inputValue: use_gpu}
- if:
cond: {isPresent: display_name}
then:
- --display-name
- {inputValue: display_name}
- if:
cond: {isPresent: description}
then:
- --description
- {inputValue: description}
- if:
cond: {isPresent: project}
then:
- --project
- {inputValue: project}
- if:
cond: {isPresent: location}
then:
- --location
- {inputValue: location}
- if:
cond: {isPresent: labels}
then:
- --labels
- {inputValue: labels}
- if:
cond: {isPresent: staging_bucket}
then:
- --staging-bucket
- {inputValue: staging_bucket}
- '----output-paths'
- {outputPath: model_name}
- {outputPath: model_dict}
@@ -0,0 +1,181 @@
name: Upload Scikit learn pickle model to Google Cloud Vertex AI
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/KFPv2_hell/components/google-cloud/Vertex_AI/Models/Upload_Scikit-learn_pickle_model/workaround_for_buggy_KFPv2_compiler/component.yaml'}
inputs:
- {name: model, type: ScikitLearnPickleModel}
- {name: sklearn_version, type: String, optional: true}
- {name: display_name, type: String, optional: true}
- {name: description, type: String, optional: true}
- {name: project, type: String, optional: true}
- {name: location, type: String, optional: true}
- {name: labels, type: JsonObject, optional: true}
- {name: staging_bucket, type: String, optional: true}
outputs:
- {name: model_name, type: String}
- {name: model_dict, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'google-cloud-aiplatform==1.16.0' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'google-cloud-aiplatform==1.16.0'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI(
model_path,
sklearn_version = None,
display_name = None,
description = None,
# Uncomment when anyone requests these:
# instance_schema_uri: str = None,
# parameters_schema_uri: str = None,
# prediction_schema_uri: str = None,
# explanation_metadata: "google.cloud.aiplatform_v1.types.explanation_metadata.ExplanationMetadata" = None,
# explanation_parameters: "google.cloud.aiplatform_v1.types.explanation.ExplanationParameters" = None,
project = None,
location = None,
labels = None,
# encryption_spec_key_name: str = None,
staging_bucket = None,
):
import json
import os
import shutil
import tempfile
from google.cloud import aiplatform
if not location:
location = os.environ.get("CLOUD_ML_REGION")
if not labels:
labels = {}
labels["component-source"] = "github-com-ark-kun-pipeline-components"
# The serving container decides the model type based on the model file extension.
# So we need to rename the mode file (e.g. /tmp/inputs/model/data) to *.pkl
_, renamed_model_path = tempfile.mkstemp(suffix=".pkl")
shutil.copyfile(src=model_path, dst=renamed_model_path)
model = aiplatform.Model.upload_scikit_learn_model_file(
model_file_path=renamed_model_path,
sklearn_version=sklearn_version,
display_name=display_name,
description=description,
# instance_schema_uri=instance_schema_uri,
# parameters_schema_uri=parameters_schema_uri,
# prediction_schema_uri=prediction_schema_uri,
# explanation_metadata=explanation_metadata,
# explanation_parameters=explanation_parameters,
project=project,
location=location,
labels=labels,
# encryption_spec_key_name=encryption_spec_key_name,
staging_bucket=staging_bucket,
)
model_json = json.dumps(model.to_dict(), indent=2)
print(model_json)
return (model.resource_name, model_json)
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
def _serialize_str(str_value: str) -> str:
if not isinstance(str_value, str):
raise TypeError('Value "{}" has type "{}" instead of str.'.format(str(str_value), str(type(str_value))))
return str_value
import json
import argparse
_parser = argparse.ArgumentParser(prog='Upload Scikit learn pickle model to Google Cloud Vertex AI', description='')
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--sklearn-version", dest="sklearn_version", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--display-name", dest="display_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--description", dest="description", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--project", dest="project", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--location", dest="location", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--labels", dest="labels", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--staging-bucket", dest="staging_bucket", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=2)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = upload_Scikit_learn_pickle_model_to_Google_Cloud_Vertex_AI(**_parsed_args)
_output_serializers = [
_serialize_str,
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --model
- {inputPath: model}
- if:
cond: {isPresent: sklearn_version}
then:
- --sklearn-version
- {inputValue: sklearn_version}
- if:
cond: {isPresent: display_name}
then:
- --display-name
- {inputValue: display_name}
- if:
cond: {isPresent: description}
then:
- --description
- {inputValue: description}
- if:
cond: {isPresent: project}
then:
- --project
- {inputValue: project}
- if:
cond: {isPresent: location}
then:
- --location
- {inputValue: location}
- if:
cond: {isPresent: labels}
then:
- --labels
- {inputValue: labels}
- if:
cond: {isPresent: staging_bucket}
then:
- --staging-bucket
- {inputValue: staging_bucket}
- '----output-paths'
- {outputPath: model_name}
- {outputPath: model_dict}
@@ -0,0 +1,190 @@
name: Upload Tensorflow model to Google Cloud Vertex AI
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/KFPv2_hell/components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/workaround_for_buggy_KFPv2_compiler/component.yaml'}
inputs:
- {name: model, type: TensorflowSavedModel}
- {name: tensorflow_version, type: String, optional: true}
- name: use_gpu
type: Boolean
default: "False"
optional: true
- {name: display_name, type: String, optional: true}
- {name: description, type: String, optional: true}
- {name: project, type: String, optional: true}
- {name: location, type: String, optional: true}
- {name: labels, type: JsonObject, optional: true}
- {name: staging_bucket, type: String, optional: true}
outputs:
- {name: model_name, type: String}
- {name: model_dict, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'google-cloud-aiplatform==1.16.0' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'google-cloud-aiplatform==1.16.0'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def upload_Tensorflow_model_to_Google_Cloud_Vertex_AI(
model_path,
tensorflow_version = None,
use_gpu = False,
display_name = None,
description = None,
# Uncomment when anyone requests these:
# instance_schema_uri: str = None,
# parameters_schema_uri: str = None,
# prediction_schema_uri: str = None,
# explanation_metadata: "google.cloud.aiplatform_v1.types.explanation_metadata.ExplanationMetadata" = None,
# explanation_parameters: "google.cloud.aiplatform_v1.types.explanation.ExplanationParameters" = None,
project = None,
location = None,
labels = None,
# encryption_spec_key_name: str = None,
staging_bucket = None,
):
import json
import os
from google.cloud import aiplatform
if not location:
location = os.environ.get("CLOUD_ML_REGION")
if not labels:
labels = {}
labels["component-source"] = "github-com-ark-kun-pipeline-components"
model = aiplatform.Model.upload_tensorflow_saved_model(
saved_model_dir=model_path,
tensorflow_version=tensorflow_version,
use_gpu=use_gpu,
display_name=display_name,
description=description,
# instance_schema_uri=instance_schema_uri,
# parameters_schema_uri=parameters_schema_uri,
# prediction_schema_uri=prediction_schema_uri,
# explanation_metadata=explanation_metadata,
# explanation_parameters=explanation_parameters,
project=project,
location=location,
labels=labels,
# encryption_spec_key_name=encryption_spec_key_name,
staging_bucket=staging_bucket,
)
model_json = json.dumps(model.to_dict(), indent=2)
print(model_json)
return (model.resource_name, model_json)
def _deserialize_bool(s) -> bool:
from distutils.util import strtobool
return strtobool(s) == 1
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
def _serialize_str(str_value: str) -> str:
if not isinstance(str_value, str):
raise TypeError('Value "{}" has type "{}" instead of str.'.format(str(str_value), str(type(str_value))))
return str_value
import json
import argparse
_parser = argparse.ArgumentParser(prog='Upload Tensorflow model to Google Cloud Vertex AI', description='')
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--tensorflow-version", dest="tensorflow_version", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--use-gpu", dest="use_gpu", type=_deserialize_bool, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--display-name", dest="display_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--description", dest="description", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--project", dest="project", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--location", dest="location", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--labels", dest="labels", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--staging-bucket", dest="staging_bucket", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=2)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI(**_parsed_args)
_output_serializers = [
_serialize_str,
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --model
- {inputPath: model}
- if:
cond: {isPresent: tensorflow_version}
then:
- --tensorflow-version
- {inputValue: tensorflow_version}
- if:
cond: {isPresent: use_gpu}
then:
- --use-gpu
- {inputValue: use_gpu}
- if:
cond: {isPresent: display_name}
then:
- --display-name
- {inputValue: display_name}
- if:
cond: {isPresent: description}
then:
- --description
- {inputValue: description}
- if:
cond: {isPresent: project}
then:
- --project
- {inputValue: project}
- if:
cond: {isPresent: location}
then:
- --location
- {inputValue: location}
- if:
cond: {isPresent: labels}
then:
- --labels
- {inputValue: labels}
- if:
cond: {isPresent: staging_bucket}
then:
- --staging-bucket
- {inputValue: staging_bucket}
- '----output-paths'
- {outputPath: model_name}
- {outputPath: model_dict}
@@ -0,0 +1,181 @@
name: Upload XGBoost model to Google Cloud Vertex AI
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/google-cloud/Vertex_AI/Models/Upload_XGBoost_model/workaround_for_buggy_KFPv2_compiler/component.yaml'}
inputs:
- {name: model, type: XGBoostModel}
- {name: xgboost_version, type: String, optional: true}
- {name: display_name, type: String, optional: true}
- {name: description, type: String, optional: true}
- {name: project, type: String, optional: true}
- {name: location, type: String, optional: true}
- {name: labels, type: JsonObject, optional: true}
- {name: staging_bucket, type: String, optional: true}
outputs:
- {name: model_name, type: String}
- {name: model_dict, type: JsonObject}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'google-cloud-aiplatform==1.16.0' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3
-m pip install --quiet --no-warn-script-location 'google-cloud-aiplatform==1.16.0'
--user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def upload_XGBoost_model_to_Google_Cloud_Vertex_AI(
model_path,
xgboost_version = None,
display_name = None,
description = None,
# Uncomment when anyone requests these:
# instance_schema_uri: str = None,
# parameters_schema_uri: str = None,
# prediction_schema_uri: str = None,
# explanation_metadata: "google.cloud.aiplatform_v1.types.explanation_metadata.ExplanationMetadata" = None,
# explanation_parameters: "google.cloud.aiplatform_v1.types.explanation.ExplanationParameters" = None,
project = None,
location = None,
labels = None,
# encryption_spec_key_name: str = None,
staging_bucket = None,
):
import json
import os
import shutil
import tempfile
from google.cloud import aiplatform
if not location:
location = os.environ.get("CLOUD_ML_REGION")
if not labels:
labels = {}
labels["component-source"] = "github-com-ark-kun-pipeline-components"
# The serving container decides the model type based on the model file extension.
# So we need to rename the mode file (e.g. /tmp/inputs/model/data) to *.bst
_, renamed_model_path = tempfile.mkstemp(suffix=".bst")
shutil.copyfile(src=model_path, dst=renamed_model_path)
model = aiplatform.Model.upload_xgboost_model_file(
model_file_path=renamed_model_path,
xgboost_version=xgboost_version,
display_name=display_name,
description=description,
# instance_schema_uri=instance_schema_uri,
# parameters_schema_uri=parameters_schema_uri,
# prediction_schema_uri=prediction_schema_uri,
# explanation_metadata=explanation_metadata,
# explanation_parameters=explanation_parameters,
project=project,
location=location,
labels=labels,
# encryption_spec_key_name=encryption_spec_key_name,
staging_bucket=staging_bucket,
)
model_json = json.dumps(model.to_dict(), indent=2)
print(model_json)
return (model.resource_name, model_json)
def _serialize_json(obj) -> str:
if isinstance(obj, str):
return obj
import json
def default_serializer(obj):
if hasattr(obj, 'to_struct'):
return obj.to_struct()
else:
raise TypeError("Object of type '%s' is not JSON serializable and does not have .to_struct() method." % obj.__class__.__name__)
return json.dumps(obj, default=default_serializer, sort_keys=True)
def _serialize_str(str_value: str) -> str:
if not isinstance(str_value, str):
raise TypeError('Value "{}" has type "{}" instead of str.'.format(str(str_value), str(type(str_value))))
return str_value
import json
import argparse
_parser = argparse.ArgumentParser(prog='Upload XGBoost model to Google Cloud Vertex AI', description='')
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--xgboost-version", dest="xgboost_version", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--display-name", dest="display_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--description", dest="description", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--project", dest="project", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--location", dest="location", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--labels", dest="labels", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--staging-bucket", dest="staging_bucket", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("----output-paths", dest="_output_paths", type=str, nargs=2)
_parsed_args = vars(_parser.parse_args())
_output_files = _parsed_args.pop("_output_paths", [])
_outputs = upload_XGBoost_model_to_Google_Cloud_Vertex_AI(**_parsed_args)
_output_serializers = [
_serialize_str,
_serialize_json,
]
import os
for idx, output_file in enumerate(_output_files):
try:
os.makedirs(os.path.dirname(output_file))
except OSError:
pass
with open(output_file, 'w') as f:
f.write(_output_serializers[idx](_outputs[idx]))
args:
- --model
- {inputPath: model}
- if:
cond: {isPresent: xgboost_version}
then:
- --xgboost-version
- {inputValue: xgboost_version}
- if:
cond: {isPresent: display_name}
then:
- --display-name
- {inputValue: display_name}
- if:
cond: {isPresent: description}
then:
- --description
- {inputValue: description}
- if:
cond: {isPresent: project}
then:
- --project
- {inputValue: project}
- if:
cond: {isPresent: location}
then:
- --location
- {inputValue: location}
- if:
cond: {isPresent: labels}
then:
- --labels
- {inputValue: labels}
- if:
cond: {isPresent: staging_bucket}
then:
- --staging-bucket
- {inputValue: staging_bucket}
- '----output-paths'
- {outputPath: model_name}
- {outputPath: model_dict}
@@ -0,0 +1,35 @@
name: Download from GCS
inputs:
- {name: GCS path, type: String}
outputs:
- {name: Data}
metadata:
annotations:
author: Alexey Volkov <alexey.volkov@ark-kun.com>
canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/google-cloud/storage/download/workaround_for_buggy_KFPv2_compiler/component.yaml'
implementation:
container:
image: google/cloud-sdk
command:
- bash # Pattern comparison only works in Bash
- -ex
- -c
- |
if [ -n "${GOOGLE_APPLICATION_CREDENTIALS}" ]; then
gcloud auth activate-service-account --key-file="${GOOGLE_APPLICATION_CREDENTIALS}"
fi
uri="$0"
output_path="$1"
# Checking whether the URI points to a single blob, a directory or a URI pattern
# URI points to a blob when that URI does not end with slash and listing that URI only yields the same URI
if [[ "$uri" != */ ]] && (gsutil ls "$uri" | grep --fixed-strings --line-regexp "$uri"); then
mkdir -p "$(dirname "$output_path")"
gsutil -m cp -r "$uri" "$output_path"
else
mkdir -p "$output_path" # When source path is a directory, gsutil requires the destination to also be a directory
gsutil -m rsync -r "$uri" "$output_path" # gsutil cp has different path handling than Linux cp. It always puts the source directory (name) inside the destination directory. gsutil rsync does not have that problem.
fi
- inputValue: GCS path
- outputPath: Data
@@ -0,0 +1,112 @@
name: Load image classification model from tfhub
description: |
Loads specified model from TFHub, creates layer to receive additional (3 channel) imagery data.
Args:
class_names (Sequence[str]):
Sequence of strings of categories for classification corresponding to input data.
loaded_model_path (str):
Output path for the loaded model.
image_size_path (str):
Output path for the model expected image size.
model_name (Optional[str]):
Name of the pre-trained image classification model to load from TFHub.
Eligible model_name:
- efficientnetv2-s
- efficientnetv2-m
- efficientnetv2-l
- efficientnetv2-s-21k
- efficientnetv2-m-21k
- efficientnetv2-l-21k
- efficientnetv2-xl-21k
- efficientnetv2-b0-21k
- efficientnetv2-b1-21k
- efficientnetv2-b2-21k
- efficientnetv2-b3-21k
- efficientnetv2-s-21k-ft1k
- efficientnetv2-m-21k-ft1k
- efficientnetv2-l-21k-ft1k
- efficientnetv2-xl-21k-ft1k
- efficientnetv2-b0-21k-ft1k
- efficientnetv2-b1-21k-ft1k
- efficientnetv2-b2-21k-ft1k
- efficientnetv2-b3-21k-ft1k
- efficientnetv2-b0
- efficientnetv2-b1
- efficientnetv2-b2
- efficientnetv2-b3
- efficientnet_b0
- efficientnet_b1
- efficientnet_b2
- efficientnet_b3
- efficientnet_b4
- efficientnet_b5
- efficientnet_b6
- efficientnet_b7
- bit_s-r50x1
- inception_v3
- inception_resnet_v2
- resnet_v1_50
- resnet_v1_101
- resnet_v1_152
- resnet_v2_50
- resnet_v2_101
- resnet_v2_152
- nasnet_large
- nasnet_mobile
- pnasnet_large
- mobilenet_v2_100_224
- mobilenet_v2_130_224
- mobilenet_v2_140_224
- mobilenet_v3_small_100_224
- mobilenet_v3_small_075_224
- mobilenet_v3_large_100_224
- mobilenet_v3_large_075_224
dropout_rate (Optional[float]):
Fraction of input units to drop in the last layer. Value should be between 0.0 and 1.0.
trainable (Optional[bool]):
If true fine tuning will be performed on entire Hub model. If false only additional
layers will be trained.
l2_regularization_penalty (Optional[float]):
l2 regularization penalty.
inputs:
- {name: class_names, type: 'typing.List[str]', description: List of class names corresponding
to the input image data}
- {name: model_name, type: String, description: Name of the TFHub model to load, default: efficientnetv2-xl-21k,
optional: true}
- {name: dropout_rate, type: Float, description: Dropout rate, default: '0.2', optional: true}
- name: trainable
type: Boolean
description: True if fine tuning should be performed
default: "True"
optional: true
- {name: l2_regularization_penalty, type: Float, description: Regularization penalty,
default: '0.0001', optional: true}
outputs:
- {name: loaded_model_path, type: TensorflowSavedModel, description: Output path for
the loaded model}
- {name: image_size_path, type: HeightWidth}
implementation:
container:
image: us-docker.pkg.dev/vertex-ai/ready-to-go-image-classification/image-components:v0.2
# command is a list of strings (command-line arguments).
# The YAML language has two syntaxes for lists and you can use either of them.
# Here we use the "flow syntax" - comma-separated strings inside square brackets.
command: [
python3,
# Path of the program inside the container
/pipelines/component/src/loading_component.py,
--loaded-model-path,
{outputPath: loaded_model_path},
--class-names,
{inputValue: class_names},
--model-name,
{inputValue: model_name},
--dropout-rate,
{inputValue: dropout_rate},
--trainable,
{inputValue: trainable},
--l2-regularization-penalty,
{inputValue: l2_regularization_penalty},
--image-size-path,
{outputPath: image_size_path},
]
@@ -0,0 +1,62 @@
# python3 -m pip install "kfp<2.0.0" "google-cloud-aiplatform>=1.16.0" --upgrade --quiet
from kfp import components
from kfp.v2 import dsl
# %% Loading components
upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Upload_Tensorflow_model/component.yaml')
deploy_model_to_endpoint_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/399405402d95f4a011e2d2e967c96f8508ba5688/community-content/pipeline_components/google-cloud/Vertex_AI/Models/Deploy_to_endpoint/component.yaml')
transcode_imagedataset_tfrecord_from_csv_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/main/community-content/pipeline_components/image_ml_model_training/transcode_tfrecord_image_dataset_from_csv/component.yaml')
load_image_classification_model_from_tfhub_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/b5b65198a6c2ffe8c0fa2aa70127e3325752df68/community-content/pipeline_components/image_ml_model_training/load_image_classification_model/component.yaml')
preprocess_image_data_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/main/community-content/pipeline_components/image_ml_model_training/preprocess_image_data/component.yaml')
train_tensorflow_image_classification_model_op = components.load_component_from_url('https://raw.githubusercontent.com/GoogleCloudPlatform/vertex-ai-samples/main/community-content/pipeline_components/image_ml_model_training/train_image_classification_model/component.yaml')
# %% Pipeline definition
def image_classification_pipeline():
class_names = ['daisy', 'dandelion', 'roses', 'sunflowers', 'tulips']
csv_image_data_path = 'gs://cloud-samples-data/ai-platform/flowers/flowers.csv'
deploy_model = False
image_data = dsl.importer(
artifact_uri=csv_image_data_path, artifact_class=dsl.Dataset).output
image_tfrecord_data = transcode_imagedataset_tfrecord_from_csv_op(
csv_image_data_path=image_data,
class_names=class_names
).outputs['tfrecord_image_data_path']
loaded_model_outputs = load_image_classification_model_from_tfhub_op(
class_names=class_names,
).outputs
preprocessed_data = preprocess_image_data_op(
image_tfrecord_data,
height_width_path=loaded_model_outputs['image_size_path'],
).outputs
trained_model = (train_tensorflow_image_classification_model_op(
preprocessed_training_data_path = preprocessed_data['preprocessed_training_data_path'],
preprocessed_validation_data_path = preprocessed_data['preprocessed_validation_data_path'],
model_path=loaded_model_outputs['loaded_model_path']).
set_cpu_limit('96').
set_memory_limit('128G').
add_node_selector_constraint('cloud.google.com/gke-accelerator', 'NVIDIA_TESLA_A100').
set_gpu_limit('8').
outputs['trained_model_path'])
vertex_model_name = upload_Tensorflow_model_to_Google_Cloud_Vertex_AI_op(
model=trained_model,
).outputs['model_name']
# Deploying the model might incur additional costs over time
if deploy_model:
vertex_endpoint_name = deploy_model_to_endpoint_op(
model_name=vertex_model_name,
).outputs['endpoint_name']
pipeline_func = image_classification_pipeline
# %% Pipeline submission
if __name__ == '__main__':
from google.cloud import aiplatform
aiplatform.PipelineJob.from_pipeline_func(pipeline_func=pipeline_func).submit()
@@ -0,0 +1,57 @@
name: Preprocess image data
description: |
Preprocess the image data and split between train and validation.
Args:
input_data_path (str):
Input path for the TFRecord image data. Data will be formatted as 'label' (encoded image
label), and 'image_raw' (the binary string of the image data).
height_width_path (str):
Path to square height and width to resize images to. File should contain single float value.
Value is dependent on training model.
preprocessed_training_data_path (str):
Output path for the TFRecord training data. Data will be formatted as 'label' (encoded image
label), and 'image_raw' (the binary string of the image data).
preprocessed_validation_data_path (str):
Output path for the TFRecord validation data. Data will be formatted as 'label' (encoded
image label), and 'image_raw' (the binary string of the image data).
validation_split (Optional[float]):
Fraction of data that will make up validation dataset. Value should be between 0.0 and 1.0.
seed (Optional[int]):
The global random seed to ensure the system gets a unique random sequence
that is deterministic (https://www.tensorflow.org/api_docs/python/tf/random/set_seed).
inputs:
- {name: input_data_path, type: ImageDatasetTFRecord, description: 'Input path for
the TFRecord image data,'}
- {name: height_width_path, type: HeightWidth, description: 'Path to square height and width to
resize images to,'}
- {name: validation_split, type: Float, description: 'Fraction of data that will make
up validation dataset,', default: '0.2', optional: true}
- {name: seed, type: Integer, description: Random seed, default: '0', optional: true}
outputs:
- {name: preprocessed_training_data_path, type: ImageDatasetTFRecord, description: 'Output
path for the training data,'}
- {name: preprocessed_validation_data_path, type: ImageDatasetTFRecord, description: 'Output
path for the validation data,'}
implementation:
container:
image: us-docker.pkg.dev/vertex-ai/ready-to-go-image-classification/image-components:v0.2
# command is a list of strings (command-line arguments).
# The YAML language has two syntaxes for lists and you can use either of them.
# Here we use the "flow syntax" - comma-separated strings inside square brackets.
command: [
python3,
# Path of the program inside the container
/pipelines/component/src/preprocessing_component.py,
--input-data-path,
{inputPath: input_data_path},
--height-width-path,
{inputPath: height_width_path},
--validation-split,
{inputValue: validation_split},
--seed,
{inputValue: seed},
--preprocessed-training-data-path,
{outputPath: preprocessed_training_data_path},
--preprocessed-validation-data-path,
{outputPath: preprocessed_validation_data_path},
]
@@ -0,0 +1,90 @@
name: Train tensorflow image classification model
description: |
Creates a trained image classification TensorFlow model.
Args:
preprocessed_training_data_path (str):
Input path to the TFRecord training data. Data will be formatted as 'label' (encoded image
label), and 'image_raw' (the binary string of the image data).
preprocessed_validation_data_path (str):
Input path to the TFRecord validation data. Data will be formatted as 'label' (encoded
image label), and 'image_raw' (the binary string of the image data).
model_path (str):
Input path to the loaded pre-trained model.
trained_model_path (str):
Output path to save the trained model to.
optimizer_name (Optional[str]):
Name of the tf.keras optimizer. Available optimizers are listed at
https://keras.io/api/optimizers/
optimizer_parameters (Optional[Dict[str, str]]):
Optimizer parameters.
loss_function_name (Optional[str]):
Name of the loss function.
loss_function_parameters (Optional[Dict[str, str]]):
Loss function parameters.
number_of_epochs (Optional[int]):
Number of training iterations over data.
metric_names (Optional[Sequence[str]]):
List of tf.keras.metrics to be evaluated by the model during training and testing. Available
metrics are listed at https://keras.io/api/metrics/.
seed Optional(int):
The global random seed to ensure the system gets a unique random sequence
that is deterministic (https://www.tensorflow.org/api_docs/python/tf/random/set_seed).
inputs:
- {name: preprocessed_training_data_path, type: ImageDatasetTFRecord, description: 'Input
path for the training data,'}
- {name: preprocessed_validation_data_path, type: ImageDatasetTFRecord, description: 'Input
path for the validation data,'}
- {name: model_path, type: TensorflowSavedModel, description: 'Input path for the
model,'}
- {name: optimizer_name, type: String, description: 'Name of the optimizer,', default: SGD,
optional: true}
- {name: optimizer_parameters, type: 'typing.Dict[str, str]', description: 'Optimizer
parameters,', default: '{}', optional: true}
- {name: loss_function_name, type: String, description: 'Name of the loss function,',
default: CategoricalCrossentropy, optional: true}
- {name: loss_function_parameters, type: 'typing.Dict[str, str]', description: 'Loss
function parameters,', default: '{}', optional: true}
- {name: number_of_epochs, type: Integer, description: 'Number of epochs,', default: '10',
optional: true}
- {name: metric_names, type: 'typing.List[str]', description: 'List of metrics to
use,', default: '["accuracy"]', optional: true}
- {name: seed, type: Integer, description: 'Random seed,', default: '0', optional: true}
- {name: batch_size, type: Integer, description: Batch size, default: '16', optional: true}
outputs:
- {name: trained_model_path, type: TensorflowSavedModel, description: 'Output path
for the saved model,'}
implementation:
container:
image: us-docker.pkg.dev/vertex-ai/ready-to-go-image-classification/image-components:v0.2
# command is a list of strings (command-line arguments).
# The YAML language has two syntaxes for lists and you can use either of them.
# Here we use the "flow syntax" - comma-separated strings inside square brackets.
command: [
python3,
# Path of the program inside the container
/pipelines/component/src/training_component.py,
--preprocessed-training-data-path,
{inputPath: preprocessed_training_data_path},
--preprocessed-validation-data-path,
{inputPath: preprocessed_validation_data_path},
--model-path,
{inputPath: model_path},
--trained-model-path,
{outputPath: trained_model_path},
--optimizer-name,
{inputValue: optimizer_name},
--loss-function-name,
{inputValue: loss_function_name},
--number-of-epochs,
{inputValue: number_of_epochs},
--seed,
{inputValue: seed},
--batch-size,
{inputValue: batch_size},
--metric-names,
{inputValue: metric_names},
--optimizer-parameters,
{inputValue: optimizer_parameters},
--loss-function-parameters,
{inputValue: loss_function_parameters},
]
@@ -0,0 +1,37 @@
name: Transcode imagedataset tfrecord from csv
description: |
Transcodes CSV Data into TFRecord file of TFExamples.
Args:
csv_image_data_path (str):
Path to the CSV image data. Data must include 'image_filepath' (Path to image file) and
'image_label' (output for a prediction) fields.
class_names (Sequence[str]):
Sequence of strings of categories for classification corresponding to input data.
tfrecord_image_data_path (str):
Output path for the TFRecord image data. Data will be formatted as 'label' (encoded image
label), and 'image_raw' (the binary string of the image data).
inputs:
- {name: csv_image_data_path, type: ImageDatasetCSV, description: Input path for the
CSV image data}
- {name: class_names, type: 'typing.List[str]', description: List of class names corresponding
to the input image data}
outputs:
- {name: tfrecord_image_data_path, type: ImageDatasetTFRecord, description: Output
path for the TFRecord image data}
implementation:
container:
image: us-docker.pkg.dev/vertex-ai/ready-to-go-image-classification/image-components:v0.2
# command is a list of strings (command-line arguments).
# The YAML language has two syntaxes for lists and you can use either of them.
# Here we use the "flow syntax" - comma-separated strings inside square brackets.
command: [
python3,
# Path of the program inside the container
/pipelines/component/src/transcoding_csv_component.py,
--csv-image-data-path,
{inputPath: csv_image_data_path},
--tfrecord-image-data-path,
{outputPath: tfrecord_image_data_path},
--class-names,
{inputValue: class_names},
]
@@ -0,0 +1,39 @@
name: Transcode imagedataset tfrecord from jsonlines
description: |
Transcodes JSONL Data into TFRecord file of TFExamples.
Args:
jsonl_image_data_path (str):
Input path for the JSONL image data
Path to the JSONL image data. Each line corresponds to a JSON input describing an image.
Schema follows AutoML image classification JSONL format
https://cloud.google.com/vertex-ai/docs/image-data/classification/prepare-data#json-lines.
class_names (Sequence[str]):
Sequence of strings of categories for classification corresponding to input data.
tfrecord_image_data_path (str):
Output path for the TFRecord image data. Data will be formatted as 'label' (encoded image
label), and 'image_raw' (the binary string of the image data).
inputs:
- {name: jsonl_image_data_path, type: ImageDatasetJsonLines, description: Input path
for the JSONL image data}
- {name: class_names, type: 'typing.List[str]', description: List of class names corresponding
to the input image data}
outputs:
- {name: tfrecord_image_data_path, type: ImageDatasetTFRecord, description: Output
path for the TFRecord image data}
implementation:
container:
image: us-docker.pkg.dev/vertex-ai/ready-to-go-image-classification/image-components:v0.2
# command is a list of strings (command-line arguments).
# The YAML language has two syntaxes for lists and you can use either of them.
# Here we use the "flow syntax" - comma-separated strings inside square brackets.
command: [
python3,
# Path of the program inside the container
/pipelines/component/src/transcoding_jsonl_component.py,
--jsonl-image-data-path,
{inputPath: jsonl_image_data_path},
--tfrecord-image-data-path,
{outputPath: tfrecord_image_data_path},
--class-names,
{inputValue: class_names},
]
@@ -0,0 +1,113 @@
name: Binarize column using Pandas on CSV data
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/pandas/Binarize_column/in_CSV_format/component.yaml'}
inputs:
- {name: table, type: CSV}
- {name: column_name, type: String}
- {name: predicate, type: String, default: '> 0', optional: true}
- {name: new_column_name, type: String, optional: true}
- name: keep_original_column
type: Boolean
default: "False"
optional: true
outputs:
- {name: transformed_table, type: CSV}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'pandas==1.4.3' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet
--no-warn-script-location 'pandas==1.4.3' --user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def binarize_column_using_Pandas_on_CSV_data(
table_path,
transformed_table_path,
column_name,
predicate = "> 0",
new_column_name = None,
keep_original_column = False,
):
import pandas
df = pandas.read_csv(table_path).convert_dtypes()
original_series = df[column_name]
# Dynamically executing the predicate code
# Variable namespace for code execution
namespace = dict(x=original_series)
# I though that there should be no space before `predicate` so that "dot" predicate methods like ".between(min, max)" work.
# However Python allows spaces before dot: `df .isna()`.
# So having a space is not a problem
transform_code = f"""new_series_boolean = x {predicate}"""
# Note: exec() takes no keyword arguments
# exec(__source=transform_code, __globals=namespace)
exec(transform_code, namespace)
new_series_boolean = namespace["new_series_boolean"]
# There are multiple ways to convert boolean column to integer.
# .apply(int) might be faster. https://stackoverflow.com/a/49804868/1497385
# TODO: Do a proper benchmark.
new_series = new_series_boolean.apply(int)
# new_series = new_series_boolean.astype(int)
# new_series = new_series_boolean.replace({False: 0, True: 1})
if new_column_name:
df.insert(loc=0, column=new_column_name, value=new_series)
if not keep_original_column:
df = df.drop(columns=[column_name])
else:
df[column_name] = new_series
df.to_csv(transformed_table_path, index=False)
def _deserialize_bool(s) -> bool:
from distutils.util import strtobool
return strtobool(s) == 1
import argparse
_parser = argparse.ArgumentParser(prog='Binarize column using Pandas on CSV data', description='')
_parser.add_argument("--table", dest="table_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--column-name", dest="column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--predicate", dest="predicate", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--new-column-name", dest="new_column_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--keep-original-column", dest="keep_original_column", type=_deserialize_bool, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--transformed-table", dest="transformed_table_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = binarize_column_using_Pandas_on_CSV_data(**_parsed_args)
args:
- --table
- {inputPath: table}
- --column-name
- {inputValue: column_name}
- if:
cond: {isPresent: predicate}
then:
- --predicate
- {inputValue: predicate}
- if:
cond: {isPresent: new_column_name}
then:
- --new-column-name
- {inputValue: new_column_name}
- if:
cond: {isPresent: keep_original_column}
then:
- --keep-original-column
- {inputValue: keep_original_column}
- --transformed-table
- {outputPath: transformed_table}
@@ -0,0 +1,75 @@
name: Fill all missing values using Pandas on CSV data
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/pandas/Fill_all_missing_values/in_CSV_format/component.yaml'}
inputs:
- {name: table, type: CSV}
- {name: replacement_value, type: String, default: '0', optional: true}
- {name: column_names, type: JsonArray, optional: true}
outputs:
- {name: transformed_table, type: CSV}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'pandas==1.4.1' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet
--no-warn-script-location 'pandas==1.4.1' --user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def fill_all_missing_values_using_Pandas_on_CSV_data(
table_path,
transformed_table_path,
replacement_value = "0",
column_names = None,
):
import pandas
df = pandas.read_csv(
table_path,
dtype="string",
)
for column_name in column_names or df.columns:
df[column_name] = df[column_name].fillna(value=replacement_value)
df.to_csv(
transformed_table_path, index=False,
)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Fill all missing values using Pandas on CSV data', description='')
_parser.add_argument("--table", dest="table_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--replacement-value", dest="replacement_value", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--column-names", dest="column_names", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--transformed-table", dest="transformed_table_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = fill_all_missing_values_using_Pandas_on_CSV_data(**_parsed_args)
args:
- --table
- {inputPath: table}
- if:
cond: {isPresent: replacement_value}
then:
- --replacement-value
- {inputValue: replacement_value}
- if:
cond: {isPresent: column_names}
then:
- --column-names
- {inputValue: column_names}
- --transformed-table
- {outputPath: transformed_table}
@@ -0,0 +1,59 @@
name: Select columns using Pandas on CSV data
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/pandas/Select_columns/in_CSV_format/component.yaml'}
inputs:
- {name: table, type: CSV}
- {name: column_names, type: JsonArray}
outputs:
- {name: transformed_table, type: CSV}
implementation:
container:
image: python:3.9
command:
- sh
- -c
- (PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet --no-warn-script-location
'pandas==1.4.2' || PIP_DISABLE_PIP_VERSION_CHECK=1 python3 -m pip install --quiet
--no-warn-script-location 'pandas==1.4.2' --user) && "$0" "$@"
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def select_columns_using_Pandas_on_CSV_data(
table_path,
transformed_table_path,
column_names,
):
import pandas
df = pandas.read_csv(
table_path,
dtype="string",
)
df = df[column_names]
df.to_csv(transformed_table_path, index=False)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Select columns using Pandas on CSV data', description='')
_parser.add_argument("--table", dest="table_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--column-names", dest="column_names", type=json.loads, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--transformed-table", dest="transformed_table_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = select_columns_using_Pandas_on_CSV_data(**_parsed_args)
args:
- --table
- {inputPath: table}
- --column-names
- {inputValue: column_names}
- --transformed-table
- {outputPath: transformed_table}
@@ -0,0 +1,102 @@
name: Create fully connected tensorflow network
description: Creates fully-connected network in Tensorflow SavedModel format
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/tensorflow/Create_fully_connected_network/component.yaml'}
inputs:
- {name: input_size, type: Integer}
- {name: hidden_layer_sizes, type: JsonArray, default: '[]', optional: true}
- {name: output_size, type: Integer, default: '1', optional: true}
- {name: activation_name, type: String, default: relu, optional: true}
- {name: output_activation_name, type: String, optional: true}
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: model, type: TensorflowSavedModel}
implementation:
container:
image: tensorflow/tensorflow:2.7.0
command:
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def create_fully_connected_tensorflow_network(
input_size,
model_path,
hidden_layer_sizes = [],
output_size = 1,
activation_name = "relu",
output_activation_name = None,
random_seed = 0,
):
"""Creates fully-connected network in Tensorflow SavedModel format"""
import tensorflow as tf
tf.random.set_seed(seed=random_seed)
model = tf.keras.models.Sequential()
model.add(tf.keras.Input(shape=(input_size,)))
for layer_size in hidden_layer_sizes:
model.add(tf.keras.layers.Dense(units=layer_size, activation=activation_name))
# The last layer is left without activation
model.add(tf.keras.layers.Dense(units=output_size, activation=output_activation_name))
print(model.summary())
# Using tf.keras.models.save_model instead of tf.saved_model.save to prevent downstream error:
#tf.saved_model.save(model, model_path)
# ValueError: Unable to create a Keras model from this SavedModel.
# This SavedModel was created with `tf.saved_model.save`, and lacks the Keras metadata.
# Please save your Keras model by calling `model.save`or `tf.keras.models.save_model`.
# See https://github.com/keras-team/keras/issues/16451
tf.keras.models.save_model(model, model_path)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Create fully connected tensorflow network', description='Creates fully-connected network in Tensorflow SavedModel format')
_parser.add_argument("--input-size", dest="input_size", type=int, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--hidden-layer-sizes", dest="hidden_layer_sizes", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--output-size", dest="output_size", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--activation-name", dest="activation_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--output-activation-name", dest="output_activation_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = create_fully_connected_tensorflow_network(**_parsed_args)
args:
- --input-size
- {inputValue: input_size}
- if:
cond: {isPresent: hidden_layer_sizes}
then:
- --hidden-layer-sizes
- {inputValue: hidden_layer_sizes}
- if:
cond: {isPresent: output_size}
then:
- --output-size
- {inputValue: output_size}
- if:
cond: {isPresent: activation_name}
then:
- --activation-name
- {inputValue: activation_name}
- if:
cond: {isPresent: output_activation_name}
then:
- --output-activation-name
- {inputValue: output_activation_name}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --model
- {outputPath: model}
@@ -0,0 +1,100 @@
name: Predict with TensorFlow model on CSV data
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/tensorflow/Predict/on_CSV/component.yaml'}
inputs:
- {name: dataset, type: CSV}
- {name: model, type: TensorflowSavedModel}
- {name: label_column_name, type: String, optional: true}
- {name: batch_size, type: Integer, default: '1000', optional: true}
outputs:
- {name: predictions}
implementation:
container:
image: tensorflow/tensorflow:2.9.1
command:
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def predict_with_TensorFlow_model_on_CSV_data(
dataset_path,
model_path,
predictions_path,
label_column_name = None,
batch_size = 1000,
):
import numpy
import tensorflow as tf
model = tf.saved_model.load(export_dir=model_path)
dataset = tf.data.experimental.make_csv_dataset(
file_pattern=dataset_path,
batch_size=batch_size,
label_name=label_column_name,
header=True,
num_epochs=1,
shuffle=False,
ignore_errors=False,
)
def stack_feature_batches(features_batch):
# Need to stack individual feature columns to create a single feature tensor
# Need to cast all column tensor types to float to prevent errors.
list_of_feature_batches = list(
tf.cast(x=feature_batch, dtype=tf.float32)
for feature_batch in features_batch.values()
)
return tf.stack(list_of_feature_batches, axis=-1)
def transform_features_and_drop_labels(features_batch, labels_batch):
return stack_feature_batches(features_batch)
dataset_map_fn = (
transform_features_and_drop_labels
if label_column_name
else stack_feature_batches
)
dataset = dataset.map(dataset_map_fn)
with open(predictions_path, "w") as predictions_file:
for features_batch in dataset:
predictions_tensor = model(features_batch)
numpy.savetxt(predictions_file, predictions_tensor.numpy())
import argparse
_parser = argparse.ArgumentParser(prog='Predict with TensorFlow model on CSV data', description='')
_parser.add_argument("--dataset", dest="dataset_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--batch-size", dest="batch_size", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--predictions", dest="predictions_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = predict_with_TensorFlow_model_on_CSV_data(**_parsed_args)
args:
- --dataset
- {inputPath: dataset}
- --model
- {inputPath: model}
- if:
cond: {isPresent: label_column_name}
then:
- --label-column-name
- {inputValue: label_column_name}
- if:
cond: {isPresent: batch_size}
then:
- --batch-size
- {inputValue: batch_size}
- --predictions
- {outputPath: predictions}
@@ -0,0 +1,170 @@
name: Train model using Keras on CSV
metadata:
annotations: {author: Alexey Volkov <alexey.volkov@ark-kun.com>, canonical_location: 'https://raw.githubusercontent.com/Ark-kun/pipeline_components/master/components/tensorflow/Train_model_using_Keras/on_CSV/component.yaml'}
inputs:
- {name: training_data, type: CSV}
- {name: model, type: TensorflowSavedModel}
- {name: label_column_name, type: String}
- {name: loss_function_name, type: String, default: mean_squared_error, optional: true}
- {name: number_of_epochs, type: Integer, default: '1', optional: true}
- {name: learning_rate, type: Float, default: '0.1', optional: true}
- {name: optimizer_name, type: String, default: Adadelta, optional: true}
- {name: optimizer_parameters, type: JsonObject, optional: true}
- {name: batch_size, type: Integer, default: '32', optional: true}
- {name: metric_names, type: JsonArray, optional: true}
- {name: random_seed, type: Integer, default: '0', optional: true}
outputs:
- {name: trained_model, type: TensorflowSavedModel}
implementation:
container:
image: tensorflow/tensorflow:2.8.0
command:
- sh
- -ec
- |
program_path=$(mktemp)
printf "%s" "$0" > "$program_path"
python3 -u "$program_path" "$@"
- |
def _make_parent_dirs_and_return_path(file_path: str):
import os
os.makedirs(os.path.dirname(file_path), exist_ok=True)
return file_path
def train_model_using_Keras_on_CSV(
training_data_path,
model_path,
trained_model_path,
label_column_name,
loss_function_name = "mean_squared_error",
number_of_epochs = 1,
learning_rate = 0.1,
optimizer_name = "Adadelta",
optimizer_parameters = None,
batch_size = 32,
metric_names = None,
random_seed = 0,
):
import tensorflow as tf
tf.random.set_seed(seed=random_seed)
# Loading model using Keras. Model loaded using TensorFlow does not have .fit.
#model = tf.saved_model.load(export_dir=model_path)
keras_model = tf.keras.models.load_model(filepath=model_path)
optimizer_parameters = optimizer_parameters or {}
optimizer_parameters["learning_rate"] = learning_rate
optimizer_config = {
"class_name": optimizer_name,
"config": optimizer_parameters,
}
optimizer = tf.keras.optimizers.get(optimizer_config)
loss = tf.keras.losses.get(loss_function_name)
training_dataset = tf.data.experimental.make_csv_dataset(
file_pattern=training_data_path,
batch_size=batch_size,
label_name=label_column_name,
header=True,
# Need to specify num_epochs=1 otherwise the training becomes infinite
num_epochs=1,
shuffle=True,
shuffle_seed=random_seed,
ignore_errors=True,
)
def stack_feature_batches(features_batch, labels_batch):
# Need to stack individual feature columns to create a single feature tensor
# Need to cast all column tensor types to float to prevent error:
# TypeError: Tensors in list passed to 'values' of 'Pack' Op have types [int32, float32, float32, int32, int32] that don't all match.
list_of_feature_batches = list(tf.cast(x=feature_batch, dtype=tf.float32) for feature_batch in features_batch.values())
return tf.stack(list_of_feature_batches, axis=-1), labels_batch
training_dataset = training_dataset.map(stack_feature_batches)
# Need to compile the model to prevent error:
# ValueError: No gradients provided for any variable: [..., ...].
keras_model.compile(
optimizer=optimizer,
loss=loss,
metrics=metric_names,
)
keras_model.fit(
training_dataset,
epochs=number_of_epochs,
)
# Using tf.keras.models.save_model instead of tf.saved_model.save to prevent downstream error:
#tf.saved_model.save(keras_model, trained_model_path)
# ValueError: Unable to create a Keras model from this SavedModel.
# This SavedModel was created with `tf.saved_model.save`, and lacks the Keras metadata.
# Please save your Keras model by calling `model.save`or `tf.keras.models.save_model`.
# See https://github.com/keras-team/keras/issues/16451
tf.keras.models.save_model(keras_model, trained_model_path)
import json
import argparse
_parser = argparse.ArgumentParser(prog='Train model using Keras on CSV', description='')
_parser.add_argument("--training-data", dest="training_data_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--model", dest="model_path", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--label-column-name", dest="label_column_name", type=str, required=True, default=argparse.SUPPRESS)
_parser.add_argument("--loss-function-name", dest="loss_function_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--number-of-epochs", dest="number_of_epochs", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--learning-rate", dest="learning_rate", type=float, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--optimizer-name", dest="optimizer_name", type=str, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--optimizer-parameters", dest="optimizer_parameters", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--batch-size", dest="batch_size", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--metric-names", dest="metric_names", type=json.loads, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--random-seed", dest="random_seed", type=int, required=False, default=argparse.SUPPRESS)
_parser.add_argument("--trained-model", dest="trained_model_path", type=_make_parent_dirs_and_return_path, required=True, default=argparse.SUPPRESS)
_parsed_args = vars(_parser.parse_args())
_outputs = train_model_using_Keras_on_CSV(**_parsed_args)
args:
- --training-data
- {inputPath: training_data}
- --model
- {inputPath: model}
- --label-column-name
- {inputValue: label_column_name}
- if:
cond: {isPresent: loss_function_name}
then:
- --loss-function-name
- {inputValue: loss_function_name}
- if:
cond: {isPresent: number_of_epochs}
then:
- --number-of-epochs
- {inputValue: number_of_epochs}
- if:
cond: {isPresent: learning_rate}
then:
- --learning-rate
- {inputValue: learning_rate}
- if:
cond: {isPresent: optimizer_name}
then:
- --optimizer-name
- {inputValue: optimizer_name}
- if:
cond: {isPresent: optimizer_parameters}
then:
- --optimizer-parameters
- {inputValue: optimizer_parameters}
- if:
cond: {isPresent: batch_size}
then:
- --batch-size
- {inputValue: batch_size}
- if:
cond: {isPresent: metric_names}
then:
- --metric-names
- {inputValue: metric_names}
- if:
cond: {isPresent: random_seed}
then:
- --random-seed
- {inputValue: random_seed}
- --trained-model
- {outputPath: trained_model}
@@ -0,0 +1,33 @@
# PyTorch Efficient Training Examples
This folder provides PyTorch efficient training examples using ResNet-50 and ImageNet data.
## Requirements
```shell
pip install --upgrade pip
pip install -r requirements.txt
```
## Description
* resnet.py - Train ResNet-50 on single GPU.
* resnet_dp.py - Train ResNet-50 on single node multiple GPUs with `DataParallel` strategy.
* resnet_ddp.py - Train ResNet-50 on single node multiple GPUs with `DistributedDataParallel` strategy.
* resnet_ddp_wds.py - Train ResNet-50 on single node multiple GPUs with `DistributedDataParallel` strategy and `Webdataset`.
* resnet_fsdp.py - Train ResNet-50 on single node multiple GPUs with `FullyShardedDataParallel` strategy.
* resnet_fsdp_wds.py - Train ResNet-50 on single node multiple GPUs with `FullyShardedDataParallel` strategy and `Webdataset`.
* shard_imagenet.py - Shard ImagNet individual files into `tar` files.
## Benchmark
When run the benchmark on Nvidia T4 GPUs using ImageNet validation dataset, you can get the result like:
Strategy | Seconds/Epoch - Local Data | Seconds/Epoch - Cloud Data
---------------------- | -------------------------- | --------------------------
On 1 GPU | 489 | 804 (2x slower)
On 4 GPUs (DP) | 157 | 738 (5x slower)
On 4 GPUs (DDP) | 134 | 432 (3x slower)
On 4 GPUs (DDP + WDS) | 131 | 133 (same performance)
On 4 GPUs (FSDP) | 139 | 353 (3x slower)
On 4 GPUs (FSDP + WDS) | 138 | 135 (same performance)
@@ -0,0 +1 @@
webdataset == 0.2.26
@@ -0,0 +1,197 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Train resnet on single GPU."""
import argparse
import time
from PIL import Image
import torch
from torch import nn
import torchmetrics
import torchvision
from torchvision.models import resnet50
class ImageFolder(torchvision.datasets.ImageFolder):
"""Class for loading imagenet."""
def __init__(self, image_list_file, transform=None, target_transform=None):
self.samples = self._make_dataset(image_list_file)
self.loader = self._loader
self.imgs = self.samples
self.targets = [s[1] for s in self.samples]
self.transform = transform
self.target_transform = target_transform
def _make_dataset(self, image_list_file):
items = []
with open(image_list_file, 'r') as f:
for line in f:
item = line.strip().split(' ')
items.append((item[0], int(item[1])))
return items
def _loader(self, image_path):
with open(image_path, 'rb') as f:
img = Image.open(f)
img = img.convert('RGB')
return img
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image, target = image.to(device), target.to(device)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image, target = image.to(device), target.to(device)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def run_training(args):
"""Run training and evaluation."""
# Create model.
model = resnet50(weights=None)
model = model.to(args.device)
# Create train dataloader.
train_dataset = ImageFolder(
image_list_file=args.train_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.RandomResizedCrop(224),
torchvision.transforms.RandomHorizontalFlip(),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
train_dataloader = torch.utils.data.DataLoader(
dataset=train_dataset,
batch_size=args.train_batch_size,
shuffle=True,
num_workers=args.dataloader_num_workers,
pin_memory=True)
print(f'Train dataloader | samples: {len(train_dataloader.dataset)}, '
f'num workers: {train_dataloader.num_workers}, '
f'batch size: {args.train_batch_size}, '
f'batches/epoch: {len(train_dataloader)}')
# Create eval dataloader.
eval_dataset = ImageFolder(
image_list_file=args.eval_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.Resize(256),
torchvision.transforms.CenterCrop(224),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
eval_dataloader = torch.utils.data.DataLoader(
dataset=eval_dataset,
batch_size=args.eval_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
drop_last=True)
print(f'Eval dataloader | samples: {len(eval_dataloader.dataset)}, '
f'num workers: {eval_dataloader.num_workers}, '
f'batch size: {args.eval_batch_size}, '
f'batches/epoch: {len(eval_dataloader)}')
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
print(f'Running epoch {epoch}')
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
print('Done')
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--epochs',
default=1,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation')
args = parser.parse_args()
return args
def main():
args = create_args()
args.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
print('Launch job on 1 GPU')
run_training(args)
if __name__ == '__main__':
main()
@@ -0,0 +1,234 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Train resnet on multiple GPUs with DDP."""
import argparse
import os
import time
from PIL import Image
import torch
from torch import nn
import torch.distributed as dist
import torch.multiprocessing as mp
import torchmetrics
import torchvision
from torchvision.models import resnet50
class ImageFolder(torchvision.datasets.ImageFolder):
"""Class for loading imagenet."""
def __init__(self, image_list_file, transform=None, target_transform=None):
self.samples = self._make_dataset(image_list_file)
self.loader = self._loader
self.imgs = self.samples
self.targets = [s[1] for s in self.samples]
self.transform = transform
self.target_transform = target_transform
def _make_dataset(self, image_list_file):
items = []
with open(image_list_file, 'r') as f:
for line in f:
item = line.strip().split(' ')
items.append((item[0], int(item[1])))
return items
def _loader(self, image_path):
with open(image_path, 'rb') as f:
img = Image.open(f)
img = img.convert('RGB')
return img
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def worker(gpu, args):
"""Run training and evaluation."""
# Init process group.
print(f'Initiating process {gpu}')
dist.init_process_group(
backend='nccl',
init_method='env://',
world_size=args.gpus,
rank=gpu)
# Create model.
model = resnet50(weights=None)
torch.cuda.set_device(gpu)
model.to(args.device)
model = torch.nn.SyncBatchNorm.convert_sync_batchnorm(model)
model = nn.parallel.DistributedDataParallel(model, device_ids=[gpu])
# Create train dataloader.
train_dataset = ImageFolder(
image_list_file=args.train_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.RandomResizedCrop(224),
torchvision.transforms.RandomHorizontalFlip(),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
train_sampler = torch.utils.data.distributed.DistributedSampler(
train_dataset, num_replicas=args.gpus, rank=gpu)
train_dataloader = torch.utils.data.DataLoader(
dataset=train_dataset,
batch_size=args.train_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
sampler=train_sampler)
if gpu == 0:
print(f'Train dataloader | samples: {len(train_dataloader.dataset)}, '
f'num workers: {train_dataloader.num_workers}, '
f'global batch size: {args.train_batch_size * args.gpus}, '
f'batches/epoch: {len(train_dataloader)}')
# Create eval dataloader.
eval_dataset = ImageFolder(
image_list_file=args.eval_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.Resize(256),
torchvision.transforms.CenterCrop(224),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
eval_sampler = torch.utils.data.distributed.DistributedSampler(
eval_dataset, num_replicas=args.gpus, rank=gpu)
eval_dataloader = torch.utils.data.DataLoader(
dataset=eval_dataset,
batch_size=args.eval_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
drop_last=True,
sampler=eval_sampler)
if gpu == 0:
print(f'Eval dataloader | samples: {len(eval_dataloader.dataset)}, '
f'num workers: {eval_dataloader.num_workers}, '
f'batch size: {args.eval_batch_size}, '
f'batches/epoch: {len(eval_dataloader)}')
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
if gpu == 0:
print(f'Running epoch {epoch}')
train_sampler.set_epoch(epoch)
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
if gpu == 0:
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
if gpu == 0:
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
if gpu == 0:
print('Done')
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--gpus',
default=4,
type=int,
help='number of gpus to use')
parser.add_argument(
'--epochs',
default=1,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training per gpu')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation per gpu')
args = parser.parse_args()
return args
def main():
args = create_args()
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '8888'
args.device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f'Launch job on {args.gpus} GPUs with DDP')
mp.spawn(worker, nprocs=args.gpus, args=(args,))
if __name__ == '__main__':
main()
@@ -0,0 +1,249 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Train resnet on multiple GPUs with DDP."""
import argparse
import functools
import itertools
import math
import os
import time
import torch
from torch import nn
import torch.distributed as dist
import torch.multiprocessing as mp
import torchmetrics
from torchvision.models import resnet50
from torchvision.transforms import transforms
import webdataset as wds
def wds_split(src, rank, world_size):
"""Shards split function for webdataset."""
# The context of caller of this function is within multiple processes
# (by DDP world_size) and multiple workers (by dataloader_num_workers).
# So we totally have (world_size * num_workers) workers for processing data.
# NOTE: Raw data should be sharded to enough shards to make sure one process
# can handle at least one shard, otherwise the process may hang.
worker_id = 0
num_workers = 1
worker_info = torch.utils.data.get_worker_info()
if worker_info:
worker_id = worker_info.id
num_workers = worker_info.num_workers
for s in itertools.islice(src, rank * num_workers + worker_id, None,
world_size * num_workers):
yield s
def identity(x):
return x
def create_wds_dataloader(rank, args, mode):
"""Create webdataset dataset and dataloader."""
if mode == 'train':
transform = transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
data_path = args.train_data_path
data_size = args.train_data_size
batch_size_local = args.train_batch_size
batch_size_global = args.train_batch_size * args.gpus
# Since webdataset disallows partial batch, we pad the last batch for train.
batches = int(math.ceil(data_size / batch_size_global))
else:
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
data_path = args.eval_data_path
data_size = args.eval_data_size
batch_size_local = args.eval_batch_size
batch_size_global = args.eval_batch_size * args.gpus
# Since webdataset disallows partial batch, we drop the last batch for eval.
batches = int(data_size / batch_size_global)
dataset = wds.DataPipeline(
wds.SimpleShardList(data_path),
functools.partial(wds_split, rank=rank, world_size=args.gpus),
wds.tarfile_to_samples(),
wds.decode('pil'),
wds.to_tuple('jpg;png;jpeg cls'),
wds.map_tuple(transform, identity),
wds.batched(batch_size_local, partial=False),
)
num_workers = args.dataloader_num_workers
dataloader = wds.WebLoader(
dataset=dataset,
batch_size=None,
shuffle=False,
num_workers=num_workers,
persistent_workers=True if num_workers > 0 else False,
pin_memory=True).repeat(nbatches=batches)
print(f'{mode} dataloader | samples: {data_size}, '
f'num_workers: {num_workers}, '
f'local batch size: {batch_size_local}, '
f'global batch size: {batch_size_global}, '
f'batches: {batches}')
return dataloader
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def worker(gpu, args):
"""Run training and evaluation."""
# Init process group.
print(f'Initiating process {gpu}')
dist.init_process_group(
backend='nccl',
init_method='env://',
world_size=args.gpus,
rank=gpu)
# Create model.
model = resnet50(weights=None)
torch.cuda.set_device(gpu)
model.to(args.device)
model = torch.nn.SyncBatchNorm.convert_sync_batchnorm(model)
model = nn.parallel.DistributedDataParallel(model, device_ids=[gpu])
# Create dataloader.
train_dataloader = create_wds_dataloader(gpu, args, 'train')
eval_dataloader = create_wds_dataloader(gpu, args, 'eval')
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
if gpu == 0:
print(f'Running epoch {epoch}')
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
if gpu == 0:
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
if gpu == 0:
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
if gpu == 0:
print('Done')
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--gpus',
default=4,
type=int,
help='number of gpus to use')
parser.add_argument(
'--epochs',
default=1,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training per gpu')
parser.add_argument(
'--train_data_size',
default=50000,
type=int,
help='data size for training')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation per gpu')
parser.add_argument(
'--eval_data_size',
default=50000,
type=int,
help='data size for evaluation')
args = parser.parse_args()
return args
def main():
args = create_args()
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '8888'
args.device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f'Launch job on {args.gpus} GPUs with DDP')
mp.spawn(worker, nprocs=args.gpus, args=(args,))
if __name__ == '__main__':
main()
@@ -0,0 +1,207 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Train resnet on multiple GPUs with DP."""
import argparse
import time
from PIL import Image
import torch
from torch import nn
import torchmetrics
import torchvision
from torchvision.models import resnet50
class ImageFolder(torchvision.datasets.ImageFolder):
"""Class for loading imagenet."""
def __init__(self, image_list_file, transform=None, target_transform=None):
self.samples = self._make_dataset(image_list_file)
self.loader = self._loader
self.imgs = self.samples
self.targets = [s[1] for s in self.samples]
self.transform = transform
self.target_transform = target_transform
def _make_dataset(self, image_list_file):
items = []
with open(image_list_file, 'r') as f:
for line in f:
item = line.strip().split(' ')
items.append((item[0], int(item[1])))
return items
def _loader(self, image_path):
with open(image_path, 'rb') as f:
img = Image.open(f)
img = img.convert('RGB')
return img
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image, target = image.to(device), target.to(device)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image, target = image.to(device), target.to(device)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def run_training(args):
"""Run training and evaluation."""
# Create model.
model = resnet50(weights=None)
model = nn.DataParallel(model)
model = model.to(args.device)
# Create train dataloader.
train_dataset = ImageFolder(
image_list_file=args.train_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.RandomResizedCrop(224),
torchvision.transforms.RandomHorizontalFlip(),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
train_dataloader = torch.utils.data.DataLoader(
dataset=train_dataset,
batch_size=args.train_batch_size,
shuffle=True,
num_workers=args.dataloader_num_workers,
pin_memory=True)
print(f'Train dataloader | samples: {len(train_dataloader.dataset)}, '
f'num workers: {train_dataloader.num_workers}, '
f'global batch size: {args.train_batch_size}, '
f'batches/epoch: {len(train_dataloader)}')
# Create eval dataloader.
eval_dataset = ImageFolder(
image_list_file=args.eval_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.Resize(256),
torchvision.transforms.CenterCrop(224),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
eval_dataloader = torch.utils.data.DataLoader(
dataset=eval_dataset,
batch_size=args.eval_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
drop_last=True)
print(f'Eval dataloader | samples: {len(eval_dataloader.dataset)}, '
f'num workers: {eval_dataloader.num_workers}, '
f'global batch size: {args.eval_batch_size}, '
f'batches/epoch: {len(eval_dataloader)}')
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
print(f'Running epoch {epoch}')
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
print('Done')
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--gpus',
default=4,
type=int,
help='number of gpus to use')
parser.add_argument(
'--epochs',
default=1,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training per gpu')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation per gpu')
args = parser.parse_args()
return args
def main():
args = create_args()
args.device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')
args.train_batch_size *= args.gpus
args.eval_batch_size *= args.gpus
args.dataloader_num_workers *= args.gpus
print(f'Launch job on {args.gpus} GPU with nn.DataParallel')
run_training(args)
if __name__ == '__main__':
main()
@@ -0,0 +1,242 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Train resnet on multiple GPUs with FSDP."""
import argparse
import functools
import os
import time
from PIL import Image
import torch
from torch import nn
import torch.distributed as dist
from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy
import torch.multiprocessing as mp
import torchmetrics
import torchvision
from torchvision.models import resnet50
class ImageFolder(torchvision.datasets.ImageFolder):
"""Class for loading imagenet."""
def __init__(self, image_list_file, transform=None, target_transform=None):
self.samples = self._make_dataset(image_list_file)
self.loader = self._loader
self.imgs = self.samples
self.targets = [s[1] for s in self.samples]
self.transform = transform
self.target_transform = target_transform
def _make_dataset(self, image_list_file):
items = []
with open(image_list_file, 'r') as f:
for line in f:
item = line.strip().split(' ')
items.append((item[0], int(item[1])))
return items
def _loader(self, image_path):
with open(image_path, 'rb') as f:
img = Image.open(f)
img = img.convert('RGB')
return img
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def worker(gpu, args):
"""Run training and evaluation."""
# Init process group.
print(f'Initiating process {gpu}')
dist.init_process_group(
backend='nccl',
init_method='env://',
world_size=args.gpus,
rank=gpu)
# Create train dataloader.
train_dataset = ImageFolder(
image_list_file=args.train_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.RandomResizedCrop(224),
torchvision.transforms.RandomHorizontalFlip(),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
train_sampler = torch.utils.data.distributed.DistributedSampler(
train_dataset, num_replicas=args.gpus, rank=gpu)
train_dataloader = torch.utils.data.DataLoader(
dataset=train_dataset,
batch_size=args.train_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
sampler=train_sampler)
if gpu == 0:
print(f'Train dataloader | samples: {len(train_dataloader.dataset)}, '
f'num workers: {train_dataloader.num_workers}, '
f'global batch size: {args.train_batch_size * args.gpus}, '
f'batches/epoch: {len(train_dataloader)}')
# Create eval dataloader.
eval_dataset = ImageFolder(
image_list_file=args.eval_data_path,
transform=torchvision.transforms.Compose([
torchvision.transforms.Resize(256),
torchvision.transforms.CenterCrop(224),
torchvision.transforms.ToTensor(),
torchvision.transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
]))
eval_sampler = torch.utils.data.distributed.DistributedSampler(
eval_dataset, num_replicas=args.gpus, rank=gpu)
eval_dataloader = torch.utils.data.DataLoader(
dataset=eval_dataset,
batch_size=args.eval_batch_size,
shuffle=False,
num_workers=args.dataloader_num_workers,
pin_memory=True,
drop_last=True,
sampler=eval_sampler)
if gpu == 0:
print(f'Eval dataloader | samples: {len(eval_dataloader.dataset)}, '
f'num workers: {eval_dataloader.num_workers}, '
f'batch size: {args.eval_batch_size}, '
f'batches/epoch: {len(eval_dataloader)}')
# Wrap policy.
my_auto_wrap_policy = functools.partial(
size_based_auto_wrap_policy, min_num_params=100)
torch.cuda.set_device(gpu)
# Create model.
model = resnet50(weights=None)
model.to(args.device)
model = FSDP(model, auto_wrap_policy=my_auto_wrap_policy)
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
if gpu == 0:
print(f'Running epoch {epoch}')
train_sampler.set_epoch(epoch)
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
if gpu == 0:
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
if gpu == 0:
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
if gpu == 0:
print('Done')
dist.destroy_process_group()
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--gpus',
default=4,
type=int,
help='number of gpus to use')
parser.add_argument(
'--epochs',
default=2,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training per gpu')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation per gpu')
args = parser.parse_args()
return args
def main():
args = create_args()
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '8888'
args.device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f'Launch job on {args.gpus} GPUs with FSDP')
mp.spawn(worker, nprocs=args.gpus, args=(args,))
if __name__ == '__main__':
main()
@@ -0,0 +1,240 @@
"""Train resnet on multiple GPUs with DDP."""
import argparse
import functools
import itertools
import math
import os
import time
import torch
from torch import nn
import torch.distributed as dist
from torch.distributed.fsdp import FullyShardedDataParallel as FSDP
from torch.distributed.fsdp.wrap import size_based_auto_wrap_policy
import torch.multiprocessing as mp
import torchmetrics
from torchvision.models import resnet50
from torchvision.transforms import transforms
import webdataset as wds
def wds_split(src, rank, world_size):
"""Shards split function for webdataset."""
# The context of caller of this function is within multiple processes
# (by DDP world_size) and multiple workers (by dataloader_num_workers).
# So we totally have (world_size * num_workers) workers for processing data.
# NOTE: Raw data should be sharded to enough shards to make sure one process
# can handle at least one shard, otherwise the process may hang.
worker_id = 0
num_workers = 1
worker_info = torch.utils.data.get_worker_info()
if worker_info:
worker_id = worker_info.id
num_workers = worker_info.num_workers
for s in itertools.islice(src, rank * num_workers + worker_id, None,
world_size * num_workers):
yield s
def identity(x):
return x
def create_wds_dataloader(rank, args, mode):
"""Create webdataset dataset and dataloader."""
if mode == 'train':
transform = transforms.Compose([
transforms.RandomResizedCrop(224),
transforms.RandomHorizontalFlip(),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
data_path = args.train_data_path
data_size = args.train_data_size
batch_size_local = args.train_batch_size
batch_size_global = args.train_batch_size * args.gpus
# Since webdataset disallows partial batch, we pad the last batch for train.
batches = int(math.ceil(data_size / batch_size_global))
else:
transform = transforms.Compose([
transforms.Resize(256),
transforms.CenterCrop(224),
transforms.ToTensor(),
transforms.Normalize(
mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225]),
])
data_path = args.eval_data_path
data_size = args.eval_data_size
batch_size_local = args.eval_batch_size
batch_size_global = args.eval_batch_size * args.gpus
# Since webdataset disallows partial batch, we drop the last batch for eval.
batches = int(data_size / batch_size_global)
dataset = wds.DataPipeline(
wds.SimpleShardList(data_path),
functools.partial(wds_split, rank=rank, world_size=args.gpus),
wds.tarfile_to_samples(),
wds.decode('pil'),
wds.to_tuple('jpg;png;jpeg cls'),
wds.map_tuple(transform, identity),
wds.batched(batch_size_local, partial=False),
)
num_workers = args.dataloader_num_workers
dataloader = wds.WebLoader(
dataset=dataset,
batch_size=None,
shuffle=False,
num_workers=num_workers,
persistent_workers=True if num_workers > 0 else False,
pin_memory=True).repeat(nbatches=batches)
print(f'{mode} dataloader | samples: {data_size}, '
f'num_workers: {num_workers}, '
f'local batch size: {batch_size_local}, '
f'global batch size: {batch_size_global}, '
f'batches: {batches}')
return dataloader
def train(model, device, dataloader, optimizer):
model.train()
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
# pred.shape (N, C), target.shape (N)
loss = nn.functional.cross_entropy(pred, target)
optimizer.zero_grad()
loss.backward()
optimizer.step()
return loss
def evaluate(model, device, dataloader, metric):
model.eval()
with torch.no_grad():
for image, target in dataloader:
image = image.to(device, non_blocking=True)
target = target.to(device, non_blocking=True)
pred = model(image)
metric.update(pred, target)
accuracy = metric.compute()
metric.reset()
return accuracy
def worker(gpu, args):
"""Run training and evaluation."""
# Init process group.
print(f'Initiating process {gpu}')
dist.init_process_group(
backend='nccl',
init_method='env://',
world_size=args.gpus,
rank=gpu)
# Create dataloader.
train_dataloader = create_wds_dataloader(gpu, args, 'train')
eval_dataloader = create_wds_dataloader(gpu, args, 'eval')
# Wrap policy.
my_auto_wrap_policy = functools.partial(
size_based_auto_wrap_policy, min_num_params=100)
torch.cuda.set_device(gpu)
# Create model.
model = resnet50(weights=None)
model.to(args.device)
model = FSDP(model, auto_wrap_policy=my_auto_wrap_policy)
# Optimizer.
optimizer = torch.optim.SGD(model.parameters(), 0.1)
# Main loop.
metric = torchmetrics.classification.Accuracy(top_k=1).to(args.device)
for epoch in range(1, args.epochs + 1):
if gpu == 0:
print(f'Running epoch {epoch}')
start = time.time()
train(model, args.device, train_dataloader, optimizer)
end = time.time()
if gpu == 0:
print(f'Training finished in {(end - start):>0.3f} seconds')
start = time.time()
evaluate(model, args.device, eval_dataloader, metric)
end = time.time()
if gpu == 0:
print(f'Evaluation finished in {(end - start):>0.3f} seconds')
if gpu == 0:
print('Done')
def create_args():
"""Create main args."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--gpus',
default=4,
type=int,
help='number of gpus to use')
parser.add_argument(
'--epochs',
default=2,
type=int,
help='number of total epochs to run')
parser.add_argument(
'--dataloader_num_workers',
default=2,
type=int,
help='number of workders for dataloader')
parser.add_argument(
'--train_data_path',
default='',
type=str,
help='path to training data')
parser.add_argument(
'--train_batch_size',
default=32,
type=int,
help='batch size for training per gpu')
parser.add_argument(
'--train_data_size',
default=50000,
type=int,
help='data size for training')
parser.add_argument(
'--eval_data_path',
default='',
type=str,
help='path to evaluation data')
parser.add_argument(
'--eval_batch_size',
default=32,
type=int,
help='batch size for evaluation per gpu')
parser.add_argument(
'--eval_data_size',
default=50000,
type=int,
help='data size for evaluation')
args = parser.parse_args()
return args
def main():
args = create_args()
os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '8888'
args.device = 'cuda' if torch.cuda.is_available() else 'cpu'
print(f'Launch job on {args.gpus} GPUs with FSDP')
mp.spawn(worker, nprocs=args.gpus, args=(args,))
if __name__ == '__main__':
main()
@@ -0,0 +1,98 @@
# Copyright 2022 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the \"License\");
# you may not use this file except in compliance with the License.\n",
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an \"AS IS\" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
r"""Main function to shard ImageNet dataset.
Example usage:
python3 -u shard_imagenet.py \
--image_list_file=/home/jupyter/data/imagenet/train_list.txt \
--output_pattern=/home/jupyter/data/imagenet/validation-%06d.tar
"""
import argparse
import os
import random
import webdataset as wds # version: 0.2.26
# NOTE: only supports writing to local path,
# need gcsfuse mounting if want to write to gcs bucket.
def write_shards(args):
"""Shard individual data files."""
output_dir = os.path.dirname(args.output_pattern)
if not os.path.isdir(output_dir):
os.makedirs(output_dir)
items = []
# Image list file is a text file, each line is a pair (image_path, label).
with open(args.image_list_file, 'r') as f:
for line in f:
item = line.strip().split(' ')
items.append((item[0], int(item[1])))
# Shuffle items to avoid any large sequences of a single class
# in the dataset.
random.shuffle(items)
def _read_image(image_path):
with open(image_path, 'rb') as f:
return f.read()
with wds.ShardWriter(pattern=args.output_pattern,
maxcount=args.max_images_per_shard,
maxsize=args.max_bytes_per_shard) as sink:
for i, (image_path, target) in enumerate(items):
key = str(i)
image = _read_image(image_path)
sample = {'__key__': key, 'jpg': image, 'cls': target}
sink.write(sample)
if len(items) != sink.total:
raise ValueError('Items read {} != items written {}'.format(
len(items), sink.total))
def create_args():
"""Creates arg parser."""
parser = argparse.ArgumentParser(
formatter_class=argparse.ArgumentDefaultsHelpFormatter)
parser.add_argument(
'--image_list_file',
default='',
type=str,
help='path to image list file')
parser.add_argument(
'--output_pattern',
default='',
type=str,
help='the pattern for output shards, like /path/to/train-%06d.tar')
parser.add_argument(
'--max_images_per_shard',
default=10 * 1024,
type=int,
help='max number of images per shard')
parser.add_argument(
'--max_bytes_per_shard',
default=300 * 1024 * 1024,
type=int,
help='max bytes per shard')
args = parser.parse_args()
return args
def main():
args = create_args()
write_shards(args)
if __name__ == '__main__':
main()
@@ -1,3 +1,3 @@
torch==1.8.1
torch==1.13.1
torchvision==0.9.1
tensorboard==2.5.0
@@ -1,3 +1,3 @@
torch==1.8.1
torch==2.2.0
torchvision==0.9.1
tensorboard==2.5.0
@@ -0,0 +1,30 @@
# PyTorch Deployment on Google Cloud: Text Classification
**This is an Experimental release**, covered by the Pre-GA Offerings Terms of your Google Cloud Platform [Terms of Service](https://cloud.google.com/terms).
Experiments are focused on validating a prototype and are not guaranteed to be released. They are not intended for production use or covered by any SLA, support obligation, or deprecation policy and might be subject to backward-incompatible changes.
**Kindly drop us a note before you run any scale tests.**
**Do not hesitate to contact vertexai-prediction-preview-feedback@google.com if you have any questions or run into any issues.**
The projects need to be added to the allowlist in order to deploy PyTorch models using Vertex AI Prediction pre-built PyTorch images. If you are interested in the feature, please send an email to vertexai-prediction-preview-feedback@google.com to provide your project numbers OR project ids.
## Overview
In the PyTorch on Google Cloud series of blog posts, we aim to share how to deploy PyTorch models at scale on [Vertex AI](https://cloud.google.com/vertex-ai).
This tutorial on text classification shows how to deploy a PyTorch based text classification model on [Vertex AI](https://cloud.google.com/vertex-ai/docs/start/client-libraries#python) using Vertex SDK and [`gcloud ai`](https://cloud.google.com/sdk/gcloud/reference/beta/ai).
## Notebooks
| <h4>Notebook</h4> | <h4>Description</h4> |
| :-------- | :------- |
| [pytorch-text-classification-vertex-ai-deploy.ipynb](./pytorch-text-classification-vertex-ai-deploy.ipynb) | Notebook to show deploying a PyTorch model on Vertex AI |
## Folders
| <h4>Folder Name</h4> | <h4>Description</h4> |
| :-------- | :------- |
| [`predictor`](./predictor) | Folder with custom prediction handler to deploy a PyTorch model to Vertex Prediction. In the [notebook](./pytorch-text-classification-vertex-ai-deploy.ipynb), this folder is used for deploying a PyTorch model on Vertex AI using Vertex Prediction pre-built PyTorch images |
@@ -0,0 +1,91 @@
import os
import json
import logging
import torch
from transformers import AutoModelForSequenceClassification, AutoTokenizer
from ts.torch_handler.base_handler import BaseHandler
logger = logging.getLogger(__name__)
class TransformersClassifierHandler(BaseHandler):
"""
The handler takes an input string and returns the classification text
based on the serialized transformers checkpoint.
"""
def __init__(self):
super(TransformersClassifierHandler, self).__init__()
self.initialized = False
def initialize(self, ctx):
""" Loads the model.pt file and initialized the model object.
Instantiates Tokenizer for preprocessor to use
Loads labels to name mapping file for post-processing inference response
"""
self.manifest = ctx.manifest
properties = ctx.system_properties
model_dir = properties.get("model_dir")
self.device = torch.device("cuda:" + str(properties.get("gpu_id")) if torch.cuda.is_available() else "cpu")
# Read model serialize/pt file
serialized_file = self.manifest["model"]["serializedFile"]
model_pt_path = os.path.join(model_dir, serialized_file)
if not os.path.isfile(model_pt_path):
raise RuntimeError("Missing the model.pt or pytorch_model.bin file")
# Load model
self.model = AutoModelForSequenceClassification.from_pretrained(model_dir)
self.model.to(self.device)
self.model.eval()
logger.debug('Transformer model from path {0} loaded successfully'.format(model_dir))
# Ensure to use the same tokenizer used during training
self.tokenizer = AutoTokenizer.from_pretrained('bert-base-cased')
# Read the mapping file, index to object name
mapping_file_path = os.path.join(model_dir, "index_to_name.json")
if os.path.isfile(mapping_file_path):
with open(mapping_file_path) as f:
self.mapping = json.load(f)
else:
logger.warning('Missing the index_to_name.json file. Inference output will default.')
self.mapping = {"0": "Negative", "1": "Positive"}
self.initialized = True
def preprocess(self, data):
""" Preprocessing input request by tokenizing
Extend with your own preprocessing steps as needed
"""
text = data[0].get("data")
if text is None:
text = data[0].get("body")
sentences = text.decode('utf-8')
logger.info("Received text: '%s'", sentences)
# Tokenize the texts
tokenizer_args = ((sentences,))
inputs = self.tokenizer(*tokenizer_args,
padding='max_length',
max_length=128,
truncation=True,
return_tensors = "pt")
return inputs
def inference(self, inputs):
""" Predict the class of a text using a trained transformer model.
"""
prediction = self.model(inputs['input_ids'].to(self.device))[0].argmax().item()
if self.mapping:
prediction = self.mapping[str(prediction)]
logger.info("Model predicted: '%s'", prediction)
return [prediction]
def postprocess(self, inference_output):
return inference_output
@@ -0,0 +1,5 @@
{
"0": "Negative",
"1": "Positive"
}
@@ -658,8 +658,8 @@
},
"outputs": [],
"source": [
"datasets = load_dataset(\"imdb\")\n",
"datasets"
"dataset = load_dataset(\"imdb\")\n",
"dataset"
]
},
{
@@ -668,7 +668,7 @@
"id": "RzfPtOMoIrIu"
},
"source": [
"The `datasets` object itself is [`DatasetDict`](https://huggingface.co/docs/datasets/package_reference/main_classes.html#datasetdict), which contains one key for the training, validation and test set."
"The `dataset` object itself is [`DatasetDict`](https://huggingface.co/docs/datasets/package_reference/main_classes.html#datasetdict), which contains one key for the training, validation and test set."
]
},
{
@@ -681,12 +681,12 @@
"source": [
"print(\n",
" \"Total # of rows in training dataset {} and size {:5.2f} MB\".format(\n",
" datasets[\"train\"].shape[0], datasets[\"train\"].size_in_bytes / (1024 * 1024)\n",
" dataset[\"train\"].shape[0], dataset[\"train\"].size_in_bytes / (1024 * 1024)\n",
" )\n",
")\n",
"print(\n",
" \"Total # of rows in test dataset {} and size {:5.2f} MB\".format(\n",
" datasets[\"test\"].shape[0], datasets[\"test\"].size_in_bytes / (1024 * 1024)\n",
" dataset[\"test\"].shape[0], dataset[\"test\"].size_in_bytes / (1024 * 1024)\n",
" )\n",
")"
]
@@ -708,7 +708,7 @@
},
"outputs": [],
"source": [
"datasets[\"train\"][0]"
"dataset[\"train\"][0]"
]
},
{
@@ -728,7 +728,7 @@
},
"outputs": [],
"source": [
"label_list = datasets[\"train\"].unique(\"label\")\n",
"label_list = dataset[\"train\"].unique(\"label\")\n",
"label_list"
]
},
@@ -779,7 +779,7 @@
},
"outputs": [],
"source": [
"show_random_elements(datasets[\"train\"])"
"show_random_elements(dataset[\"train\"])"
]
},
{
@@ -883,7 +883,7 @@
},
"outputs": [],
"source": [
"example = datasets[\"train\"][4]\n",
"example = dataset[\"train\"][4]\n",
"print(example)"
]
},
@@ -920,7 +920,7 @@
"source": [
"# Dataset loading repeated here to make this cell idempotent\n",
"# Since we are over-writing datasets variable\n",
"datasets = load_dataset(\"imdb\")\n",
"dataset = load_dataset(\"imdb\")\n",
"\n",
"# Mapping labels to ids\n",
"# NOTE: We can extract this automatically but the `Unique` method of the datasets\n",
@@ -948,7 +948,7 @@
"\n",
"\n",
"# apply preprocessing function to input examples\n",
"datasets = datasets.map(preprocess_function, batched=True, load_from_cache_file=True)"
"dataset = dataset.map(preprocess_function, batched=True, load_from_cache_file=True)"
]
},
{
@@ -1091,8 +1091,8 @@
"trainer = Trainer(\n",
" model,\n",
" args,\n",
" train_dataset=datasets[\"train\"],\n",
" eval_dataset=datasets[\"test\"],\n",
" train_dataset=dataset[\"train\"],\n",
" eval_dataset=dataset[\"test\"],\n",
" data_collator=default_data_collator,\n",
" tokenizer=tokenizer,\n",
" compute_metrics=compute_metrics,\n",

Some files were not shown because too many files have changed in this diff Show More