Azure / MachineLearningNotebooks

Python notebooks with ML and deep learning examples with Azure Machine Learning Python SDK | Microsoft
https://docs.microsoft.com/azure/machine-learning/service/
MIT License
4.07k stars 2.52k forks source link

Different default visual settings of RunDetails for HyperDrive in AzureML studio and vscode #1224

Open marcindulak opened 3 years ago

marcindulak commented 3 years ago

[Enter feedback here]

The visual appearance of RunDetail differs between AzureML studio and vscode for /how-to-use-azureml/ml-frameworks/scikit-learn/train-hyperparameter-tune-deploy-with-sklearn.

It would be helpful if vscode followed the appearance of Azure.

There are at least 3 significant differences, numbered on the attached screenshots:

  1. The default chart type on Azure Parallel coordinate chart and on vscode 2D Scatter Chart. Moreover in vscode changing the chart to other type reverts itself to 2D Scatter Chart after several seconds.

  2. The color coding of the metrics range is inverted between Azure and vscode

  3. The order of columns in the summary table differs between Azure and vscode.

Screenshot from 2020-10-30 14-22-28

Screenshot from 2020-10-30 14-23-45

Details about the vscode environment:

code -v
1.50.1
d2e414d9e4239a252d1ab117bd7067f125afd80a
x64

conda inside of https://github.com/microsoft/vscode-dev-containers

conda info
     active environment : None
       user config file : /home/vscode/.condarc
 populated config files : 
          conda version : 4.9.1
    conda-build version : not installed
         python version : 3.7.9.final.0
       virtual packages : __glibc=2.28=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (read only)
           channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/conda/pkgs
                          /home/vscode/.conda/pkgs
       envs directories : /home/vscode/.conda/envs
                          /opt/conda/envs
               platform : linux-64
             user-agent : conda/4.9.1 requests/2.22.0 CPython/3.7.9 Linux/4.15.0-122-generic debian/10 glibc/2.28
                UID:GID : 1000:1000
             netrc file : None
           offline mode : False
