Skip to content

Commit fdefea5

Browse files
committed
Added to troubleshooting section
1 parent a27cdbd commit fdefea5

File tree

5 files changed

+60
-14
lines changed

5 files changed

+60
-14
lines changed

how-to-use-azureml/automated-machine-learning/README.md

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -68,21 +68,21 @@ There's no need to install mini-conda specifically.
6868
The **automl/automl_setup** script creates a new conda environment, installs the necessary packages, configures the widget and starts a jupyter notebook.
6969
It takes the conda environment name as an optional parameter. The default conda environment name is azure_automl. The exact command depends on the operating system. See the specific sections below for Windows, Mac and Linux. It can take about 10 minutes to execute.
7070
## Windows
71-
Start an **Anaconda Prompt** window, cd to the **automl** folder where the sample notebooks were extracted and then run:
71+
Start an **Anaconda Prompt** window, cd to the **how-to-use-azureml/automated-machine-learning** folder where the sample notebooks were extracted and then run:
7272
```
7373
automl_setup
7474
```
7575
## Mac
7676
Install "Command line developer tools" if it is not already installed (you can use the command: `xcode-select --install`).
7777

78-
Start a Terminal windows, cd to the **automl** folder where the sample notebooks were extracted and then run:
78+
Start a Terminal windows, cd to the **how-to-use-azureml/automated-machine-learning** folder where the sample notebooks were extracted and then run:
7979

8080
```
8181
bash automl_setup_mac.sh
8282
```
8383

8484
## Linux
85-
cd to the **automl** folder where the sample notebooks were extracted and then run:
85+
cd to the **how-to-use-azureml/automated-machine-learning** folder where the sample notebooks were extracted and then run:
8686

