Chronos: Update Windows User Guide (#6385)

* update win user guide (first commit)

* add ipex message

* update

* update

* update prophet

* update inc version and known issue

* fix format

* add inc install issue

* add inc install issue

* update install page

* fix typo

* fix typo

* update description

* make prophet available on windows & add prophet issue in known issue

* update install panel

* update install panel

* fix message

* fix message

* fix message

* fix message

* fix typo

* fix install cmd for stable release

* give each known issue a name
This commit is contained in:
Hu, Zhaojie 2022-11-16 10:43:47 +08:00 committed by GitHub
parent 607db04ad7
commit a5d72a34c8
3 changed files with 238 additions and 71 deletions

View file

@ -77,15 +77,6 @@ function refresh_cmd(){
disable(hardwares);
disable(automls);
cmd="Please refer to <a href=' https://github.com/intel-analytics/BigDL/tree/main/docker/chronos-nightly'>docker installation guide.</a>";
}else if(os=="win"){
disable(functionalities);
disable(models);
disable(ais);
disable(versions);
disable(packages);
disable(hardwares);
disable(automls);
cmd="Please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}else{
enable(functionalities);
enable(models);
@ -103,13 +94,23 @@ function refresh_cmd(){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch]";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="pip install bigdl-chronos[pytorch]";
}
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch,distributed]";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch,distributed]";
}
}
}
}else if(automl=="automlyes"){
@ -117,13 +118,23 @@ function refresh_cmd(){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch,automl]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch,automl]";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="pip install bigdl-chronos[pytorch,automl]";
}
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed,automl]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch,distributed,automl]";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed,automl]";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[pytorch,distributed,automl]";
}
}
}
}
@ -133,13 +144,23 @@ function refresh_cmd(){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
}
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow,distributed]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow,distributed]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
}
}
}
}else if(automl=="automlyes"){
@ -147,44 +168,77 @@ function refresh_cmd(){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow,automl]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
}
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow,distributed,automl]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[tensorflow,distributed,automl]";
}else if(version=="stable"){
cmd="Please refer to <a href=' https://bigdl.readthedocs.io/en/v2.1.0/doc/Chronos/Overview/chronos.html#tensorflow-backend'>tensorflow installation guide.</a>";
}
}
}
}
}
}else if(model=="Prophet"){
if(automl=="automlno"){
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos; pip install prophet==1.1.0";
if(os=="win"){
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
}else if(hardware=="cluster"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
}
else{
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos; pip install prophet==1.1.0";
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
}
}
}
}else if(automl=="automlyes"){
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
}
}else if(hardware=="cluster"){
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install prophet==1.1.0";
}
}
}
}
}
@ -194,35 +248,55 @@ function refresh_cmd(){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos; pip install pmdarima==1.8.5";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="pip install bigdl-chronos; pip install pmdarima==1.8.5";
}
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}
}
}
}else if(automl=="automlyes"){
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
if(hardware=="singlenode"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}
}else if(hardware=="cluster"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}else if(version=="stable"){
cmd="pip install bigdl-chronos[distributed]; pip install pmdarima==1.8.5";
}
}
}
}
}else if(model=="Machine_learning_models"){
if(version=="nightly"){
cmd="pip install --pre --upgrade bigdl-chronos";
}else if(version=="stable"){
cmd="pip install bigdl-chronos";
if(os=="win"){
cmd="Not supported, please refer to <a href='https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html'>windows_guide.</a>";
}
else{
cmd="pip install bigdl-chronos";
}
}
}
}

View file