conda env export --name base
name: base
channels:
  - conda-forge
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=1_gnu
  - _py-xgboost-mutex=2.0=cpu_0
  - abseil-cpp=20200225.2=he1b5a44_2
  - argon2-cffi=20.1.0=py37h8f50634_2
  - arrow-cpp=1.0.1=py37h433b4ec_14_cpu
  - arviz=0.10.0=py_0
  - asn1crypto=1.3.0=py37_0
  - async_generator=1.10=py_0
  - attrs=20.2.0=pyh9f0ad1d_0
  - aws-c-common=0.4.59=he1b5a44_0
  - aws-c-event-stream=0.1.6=h84e28f3_5
  - aws-checksums=0.1.9=he252421_2
  - aws-sdk-cpp=1.8.63=h9b98462_0
  - backports=1.0=py_2
  - backports.functools_lru_cache=1.6.1=py_0
  - binutils_impl_linux-64=2.33.1=he1b5a44_7
  - binutils_linux-64=2.33.1=h9595d00_17
  - bleach=3.2.1=pyh9f0ad1d_0
  - boto=2.49.0=py_0
  - boto3=1.16.4=pyh9f0ad1d_0
  - botocore=1.19.4=pyh9f0ad1d_0
  - brotli=1.0.9=he1b5a44_3
  - bzip2=1.0.8=h516909a_3
  - c-ares=1.16.1=h516909a_3
  - ca-certificates=2020.6.20=hecda079_0
  - certifi=2020.6.20=py37he5f6b98_2
  - cffi=1.14.3=py37he30daa8_0
  - cftime=1.2.1=py37h161383b_1
  - chardet=3.0.4=py37_1003
  - click=7.1.2=pyh9f0ad1d_0
  - cloudpickle=1.6.0=py_0
  - conda=4.9.1=py37h06a4308_0
  - conda-package-handling=1.6.0=py37h7b6447c_0
  - convertdate=2.2.2=pyh9f0ad1d_0
  - cryptography=2.8=py37h1ba5d50_0
  - curl=7.71.1=he644dc0_8
  - cycler=0.10.0=py_2
  - cython=0.29.21=py37hb892b2f_1
  - cytoolz=0.11.0=py37h8f50634_1
  - dask-core=2.30.0=py_0
  - decorator=4.4.2=py_0
  - defusedxml=0.6.0=py_0
  - entrypoints=0.3=py37hc8dfbb8_1002
  - ephem=3.7.7.1=py37h8f50634_1
  - fbprophet=0.6=py37he1b5a44_0
  - fire=0.3.1=pyh9f0ad1d_0
  - flask-cors=3.0.8=py_0
  - freetype=2.10.4=he06d7ca_0
  - gcc_impl_linux-64=7.3.0=hd420e75_5
  - gcc_linux-64=7.3.0=h553295d_17
  - gevent=20.9.0=py37h8f50634_1
  - gflags=2.2.2=he1b5a44_1004
  - glog=0.4.0=h49b9bf7_3
  - greenlet=0.4.17=py37h8f50634_1
  - grpc-cpp=1.32.0=h7997a97_1
  - gxx_impl_linux-64=7.3.0=hdf63c60_5
  - gxx_linux-64=7.3.0=h553295d_17
  - hdf4=4.2.13=hf30be14_1003
  - hdf5=1.10.6=nompi_h54c07f9_1110
  - holidays=0.10.3=pyh9f0ad1d_0
  - idna=2.8=py37_0
  - imageio=2.9.0=py_0
  - importlib-metadata=2.0.0=py_1
  - importlib_metadata=2.0.0=1
  - ipykernel=5.3.4=py37hc6149b9_1
  - ipython=5.8.0=py37_1
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.5.1=pyh9f0ad1d_1
  - isodate=0.6.0=py_1
  - itsdangerous=1.1.0=py_0
  - jinja2=2.11.2=pyh9f0ad1d_0
  - jmespath=0.10.0=pyh9f0ad1d_0
  - joblib=0.14.1=pyh9f0ad1d_0
  - jpeg=9d=h516909a_0
  - jsonpickle=1.4.1=pyh9f0ad1d_0
  - jsonschema=3.2.0=py_2
  - jupyter_client=6.1.7=py_0
  - jupyter_core=4.6.3=py37hc8dfbb8_2
  - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0
  - kiwisolver=1.2.0=py37h99015e2_1
  - korean_lunar_calendar=0.2.1=pyh9f0ad1d_0
  - krb5=1.17.1=h2fd8d38_0
  - lcms2=2.11=hbd6801e_0
  - ld_impl_linux-64=2.33.1=h53a641e_7
  - libblas=3.9.0=2_openblas
  - libcblas=3.9.0=2_openblas
  - libcurl=7.71.1=hcdd3856_8
  - libedit=3.1.20181209=hc058e9b_0
  - libev=4.33=h516909a_1
  - libevent=2.1.10=hcdb4288_3
  - libffi=3.3=he6710b0_2
  - libgcc-ng=9.2.0=h24d8f2e_2
  - libgfortran-ng=7.5.0=hae1eefd_17
  - libgfortran4=7.5.0=hae1eefd_17
  - libgomp=9.2.0=h24d8f2e_2
  - liblapack=3.9.0=2_openblas
  - libllvm10=10.0.1=he513fc3_3
  - libnetcdf=4.7.4=nompi_hefab0ff_106
  - libnghttp2=1.41.0=h8cfc5f6_2
  - libopenblas=0.3.12=pthreads_hb3c22a3_1
  - libpng=1.6.37=hed695b0_2
  - libprotobuf=3.13.0.1=h8b12597_0
  - libsodium=1.0.18=h516909a_1
  - libssh2=1.9.0=hab1572f_5
  - libstdcxx-ng=9.1.0=hdf63c60_0
  - libthrift=0.13.0=h5aa387f_6
  - libtiff=4.1.0=hc7e4089_6
  - libutf8proc=2.5.0=h516909a_2
  - libwebp-base=1.1.0=h516909a_3
  - libxgboost=0.90=he1b5a44_4
  - llvmlite=0.34.0=py37h5202443_2
  - lunarcalendar=0.0.9=py_0
  - lz4-c=1.9.2=he1b5a44_3
  - markupsafe=1.1.1=py37hb5d75c8_2
  - matplotlib=3.3.2=0
  - matplotlib-base=3.3.2=py37hc9afd2a_1
  - mistune=0.8.4=py37h8f50634_1002
  - nbclient=0.5.1=py_0
  - nbconvert=6.0.7=py37hc8dfbb8_2
  - nbformat=5.0.8=py_0
  - ncurses=6.2=he6710b0_0
  - nest-asyncio=1.4.1=py_0
  - netcdf4=1.5.4=nompi_py37hcbfd489_103
  - networkx=2.5=py_0
  - notebook=6.1.4=py37hc8dfbb8_1
  - numba=0.51.2=py37h9fdb41a_0
  - numpy=1.18.5=py37h8960a57_0
  - olefile=0.46=pyh9f0ad1d_1
  - openssl=1.1.1h=h516909a_0
  - orc=1.6.5=hd3605a7_0
  - packaging=20.4=pyh9f0ad1d_0
  - pandas=0.25.3=py37hb3f55d8_0
  - pandoc=2.11.0.4=hd18ef5c_0
  - pandocfilters=1.4.2=py_1
  - parquet-cpp=1.5.1=2
  - patsy=0.5.1=py_0
  - pexpect=4.8.0=pyh9f0ad1d_2
  - pickleshare=0.7.5=py_1003
  - pillow=8.0.1=py37h718be6c_0
  - prometheus_client=0.8.0=pyh9f0ad1d_0
  - prompt_toolkit=1.0.15=py_1
  - protobuf=3.13.0.1=py37h3340039_1
  - psutil=5.7.2=py37hb5d75c8_1
  - ptyprocess=0.6.0=py_1001
  - py-xgboost=0.90=py37_4
  - pyarrow=1.0.1=py37h9303983_14_cpu
  - pycosat=0.6.3=py37h7b6447c_0
  - pycparser=2.19=py37_0
  - pygments=2.7.2=py_0
  - pyjwt=1.7.1=py_0
  - pymeeus=0.3.7=pyh9f0ad1d_0
  - pyopenssl=19.1.0=py37_0
  - pyparsing=2.4.7=pyh9f0ad1d_0
  - pyrsistent=0.17.3=py37h8f50634_1
  - pysocks=1.7.1=py37_0
  - pystan=2.19.1.1=py37h9fdb41a_2
  - python=3.7.9=h7579374_0
  - python-dateutil=2.8.1=py_0
  - python_abi=3.7=1_cp37m
  - pytz=2020.1=pyh9f0ad1d_0
  - pywavelets=1.1.1=py37h161383b_3
  - pyyaml=5.1.2=py37h516909a_0
  - pyzmq=19.0.2=py37hac76be4_2
  - re2=2020.10.01=he1b5a44_0
  - readline=8.0=he28a2e2_2
  - requests=2.22.0=py37_1
  - ruamel.yaml=0.16.12=py37h8f50634_1
  - ruamel.yaml.clib=0.2.2=py37h8f50634_1
  - ruamel_yaml=0.15.87=py37h7b6447c_0
  - s3transfer=0.3.3=py_3
  - scikit-image=0.16.2=py37hb3f55d8_0
  - scikit-learn=0.22.1=py37hcdab131_1
  - scipy=1.4.1=py37ha3d9a3c_3
  - send2trash=1.5.0=py_0
  - setuptools=45.2.0=py37_0
  - shap=0.34.0=py37hb3f55d8_1
  - simplegeneric=0.8.1=py_1
  - six=1.14.0=py37_0
  - snappy=1.1.8=he1b5a44_3
  - sqlite=3.33.0=h4cf870e_1
  - statsmodels=0.10.2=py37hc1659b7_0
  - termcolor=1.1.0=py_2
  - terminado=0.9.1=py37hc8dfbb8_1
  - testpath=0.4.4=py_0
  - tk=8.6.10=hed695b0_1
  - toolz=0.11.1=py_0
  - tornado=6.0.4=py37h8f50634_2
  - tqdm=4.42.1=py_0
  - traitlets=5.0.5=py_0
  - urllib3=1.25.8=py37_0
  - wcwidth=0.2.5=pyh9f0ad1d_2
  - webencodings=0.5.1=py_1
  - wheel=0.35.1=pyh9f0ad1d_0
  - widgetsnbextension=3.5.1=py37hc8dfbb8_4
  - xarray=0.16.1=py_0
  - xz=5.2.5=h516909a_1
  - yaml=0.1.7=had09818_2
  - zeromq=4.3.3=he1b5a44_2
  - zipp=3.4.0=py_0
  - zlib=1.2.11=h7b6447c_3
  - zope.event=4.5.0=pyh9f0ad1d_0
  - zope.interface=5.1.2=py37h8f50634_1
  - zstd=1.4.5=h6597ccf_2
  - pip:
    - adal==1.2.5
    - applicationinsights==0.11.9
    - azure-common==1.1.25
    - azure-core==1.8.2
    - azure-graphrbac==0.61.1
    - azure-identity==1.4.1
    - azure-mgmt-authorization==0.61.0
    - azure-mgmt-containerregistry==2.8.0
    - azure-mgmt-keyvault==2.2.0
    - azure-mgmt-resource==10.2.0
    - azure-mgmt-storage==11.2.0
    - azureml-automl-core==1.16.0
    - azureml-automl-runtime==1.16.0
    - azureml-core==1.16.0.post1
    - azureml-dataprep==2.3.4
    - azureml-dataprep-native==23.0.0
    - azureml-dataprep-rslex==1.1.3
    - azureml-dataset-runtime==1.16.0
    - azureml-defaults==1.16.0
    - azureml-interpret==1.16.0
    - azureml-model-management-sdk==1.0.1b6.post1
    - azureml-opendatasets==1.16.0
    - azureml-pipeline==1.16.0
    - azureml-pipeline-core==1.16.0
    - azureml-pipeline-steps==1.16.0
    - azureml-sdk==1.16.0
    - azureml-telemetry==1.16.0
    - azureml-train==1.16.0
    - azureml-train-automl==1.16.0
    - azureml-train-automl-client==1.16.0
    - azureml-train-automl-runtime==1.16.0
    - azureml-train-core==1.16.0
    - azureml-train-restclients-hyperdrive==1.16.0
    - azureml-widgets==1.16.0
    - backports-tempfile==1.0
    - backports-weakref==1.0.post1
    - configparser==3.7.4
    - contextlib2==0.6.0.post1
    - dill==0.3.2
    - distro==1.5.0
    - docker==4.3.1
    - dotnetcore2==2.1.17
    - flask==1.0.3
    - fusepy==3.0.1
    - gensim==3.8.3
    - gunicorn==19.9.0
    - inference-schema==1.1.0
    - interpret-community==0.15.3
    - interpret-core==0.2.1
    - jeepney==0.4.3
    - json-logging-py==0.2
    - keras2onnx==1.6.0
    - liac-arff==2.5.0
    - lightgbm==2.3.0
    - msal==1.5.1
    - msal-extensions==0.2.2
    - msrest==0.6.19
    - msrestazure==0.6.4
    - ndg-httpsclient==0.5.1
    - nimbusml==1.7.1
    - oauthlib==3.1.0
    - onnx==1.7.0
    - onnxconverter-common==1.6.0
    - onnxmltools==1.4.1
    - onnxruntime==1.3.0
    - pathspec==0.8.0
    - pip==20.2.4
    - pmdarima==1.1.1
    - portalocker==1.7.1
    - py-cpuinfo==5.0.0
    - py4j==0.10.9
    - pyasn1==0.4.8
    - pyspark==3.0.1
    - requests-oauthlib==1.3.0
    - secretstorage==3.1.2
    - skl2onnx==1.4.9
    - sklearn-pandas==1.7.0
    - smart-open==1.9.0
    - typing-extensions==3.7.4.3
    - websocket-client==0.57.0
    - werkzeug==0.16.1
    - wrapt==1.11.1
prefix: /opt/conda

Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

AbeOmor commented 3 years ago

@marcindulak Thanks for the feedback. We are adding this fix to our backlog. We are going to investigate ways to align these experiences

marcindulak commented 2 years ago

This is still the case

code -v
1.66.0
e18005f0f1b33c29e81d732535d8c0e47cafb0b5
x64