8787
```
8888
bash automl_setup_linux.sh
@@ -131,7 +131,7 @@ bash automl_setup_linux.sh
131131
- Specify automl settings as kwargs
132132

133133
- [auto-ml-remote-attach.ipynb](remote-attach/auto-ml-remote-attach.ipynb)
134-
- Dataset: [Burning Man 2016 dataset](https://innovate.burningman.org/datasets-page/)
134+
- Dataset: Scikit learn's [20newsgroup](http://scikit-learn.org/stable/datasets/twenty_newsgroups.html)
135135
- handling text data with preprocess flag
136136
- Reading data from a blob store for remote executions
137137
- using pandas dataframes for reading data
@@ -154,7 +154,7 @@ bash automl_setup_linux.sh
154154
- Download fitted pipeline for any iteration
155155

156156
- [auto-ml-remote-execution-with-datastore.ipynb](remote-execution-with-datastore/auto-ml-remote-execution-with-datastore.ipynb)
157-
- Dataset: scikit learn's [digit dataset](https://innovate.burningman.org/datasets-page/)
157+
- Dataset: Scikit learn's [20newsgroup](http://scikit-learn.org/stable/datasets/twenty_newsgroups.html)
158158
- Download the data and store it in DataStore.
159159

160160
- [auto-ml-classification-with-deployment.ipynb](classification-with-deployment/auto-ml-classification-with-deployment.ipynb)
@@ -300,11 +300,57 @@ The main code of the file must be indented so that it is under this condition.
300300

301301
<a name="troubleshooting"></a>
302302
# Troubleshooting
303-
## Iterations fail and the log contains "MemoryError"
303+
## automl_setup fails
304+
1. On windows, make sure that you are running automl_setup from an Anconda Prompt window rather than a regular cmd window. You can launch the "Anaconda Prompt" window by hitting the Start button and typing "Anaconda Prompt". If you don't see the application "Anaconda Prompt", you might not have conda or mini conda installed. In that case, you can install it [here](https://conda.io/miniconda.html)
305+
2. Check that you have conda 4.4.10 or later. You can check the version with the command `conda -V`. If you have a previous version installed, you can update it using the command: `conda update conda`.
306+
3. Pass a new name as the first parameter to automl_setup so that it creates a new conda environment. You can view existing conda environments using `conda env list` and remove them with `conda env remove -n <environmentname>`.
307+
308+
## configuration.ipynb fails
309+
1) For local conda, make sure that you have susccessfully run automl_setup first.
310+
2) Check that the subscription_id is correct. You can find the subscription_id in the Azure Portal by selecting All Service and then Subscriptions. The characters "<" and ">" should not be included in the subscription_id value. For example, `subscription_id = "12345678-90ab-1234-5678-1234567890abcd"` has the valid format.
311+
3) Check that you have Contributor or Owner access to the Subscription.
312+
4) Check that the region is one of the supported regions: `eastus2`, `eastus`, `westcentralus`, `southeastasia`, `westeurope`, `australiaeast`, `westus2`, `southcentralus`
313+
5) Check that you have access to the region using the Azure Portal.
314+
315+
## workspace.from_config fails
316+
If the call `ws = Workspace.from_config()` fails:
317+
1) Make sure that you have run the `configuration.ipynb` notebook successfully.
318+
2) If you are running a notebook from a folder that is not under the folder where you ran `configuration.ipynb`, copy the folder aml_config and the file config.json that it contains to the new folder. Workspace.from_config reads the config.json for the notebook folder or it parent folder.
319+
3) If you are switching to a new subscription, resource group, workspace or region, make sure that you run the `configuration.ipynb` notebook again. Changing config.json directly will only work if the workspace already exists in the specified resource group under the specified subscription.
320+
4) If you want to change the region, please change the workspace, resource group or subscription. `Workspace.create` will not create or update a workspace if it already exists, even if the region specified is different.
321+
322+
## Sample notebook fails
323+
If a sample notebook fails with an error that property, method or library does not exist:
324+
1) Check that you have selected correct kernel in jupyter notebook. The kernel is displayed in the top right of the notebook page. It can be changed using the `Kernel | Change Kernel` menu option. For Azure Notebooks, it should be `Python 3.6`. For local conda environments, it should be the conda envioronment name that you specified in automl_setup. The default is azure_automl. Note that the kernel is saved as part of the notebook. So, if you switch to a new conda environment, you will have to select the new kernel in the notebook.
325+
2) Check that the notebook is for the SDK version that you are using. You can check the SDK version by executing `azureml.core.VERSION` in a jupyter notebook cell. You can download previous version of the sample notebooks from GitHub by clicking the `Branch` button, selecting the `Tags` tab and then selecting the version.
326+
327+
## Remote run: DsvmCompute.create fails
328+
There are several reasons why the DsvmCompute.create can fail. The reason is usually in the error message but you have to look at the end of the error message for the detailed reason. Some common reasons are:
329+
1) `Compute name is invalid, it should start with a letter, be between 2 and 16 character, and only include letters (a-zA-Z), numbers (0-9) and \'-\'.` Note that underscore is not allowed in the name.
330+
2) `The requested VM size xxxxx is not available in the current region.` You can select a different region or vm_size.
331+
332+
## Remote run: Unable to establish SSH connection
333+
AutoML uses the SSH protocol to communicate with remote DSVMs. This defaults to port 22. Possible causes for this error are:
334+
1) The DSVM is not ready for SSH connections. When DSVM creation completes, the DSVM might still not be ready to acceept SSH connections. The sample notebooks have a one minute delay to allow for this.
335+
2) Your Azure Subscription may restrict the IP address ranges that can access the DSVM on port 22. You can check this in the Azure Portal by selecting the Virtual Machine and then clicking Networking. The Virtual Machine name is the name that you provided in the notebook plus 10 alpha numeric characters to make the name unique. The Inbound Port Rules define what can access the VM on specific ports. Note that there is a priority priority order. So, a Deny entry with a low priority number will override a Allow entry with a higher priority number.
336+
337+
## Remote run: setup iteration fails
338+
This is often an issue with the `get_data` method.
339+
1) Check that the `get_data` method is valid by running it locally.
340+
2) Make sure that `get_data` isn't referring to any local files. `get_data` is executed on the remote DSVM. So, it doesn't have direct access to local data files. Instead you can store the data files with DataStore. See [auto-ml-remote-execution-with-datastore.ipynb](remote-execution-with-datastore/auto-ml-remote-execution-with-datastore.ipynb)
341+
3) You can get to the error log for the setup iteration by clicking the `Click here to see the run in Azure portal` link, click `Back to Experiment`, click on the highest run number and then click on Logs.
342+
343+
## Remote run: disk full
344+
AutoML creates files under /tmp/azureml_runs for each iteration that it runs. It creates a folder with the iteration id. For example: AutoML_9a038a18-77cc-48f1-80fb-65abdbc33abe_93. Under this, there is a azureml-logs folder, which contains logs. If you run too many iterations on the same DSVM, these files can fill the disk.
345+
You can delete the files under /tmp/azureml_runs or just delete the VM and create a new one.
346+
If your get_data downloads files, make sure the delete them or they can use disk space as well.
347+
When using DataStore, it is good to specify an absolute path for the files so that they are downloaded just once. If you specify a relative path, it will download a file for each iteration.
348+
349+
## Remote run: Iterations fail and the log contains "MemoryError"
304350
This can be caused by insufficient memory on the DSVM. AutoML loads all training data into memory. So, the available memory should be more than the training data size.
305351
If you are using a remote DSVM, memory is needed for each concurrent iteration. The max_concurrent_iterations setting specifies the maximum concurrent iterations. For example, if the training data size is 8Gb and max_concurrent_iterations is set to 10, the minimum memory required is at least 80Gb.
306352
To resolve this issue, allocate a DSVM with more memory or reduce the value specified for max_concurrent_iterations.
307353