@ -1,10 +1,91 @@
# Install Chronos on Windows
## Step 1: Install WSL2
There are 2 ways to install Chronos on Windows: install using WSL2 and install on native Windows. With WSL2, all the features of Chronos are available, while on native Windows, there are some limitations now.
## Install using WSL2
### Step 1: Install WSL2
Follow [BigDL Windows User guide](../../UserGuide/win.md) to install WSL2.
## Step 2: Install Chronos
### Step 2: Install Chronos
Follow the [Chronos Installation guide](../Overview/chronos.md#install) to install Chronos.
## Install on native Windows
### Step1: Install conda
We recommend using conda to manage the Chronos python environment, for more information on install conda on Windows, you can refer to [here](https://docs.conda.io/en/latest/miniconda.html#).
When conda is successfully installed, open the Anaconda Powershell Prompt, then you can create a conda environment using the following command:
```
# create a conda environment for chronos
conda create -n my_env python=3.7 setuptools=58.0.4 # you could change my_env to any name you want
```
### Step2: Install Chronos from PyPI
You can simply install Chronos from PyPI using the following command:
```
# activate your conda environment
conda activate my_env
# install Chronos nightly build version (2.1.0 stable release is not supported on native Windows)
pip install --pre --upgrade bigdl-chronos[pytorch]
```
You can use the [install panel](https://bigdl.readthedocs.io/en/latest/doc/Chronos/Overview/install.html#install-using-conda) to select the proper install options based on your need, but there are some limitations now:
- `bigdl-chronos[distributed]` is not supported.
- `intel_extension_for_pytorch (ipex)` is unavailable for Windows now, so the related feature is not supported.
### Known Issues on Native Windows
#### Fail to Install Neural-compressor via pip
**Problem description**
Installing neural-compressor via pip may stuck when installing pycocotools.
**Solution**
Install pycocotools using conda:
`conda install pycocotools -c esri`
Then neural-compressor can be successfully installed using pip, we recommend installing neural-compressor 1.13.1 or higher:
`pip install neural-compressor==1.13.1`
#### RuntimeError during Quantization
**Problem description**
Calling `forecaster.quantize()` without specifying the `metric` parameter (e.g. `forecaster.quantize(train_data)`) will raise runtime error, it may happen when neural-compressor version is lower than `1.13.1`
> [ERROR] Unexpected exception AssertionError('please use start() before end()') happened during tuning.
>
> RuntimeError: Found no quantized model satisfying accuracy criterion.
**Solution**
Upgrade neural-compressor to 1.13.1 or higher.
`pip install neural-compressor==1.13.1`
#### RuntimeError during forecaster.fit
**Problem description**
`ProphetForecaster.fit` and `ProphetModel.fit_eval` may raise runtime error on native Windows.
> RuntimeError: Error during optimization!
>
> [ERROR] Chain [1] error: terminated by signal 3221225657
According to our test, this issue only arises on some test machines or environments, you could check it by running `ProphetForecaster.fit` and `ProphetModel.fit_eval` on your own machines or environments.
There is a similar [issue](https://github.com/facebook/prophet/issues/2227) in prophet repo, we will stay tuned for its progress.

View file

@ -9,7 +9,11 @@
.. note::
**Supported OS**:
Chronos is thoroughly tested on Ubuntu (16.04/18.04/20.04), and should works fine on CentOS. If you are a Windows user, the most convenient way to use Chronos on a windows laptop might be using WSL2, you may refer to https://docs.microsoft.com/en-us/windows/wsl/setup/environment or just install a ubuntu virtual machine.
Chronos is thoroughly tested on Ubuntu (16.04/18.04/20.04), and should works fine on CentOS. If you are a Windows user, there are 2 ways to use Chronos:
1. You could use Chronos on a windows laptop with WSL2 (you may refer to https://docs.microsoft.com/en-us/windows/wsl/setup/environment) or just install a ubuntu virtual machine.
2. You could use Chronos on native Windows, but some features are unavailable in this case, the limitations will be shown below.
```
```eval_rst
.. note::
@ -118,4 +122,12 @@ pip install --pre --upgrade bigdl-chronos[pytorch]
source bigdl-nano-init # accelerate the conda env
```
##### Install Chronos on native Windows
Chronos can be simply installed using pip on native Windows, you could use the same command as Linux to install, but unfortunately, some features are unavailable now:
1. `bigdl-chronos[distributed]` is not supported.
2. `intel_extension_for_pytorch (ipex)` is unavailable for Windows now, so the related feature is not supported.
For some known issues when installing and using Chronos on native Windows, you could refer to [windows_guide](https://bigdl.readthedocs.io/en/latest/doc/Chronos/Howto/windows_guide.html).