DEL: Remove `environment_win.yml` (#836)

Closes #822.

Removes the outdated and difficult-to-maintain locked windows
environment and updates documentation accordingly.
This commit is contained in:
Peter Hessey 2022-11-17 12:24:34 +00:00 коммит произвёл GitHub
Родитель 9083966673
Коммит 8f9d823101
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
4 изменённых файлов: 24 добавлений и 334 удалений

Просмотреть файл

@ -67,7 +67,7 @@ jobs:
with:
activate-environment: InnerEye
auto-activate-base: false
environment-file: environment_win.yml
environment-file: primary_deps.yml
python-version: 3.8.3
if: always()

Просмотреть файл

@ -34,9 +34,9 @@ To view and edit the InnerEye code, we recommended using the [VSCode](https://co
In order to create the Conda environment you will need to have the appropriate build tools installed on your machine. To do this, run the commands relevant to your operating system from the subsections below.
#### MacOS / Windows Users
#### Windows / MacOS Users
If you are running Windows or MacOS, they will automatically be installed with your Conda distribution and you can safely skip this step.
If you are running Windows or MacOS, build tools will automatically be installed with your Conda distribution and you can safely skip this step.
#### Ubuntu / Debian
@ -59,40 +59,28 @@ Check if you already have Conda installed by running `conda --version` in your s
## Create a Conda Environment
There are three important files in this repo for creating Conda environments:
There are two important files in this repo for creating Conda environments:
- **`primary_deps.yml`** - This file contains the list of primary package dependencies, and can be used to create an environment on any OS.
- **`environment.yml`** - **DO NOT EDIT THIS FILE MANUALLY**. This file is a *lockfile* - it contains a locked list of primary and secondary dependencies that is used to create the environments for AzureML jobs and local Ubuntu environments. As such it contains Ubuntu-specific platform dependencies and cannot be used to create environments on other operating systems.
- **`environment_win.yml`** - This is another lockfile, containing a Windows-dependent list of primary and secondary dependencies. This file can be used to create a Conda environment on windows machines.
- **`environment.yml`** - **DO NOT EDIT THIS FILE MANUALLY**. This file is a *lockfile* - it contains a locked list of primary and secondary dependencies that are used to create the environments for AzureML jobs and local Ubuntu environments. It contains Ubuntu-specific platform dependencies and cannot be used to create environments on other operating systems.
### Create environment from lockfile (Ubuntu / Windows)
### Create environment from lockfile (Ubuntu / WSL only)
To create an environment from one of the lockfiles, run the following command, selecting the one appropriate to your operating system:
To create an environment from the lockfile, run the following command:
- Ubuntu 20.04 Users:
```shell
conda env create --file environment.yml
conda activate InnerEye
```
```shell
conda env create --file environment.yml
conda activate InnerEye
```
- Windows Users:
```shell
conda env create --file environment_win.yml
conda activate InnerEye
```
### Create non-locked environment (MacOS / all other operating systems)
### Create non-locked environment (Windows / MacOS / all other operating systems)
For all other operating systems, no locked environment is provided. Instead, a new Conda environment can be created from the primary dependencies using the following commands:
```shell
conda env create --file primary_deps.yml
conda activate InnerEye
```
```shell
conda env create --file primary_deps.yml
conda activate InnerEye
```
*Reproducibility between local and AzureML runs is NOT guaranteed for environments created using this method. For maximum reproducibility please consider using Ubuntu 20.04 as per [our operating system instructions](#operating-system).*
@ -107,9 +95,9 @@ If you want to change versions of packages used in the AzureML environment, *thi
1. Make your desired changes in `primary_deps.yml`. Make sure your package names and versions are correct.
2. To create a new environment and a valid `environment.yml`, run the following command:
```shell
bash -i create_and_lock_environment.sh
```
```shell
bash -i create_and_lock_environment.sh
```
This script will create/update your local Conda environment with your desired primary package versions, as well as a new `environment.yml` which can be ingested by AzureML to create a copy of your local environment.
@ -118,20 +106,14 @@ This script will create/update your local Conda environment with your desired pr
1. Make your desired changes in `primary_deps.yml`. Make sure your package names and versions are correct.
2. If you have already created the environment previously, run:
```shell
conda env update --file primary_deps.yml --prune
```
```shell
conda env update --file primary_deps.yml --prune
```
3. Otherwise, run:
```shell
conda env create --file primary_deps.yml
```
4. (Windows Users - Optional) Create a new lockfile by activating your new environment (`conda env activate InnerEye`) and running:
```shell
conda env export > environment_win.yml
conda env create --file primary_deps.yml
```
## Using GPU locally

Просмотреть файл

@ -80,10 +80,7 @@ use (for example, `lightning_bolts==0.4.0`). The Conda environment files are als
change to a version of a third party library will need to be carried out via the same change management process as a code
change, with Pull Request, review, and all tests passing.
The list of third party software is maintained in GitHub in the Conda configuration file, that is `environment.yml` for
Linux environments and `environment_win.yml` for Windows environments. For example, [this is the latest version of the
environment file for the InnerEye-DeepLearning
repository](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/environment.yml).
The list of third party software is maintained in GitHub in the Conda configuration file, that is `environment.yml` for Linux / AzureML environments and `primary_deps.yml` for all other environments. For example, [this is the latest version of the environment file for the InnerEye-DeepLearning repository](https://github.com/microsoft/InnerEye-DeepLearning/blob/main/environment.yml).
## Defect Handling

Просмотреть файл

@ -1,289 +0,0 @@
name: InnerEye
channels:
- pytorch
- defaults
dependencies:
- blas=1.0=mkl
- blosc=1.21.0=h19a0ad4_1
- ca-certificates=2022.4.26=haa95532_0
- certifi=2022.6.15=py38haa95532_0
- cudatoolkit=11.3.1=h59b6b97_2
- freetype=2.10.4=hd328e21_0
- intel-openmp=2021.4.0=haa95532_3556
- jpeg=9e=h2bbff1b_0
- libpng=1.6.37=h2a8f88b_0
- libtiff=4.2.0=he0120a3_1
- libuv=1.40.0=he774522_0
- libwebp=1.2.2=h2bbff1b_0
- lz4-c=1.9.3=h2bbff1b_1
- mkl=2021.4.0=haa95532_640
- mkl-service=2.4.0=py38h2bbff1b_0
- mkl_fft=1.3.1=py38h277e83a_0
- mkl_random=1.2.2=py38hf11a4ad_0
- openssl=1.1.1p=h2bbff1b_0
- pip=20.1.1=py38_1
- python=3.8.3=he1778fa_2
- python-blosc=1.7.0=py38he774522_0
- pytorch=1.10.0=py3.8_cuda11.3_cudnn8_0
- pytorch-mutex=1.0=cuda
- setuptools=61.2.0=py38haa95532_0
- sqlite=3.38.3=h2bbff1b_0
- tk=8.6.12=h2bbff1b_0
- torchvision=0.11.1=py38_cu113
- typing_extensions=4.1.1=pyh06a4308_0
- vc=14.2=h21ff451_1
- vs2015_runtime=14.27.29016=h5e58377_2
- wheel=0.37.1=pyhd3eb1b0_0
- wincertstore=0.2=py38haa95532_2
- xz=5.2.5=h8cc25b3_1
- zlib=1.2.12=h8cc25b3_2
- zstd=1.5.2=h19a0ad4_0
- pip:
- absl-py==1.1.0
- adal==1.2.7
- aiohttp==3.8.1
- aiosignal==1.2.0
- alembic==1.8.0
- ansiwrap==0.8.4
- applicationinsights==0.11.10
- argon2-cffi==21.3.0
- argon2-cffi-bindings==21.2.0
- async-timeout==4.0.2
- atomicwrites==1.4.0
- attrs==21.4.0
- azure-common==1.1.28
- azure-core==1.24.1
- azure-graphrbac==0.61.1
- azure-identity==1.7.0
- azure-mgmt-authorization==0.61.0
- azure-mgmt-containerregistry==10.0.0
- azure-mgmt-core==1.3.1
- azure-mgmt-datafactory==1.1.0
- azure-mgmt-keyvault==9.3.0
- azure-mgmt-resource==12.1.0
- azure-mgmt-storage==11.2.0
- azure-storage-blob==12.6.0
- azureml-automl-core==1.36.1
- azureml-core==1.36.0.post2
- azureml-dataprep==2.24.4
- azureml-dataprep-native==38.0.0
- azureml-dataprep-rslex==2.0.3
- azureml-dataset-runtime==1.36.0
- azureml-mlflow==1.36.0
- azureml-pipeline==1.36.0
- azureml-pipeline-core==1.36.0
- azureml-pipeline-steps==1.36.0
- azureml-sdk==1.36.0
- azureml-telemetry==1.36.0
- azureml-tensorboard==1.36.0
- azureml-train-automl-client==1.36.0
- azureml-train-core==1.36.0
- azureml-train-restclients-hyperdrive==1.36.0
- backcall==0.2.0
- backports-tempfile==1.0
- backports-weakref==1.0.post1
- beautifulsoup4==4.11.1
- black==22.3.0
- bleach==5.0.0
- cachetools==4.2.4
- cffi==1.15.0
- charset-normalizer==2.0.12
- click==8.1.3
- cloudpickle==1.6.0
- colorama==0.4.5
- commonmark==0.9.1
- conda-merge==0.1.5
- contextlib2==21.6.0
- coverage==6.4.1
- cryptography==3.3.2
- cycler==0.11.0
- databricks-cli==0.17.0
- dataclasses-json==0.5.2
- debugpy==1.6.0
- decorator==5.1.1
- defusedxml==0.7.1
- deprecated==1.2.13
- distro==1.7.0
- docker==4.3.1
- dotnetcore2==2.1.23
- entrypoints==0.4
- execnet==1.9.0
- fastjsonschema==2.15.3
- fastmri==0.2.0
- flake8==3.8.3
- flask==2.1.2
- frozenlist==1.3.0
- fsspec==2022.5.0
- fusepy==3.0.1
- future==0.18.2
- gitdb==4.0.9
- gitpython==3.1.7
- google-auth==1.35.0
- google-auth-oauthlib==0.4.6
- gputil==1.4.0
- greenlet==1.1.2
- grpcio==1.46.3
- h5py==2.10.0
- hi-ml==0.2.3
- hi-ml-azure==0.2.2
- humanize==4.2.0
- idna==3.3
- imageio==2.15.0
- importlib-metadata==4.11.4
- importlib-resources==5.8.0
- iniconfig==1.1.1
- innereye-dicom-rt==1.0.3
- ipykernel==6.15.0
- ipython==7.31.1
- ipython-genutils==0.2.0
- ipywidgets==7.7.0
- isodate==0.6.1
- itsdangerous==2.1.2
- jedi==0.18.1
- jeepney==0.8.0
- jinja2==3.0.2
- jmespath==0.10.0
- joblib==0.16.0
- jsonpickle==2.2.0
- jsonschema==4.6.0
- jupyter==1.0.0
- jupyter-client==6.1.5
- jupyter-console==6.4.3
- jupyter-core==4.10.0
- jupyterlab-pygments==0.2.2
- jupyterlab-widgets==1.1.0
- kiwisolver==1.4.3
- lightning-bolts==0.4.0
- llvmlite==0.34.0
- mako==1.2.0
- markdown==3.3.7
- markupsafe==2.1.1
- marshmallow==3.16.0
- marshmallow-enum==1.5.1
- matplotlib==3.3.0
- matplotlib-inline==0.1.3
- mccabe==0.6.1
- mistune==0.8.4
- mlflow==1.23.1
- mlflow-skinny==1.26.1
- monai==0.6.0
- more-itertools==8.13.0
- msal==1.18.0
- msal-extensions==0.3.1
- msrest==0.7.1
- msrestazure==0.6.4
- multidict==6.0.2
- mypy==0.910
- mypy-extensions==0.4.3
- nbclient==0.6.4
- nbconvert==6.5.0
- nbformat==5.4.0
- ndg-httpsclient==0.5.1
- nest-asyncio==1.5.5
- networkx==2.8.4
- nibabel==4.0.1
- notebook==6.4.12
- numba==0.51.2
- numpy==1.19.1
- oauthlib==3.2.0
- opencv-python-headless==4.5.1.48
- packaging==21.3
- pandas==1.1.0
- pandocfilters==1.5.0
- papermill==2.2.2
- param==1.9.3
- parso==0.8.3
- pathspec==0.9.0
- pickleshare==0.7.5
- pillow==9.0.0
- platformdirs==2.5.2
- pluggy==0.13.1
- portalocker==2.4.0
- prometheus-client==0.14.1
- prometheus-flask-exporter==0.20.2
- prompt-toolkit==3.0.29
- protobuf==3.20.1
- psutil==5.7.2
- py==1.11.0
- pyarrow==3.0.0
- pyasn1==0.4.8
- pyasn1-modules==0.2.8
- pycodestyle==2.6.0
- pycparser==2.21
- pydeprecate==0.3.1
- pydicom==2.0.0
- pyflakes==2.2.0
- pygments==2.12.0
- pyjwt==2.4.0
- pynndescent==0.5.7
- pyopenssl==20.0.1
- pyparsing==3.0.9
- pyrsistent==0.18.1
- pysocks==1.7.1
- pytest==6.0.1
- pytest-cov==2.10.1
- pytest-forked==1.3.0
- pytest-xdist==1.34.0
- python-dateutil==2.8.2
- pytorch-lightning==1.6.4
- pytz==2022.1
- pywavelets==1.3.0
- pywin32==227
- pywinpty==2.0.5
- pyyaml==6.0
- pyzmq==23.2.0
- qtconsole==5.3.1
- qtpy==2.1.0
- querystring-parser==1.2.4
- requests==2.28.0
- requests-oauthlib==1.3.1
- rich==10.13.0
- rpdb==0.1.6
- rsa==4.8
- ruamel-yaml==0.16.12
- ruamel-yaml-clib==0.2.6
- runstats==1.8.0
- scikit-image==0.17.2
- scikit-learn==0.23.2
- scipy==1.5.2
- seaborn==0.10.1
- secretstorage==3.3.2
- send2trash==1.8.0
- simpleitk==1.2.4
- six==1.15.0
- smmap==5.0.0
- soupsieve==2.3.2.post1
- sqlalchemy==1.4.37
- sqlparse==0.4.2
- stopit==1.1.2
- stringcase==1.2.0
- tabulate==0.8.7
- tenacity==8.0.1
- tensorboard==2.3.0
- tensorboard-plugin-wit==1.8.1
- tensorboardx==2.1
- terminado==0.15.0
- textwrap3==0.9.2
- threadpoolctl==3.1.0
- tifffile==2022.5.4
- tinycss2==1.1.1
- toml==0.10.2
- tomli==2.0.1
- torchio==0.18.74
- torchmetrics==0.6.0
- tornado==6.1
- tqdm==4.64.0
- traitlets==5.3.0
- typing-inspect==0.7.1
- umap-learn==0.5.2
- urllib3==1.26.7
- waitress==2.1.2
- wcwidth==0.2.5
- webencodings==0.5.1
- websocket-client==1.3.3
- werkzeug==2.1.2
- widgetsnbextension==3.6.0
- wrapt==1.14.1
- yacs==0.1.8
- yarl==1.7.2
- zipp==3.8.0