dask / dask-cloudprovider

Cloud provider cluster managers for Dask. Supports AWS, Google Cloud Azure and more...
https://cloudprovider.dask.org
BSD 3-Clause "New" or "Revised" License
134 stars 110 forks source link

AzureML Provider : __init__() missing 1 required positional argument: 'compute_target' #115

Open arnabbiswas1 opened 4 years ago

arnabbiswas1 commented 4 years ago

What happened: I installed dask-cloudprovider using pip within a conda environment which already have azure related dependencies available.

$ pip install dask-cloudprovider

And was trying to execute, the code from the documentation.

amlcluster = AzureMLCluster(
# required
ws,
# optional
vm_size="STANDARD_DS13_V2",                                 # Azure VM size for the Compute Target
datastores=ws.datastores.values(),                          # Azure ML Datastores to mount on the headnode
environment_definition=ws.environments['AzureML-Dask-CPU'], # Azure ML Environment to run on the cluster
initial_node_count=2,                                       # number of nodes to start
scheduler_idle_timeout=7200                                 # scheduler idle timeout in seconds
)

It resulted in the following error:

Exception ignored in: <function Cluster.del at 0x7f54dc5454d0> Traceback (most recent call last): File "/anaconda/envs/azureml_custom_py37/lib/python3.7/site-packages/distributed/deploy/cluster.py", line 93, in del if self.status != "closed": AttributeError: 'AzureMLCluster' object has no attribute 'status' ------------------------------# TypeError Traceback (most recent call last)

in 4 environment_definition=ws.environments['AzureML-Dask-CPU'], 5 initial_node_count=2, ----> 6 scheduler_idle_timeout=7200 7 ) TypeError: __init__() missing 1 required positional argument: 'compute_target'

On checking the code in the conda environment, I realized that the pip package doesn't include latest code in master.

In fact pypi still points to the code committed until 25th June.

Environment: $ conda list | grep dask dask 2.20.0 py_0 dask-cloudprovider 0.3.0 dask-core 2.20.0 py_0 dask-glm 0.2.0 py_1 conda-forge dask-ml 1.6.0 py_0 conda-forge dask-xgboost 0.1.10

$conda list | grep azure azureml-automl-core 1.10.0.post1 azureml-core 1.10.0.post1 azureml-dataprep 1.10.1 azureml-dataprep-native 14.2.1 azureml-dataset-runtime 1.10.0 azureml-pipeline 1.10.0 azureml-pipeline-core 1.10.0 azureml-pipeline-steps 1.10.0 azureml-sdk 1.10.0 azureml-telemetry 1.10.0 azureml-train 1.10.0 azureml-train-automl-client 1.10.0 azureml-train-core 1.10.0 azureml-train-restclients-hyperdrive 1.10.0

$conda list | grep distributed distributed 2.20.0 py37_0

lostmygithubaccount commented 4 years ago

https://pypi.org/project/dask-cloudprovider/#history version 0.4.0 was released a few hours ago and contains the updated code

arnabbiswas1 commented 4 years ago

Thanks a lot! I will try it today.

Also, I noticed that the conda version is not up to date as well. If there is any logistic issue with Conda it's probably better to update the documentation:

https://anaconda.org/conda-forge/dask-cloudprovider

arnabbiswas1 commented 4 years ago

https://pypi.org/project/dask-cloudprovider/#history version 0.4.0 was released a few hours ago and contains the updated code

Thanks. 👍

The 0.4.0 from pypi worked for me. However, I am noticing few other functionality related issues which I have raised separately:

https://github.com/dask/dask-cloudprovider/issues/116