You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/machine-learning/how-to-troubleshoot-environments.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,62 +25,62 @@ Environments are managed and versioned assets within your Machine Learning works
25
25
26
26
### Types of environments
27
27
28
-
Environments can broadly be divided into three categories: curated, user-managed, and system-managed.
28
+
Environments fall under three categories: curated, user-managed, and system-managed.
29
29
30
-
Curated environments are pre-created environments that are managed by Azure Machine Learning (AzureML) and are available by default in every workspace.
30
+
Curated environments are pre-created environments managed by Azure Machine Learning (AzureML) and are available by default in every workspace.
31
31
32
-
Intended to be used as is, they contain collections of Python packages and settings to help you get started with various machine learning frameworks.
32
+
They contain collections of Python packages and settings to help you get started with various machine learning frameworks and are intended for you to use as is.
33
33
These pre-created environments also allow for faster deployment time.
34
34
35
35
In user-managed environments, you're responsible for setting up your environment and installing every package that your training script needs on the compute target.
36
36
Also be sure to include any dependencies needed for model deployment.
37
-
These types of environments are represented by two subtypes. For the first type, BYOC (bring your own container), you bring an existing Docker image to AzureML. For the second type, Docker build context based environments, AzureML materializes the image from the context that you provide.
37
+
These types of environments have two subtypes. For the first type, BYOC (bring your own container), you bring an existing Docker image to AzureML. For the second type, Docker build context based environments, AzureML materializes the image from the context that you provide.
38
38
39
-
System-managed environments are used when you want conda to manage the Python environment for you.
40
-
A new isolated conda environment is materialized from your conda specification on top of a base Docker image. By default, common properties are added to the derived image.
41
-
Note that environment isolation implies that Python dependencies installed in the base image won't be available in the derived image.
39
+
When you want conda to manage the Python environment for you, use system-managed environments.
40
+
AzureML creates a new isolated conda environment by materializing your conda specification on top of a base Docker image. By default, AzureML adds common properties to the derived image.
41
+
Environment isolation implies that Python dependencies installed in the base image aren't available in the derived image.
42
42
43
43
### Create and manage environments
44
44
45
45
You can create and manage environments from clients like AzureML Python SDK, AzureML CLI, AzureML Studio UI, VS code extension.
46
46
47
47
"Anonymous" environments are automatically registered in your workspace when you submit an experiment without registering or referencing an already existing environment.
48
-
They won't be listed but may be retrieved by version or label.
48
+
They aren't listed but you can retrieve them by version or label.
49
49
50
50
AzureML builds environment definitions into Docker images.
51
-
It also caches the environments in the Azure Container Registry associated with your AzureML Workspace so they can be reused in subsequent training jobs and service endpoint deployments.
52
-
Multiple environments with the same definition may result the same image, so the cached image will be reused.
51
+
It also caches the environments in the Azure Container Registry associated with your AzureML Workspace so you can reuse them in subsequent training jobs and service endpoint deployments.
52
+
Multiple environments with the same definition may result in the same image, so the cached image is reused.
53
53
Running a training script remotely requires the creation of a Docker image.
54
54
55
55
### Reproducibility and vulnerabilities
56
56
57
57
#### *Vulnerabilities*
58
58
59
-
Vulnerabilities can be addressed by upgrading to a newer version of a dependency or migrating to a different dependency that satisfies security
59
+
You can address vulnerabilities by upgrading to a newer version of a dependency or migrating to a different dependency that satisfies security
60
60
requirements. Mitigating vulnerabilities is time consuming and costly since it can require refactoring of code and infrastructure. With the prevalence
61
61
of open source software and the use of complicated nested dependencies, it's important to manage and keep track of vulnerabilities.
62
62
63
63
There are some ways to decrease the impact of vulnerabilities:
64
64
65
65
- Reduce your number of dependencies - use the minimal set of the dependencies for each scenario.
66
-
- Compartmentalize your environment so issues can be scoped and fixed in one place.
66
+
- Compartmentalize your environment so you can scope and fix issues in one place.
67
67
- Understand flagged vulnerabilities and their relevance to your scenario.
68
68
69
69
#### *Vulnerabilities vs Reproducibility*
70
70
71
71
Reproducibility is one of the foundations of software development. While developing production code, a repeated operation must guarantee the same
72
72
result. Mitigating vulnerabilities can disrupt reproducibility by changing dependencies.
73
73
74
-
AzureML's primary focus is to guarantee reproducibility. Environments can broadly be divided into three categories: curated,
74
+
AzureML's primary focus is to guarantee reproducibility. Environments fall under three categories: curated,
75
75
user-managed, and system-managed.
76
76
77
-
**Curated environments** are pre-created environments that are managed by Azure Machine Learning (AzureML) and are available by default in every AzureML workspace provisioned.
77
+
**Curated environments** are pre-created environments that Azure Machine Learning (AzureML) manages and are available by default in every AzureML workspace provisioned.
78
78
79
-
Intended to be used as is, they contain collections of Python packages and settings to help you get started with various machine learning frameworks.
79
+
They contain collections of Python packages and settings to help you get started with various machine learning frameworks and are intended for you to use as is.
80
80
These pre-created environments also allow for faster deployment time.
81
81
82
82
In **user-managed environments**, you're responsible for setting up your environment and installing every package that your training script needs on the
83
-
compute target and for model deployment. These types of environments are represented by two subtypes:
83
+
compute target and for model deployment. These types of environments have two subtypes:
84
84
85
85
- BYOC (bring your own container): the user provides a Docker image to AzureML
86
86
- Docker build context: AzureML materializes the image from the user provided content
0 commit comments