308-
## Iterations show as "Not Responding" in the RunDetails widget.
354+
## Remote run: Iterations show as "Not Responding" in the RunDetails widget.
309355
This can be caused by too many concurrent iterations for a remote DSVM. Each concurrent iteration usually takes 100% of a core when it is running. Some iterations can use multiple cores. So, the max_concurrent_iterations setting should always be less than the number of cores of the DSVM.
310356
To resolve this issue, try reducing the value specified for the max_concurrent_iterations setting.

how-to-use-azureml/automated-machine-learning/automl_setup.cmd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ IF NOT EXIST %automl_env_file% GOTO YmlMissing
1111
call conda activate %conda_env_name% 2>nul:
1212

1313
if not errorlevel 1 (
14-
echo Upgrading azureml-sdk[automl] in existing conda environment %conda_env_name%
15-
call pip install --upgrade azureml-sdk[automl,notebooks]
14+
echo Upgrading azureml-sdk[automl,notebooks,explain] in existing conda environment %conda_env_name%
15+
call pip install --upgrade azureml-sdk[automl,notebooks,explain]
1616
if errorlevel 1 goto ErrorExit
1717
) else (
1818
call conda env create -f %automl_env_file% -n %conda_env_name%

how-to-use-azureml/automated-machine-learning/automl_setup_linux.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ fi
2121

2222
if source activate $CONDA_ENV_NAME 2> /dev/null
2323
then
24-
echo "Upgrading azureml-sdk[automl] in existing conda environment" $CONDA_ENV_NAME
25-
pip install --upgrade azureml-sdk[automl,notebooks]
24+
echo "Upgrading azureml-sdk[automl,notebooks,explain] in existing conda environment" $CONDA_ENV_NAME
25+
pip install --upgrade azureml-sdk[automl,notebooks,explain]
2626
else
2727
conda env create -f $AUTOML_ENV_FILE -n $CONDA_ENV_NAME &&
2828
source activate $CONDA_ENV_NAME &&

how-to-use-azureml/automated-machine-learning/automl_setup_mac.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ fi
2121

2222
if source activate $CONDA_ENV_NAME 2> /dev/null
2323
then
24-
echo "Upgrading azureml-sdk[automl] in existing conda environment" $CONDA_ENV_NAME
25-
pip install --upgrade azureml-sdk[automl,notebooks]
24+
echo "Upgrading azureml-sdk[automl,notebooks,explain] in existing conda environment" $CONDA_ENV_NAME
25+
pip install --upgrade azureml-sdk[automl,notebooks,explain]
2626
else
2727
conda env create -f $AUTOML_ENV_FILE -n $CONDA_ENV_NAME &&
2828
source activate $CONDA_ENV_NAME &&

how-to-use-azureml/automated-machine-learning/classification_with_tensorflow/auto-ml-classification_with_tensorflow.ipynb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"cell_type": "markdown",
1414
"metadata": {},
1515
"source": [
16-
"# Automated Machine Learning: Classification with Local Compute with Tesnorflow DNNClassifier and LinearClassifier using whitelist models\n",
16+
"# Automated Machine Learning: Classification with Local Compute with Tensorflow DNNClassifier and LinearClassifier using whitelist models\n",
1717
"\n",
1818
"In this example we use the scikit-learn's [digit dataset](http://scikit-learn.org/stable/datasets/index.html#optical-recognition-of-handwritten-digits-dataset) to showcase how you can use AutoML for a simple classification problem.\n",
1919
"\n",

0 commit comments

Comments
 (0)