Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hyperparameter a pipeline parameter, not random value #107

Closed
algattik opened this issue Nov 24, 2019 · 3 comments · Fixed by #121
Closed

Hyperparameter a pipeline parameter, not random value #107

algattik opened this issue Nov 24, 2019 · 3 comments · Fixed by #121

Comments

@algattik
Copy link
Contributor

MLOpsPython/code/training/train.py picks a hyperparameter value randomly. This is an antipattern in 2 ways: (1) DevOps processes should yield reproducible outputs, (2) hyperparameters should be an AML pipeline parameter.

# Randomly pic alpha
alphas = np.arange(0.0, 1.0, 0.05)
alpha = alphas[np.random.choice(alphas.shape[0], 1, replace=False)][0]
@dtzar
Copy link
Member

dtzar commented Nov 26, 2019

Yes, this is done for demo purposes to display something interesting on the metrics visuals. Real customer code would of course not do this.

@algattik
Copy link
Contributor Author

As this repo is a starting point for MLOps projects, it would be great to show best practice in code right away.

How about making the hyperparameter value a pipeline parameter, and generating a random value for it in the devops pipeline?

@dtzar
Copy link
Member

dtzar commented Nov 26, 2019

sure. PRs welcome.

algattik added a commit to algattik/MLOpsPython that referenced this issue Nov 28, 2019
* Use Azure CLI tasks to remove need for variables SP_APP_ID, SP_APP_SECRET, SUBSCRIPTION_ID, TENANT_ID
* Updated gettin_started.md to point out variable path to artifact (microsoft#117)
* Made random hyperparameter (ridge regression alpha) a pipeline parameter, setting its value in the DevOps pipeline (microsoft#107)
* Changed unit test to test actual training code (partially solves microsoft#74)
* Fixed: attach_compute should set exit code after exception (microsoft#113)
* Fixed scoring endpoint HTTP behavior (microsoft#110)
* Fixed PipelineParameters format in call to Azure ML Extension (microsoft#118)
* Fixed Model build environment for Azure Web App for containers (microsoft#119)
@dtzar dtzar closed this as completed in #121 Dec 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants