diff --git a/docs/readthedocs/source/_static/css/chronos_installation_guide.css b/docs/readthedocs/source/_static/css/chronos_installation_guide.css new file mode 100644 index 00000000..8624367b --- /dev/null +++ b/docs/readthedocs/source/_static/css/chronos_installation_guide.css @@ -0,0 +1,33 @@ +/* Border styles */ +#table-1 thead, #table-1 tr, #table-1 td { + border-top-width: 1px; + border-top-style: solid; + border-top-color: rgb(150, 200, 230); + } + #table-1 { + border-bottom-width: 1px; + border-bottom-style: solid; + border-bottom-color: rgb(150, 200, 230); + } + + /* Padding and font style */ + #table-1 td, #table-1 th { + padding: 5px 10px; + font-size: 12px; + font-family: Verdana; + color: rgb(15, 24, 33); + } + + /* Alternating background colors */ + #table-1 tr:nth-child(even) { + background: rgb(150, 200, 230) + } + #table-1 tr:nth-child(odd) { + background: rgb(150, 200, 230) + } + + .displayed { + display: block; + text-align: center; + margin-left: auto; + margin-right: auto } \ No newline at end of file diff --git a/docs/readthedocs/source/_static/js/chronos_installation_guide.js b/docs/readthedocs/source/_static/js/chronos_installation_guide.js new file mode 100644 index 00000000..f55a48b9 --- /dev/null +++ b/docs/readthedocs/source/_static/js/chronos_installation_guide.js @@ -0,0 +1,230 @@ +var ais = ["pytorch", "tensorflow", "prophet", "pmdarima"]; +var releases=["stable", "nightly"] +var oss=["linux", "win"]; +var ways=["pypi", "docker"]; +var hardwares=["singlenode", "cluster"]; +var automls=["automlyes", "automlno"] +var ai="pytorch"; +var os="linux"; +var release="nightly"; +var way="pypi"; +var hardware="singlenode"; +var automl="automlno" + + +function set_color(id){ + $("#"+id).css("background-color","yellow"); +} + +function reset_color(list){ + for (btn in list){ + $("#"+list[btn]).css("background-color","buttonface"); + } +} + +function refresh_cmd(){ + reset_color(ais); + reset_color(oss); + reset_color(releases); + reset_color(ways); + reset_color(hardwares); + reset_color(automls); + set_color(ai); + set_color(os); + set_color(release); + set_color(way); + set_color(hardware); + set_color(automl); + + var cmd = "NA"; + if(ai=="pytorch"){ + if(way=="docker"){ + cmd="Please refer to docker installation guide."; + }else{ + if(os=="win"){ + cmd="Please refer to windows installation guide."; + }else{ + if(way=="pypi"){ + if(hardware=="singlenode"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[pytorch]" + if(release=="stable") + cmd="pip install bigdl-chronos" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[pytorch,automl]" + if(release=="stable") + cmd="pip install bigdl-chronos[all]" + } + } + if(hardware=="cluster"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed]" + if(release=="stable") + cmd="pip install bigdl-chronos[all]" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[pytorch,distributed,automl]" + if(release=="stable") + cmd="pip install bigdl-chronos[all]" + } + } + } + } + } + } + + if(ai=="tensorflow"){ + if(way=="docker"){ + cmd="Please refer to docker installation guide."; + }else{ + if(os=="win"){ + cmd="Please refer to windows installation guide."; + }else{ + if(way=="pypi"){ + cmd="Please refer to tensorflow installation guide." + } + } + } + } + + if(ai=="prophet"){ + if(way=="docker"){ + cmd="Please refer to docker installation guide."; + }else{ + if(os=="win"){ + cmd="Please refer to windows installation guide."; + }else{ + if(way=="pypi"){ + if(hardware=="singlenode"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos; pip install prophet==1.1.0" + if(release=="stable") + cmd="pip install bigdl-chronos; pip install prophet==1.1.0" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install prophet==1.1.0" + } + } + if(hardware=="cluster"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install prophet==1.1.0" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install prophet==1.1.0" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install prophet==1.1.0" + } + } + } + } + } + } + + if(ai=="pmdarima"){ + if(way=="docker"){ + cmd="Please refer to docker installation guide."; + }else{ + if(os=="win"){ + cmd="Please refer to windows installation guide."; + }else{ + if(way=="pypi"){ + if(hardware=="singlenode"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos; pip install pmdarima==1.8.5" + if(release=="stable") + cmd="pip install bigdl-chronos; pip install pmdarima==1.8.5" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install pmdarima==1.8.5" + } + } + if(hardware=="cluster"){ + if(automl=="automlno"){ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install pmdarima==1.8.5" + }else{ + if(release=="nightly") + cmd="pip install --pre --upgrade bigdl-chronos[distributed]; pip install pmdarima==1.8.5" + if(release=="stable") + cmd="pip install bigdl-chronos[all]; pip install pmdarima==1.8.5" + } + } + } + } + } + } + $("#cmd").html(cmd); +} + +function set_ai(id){ + ai=id; + refresh_cmd(); +} + +function set_os(id){ + os=id; + refresh_cmd(); +} + +function set_rel(id){ + release=id; + refresh_cmd(); +} + +function set_way(id){ + way=id; + refresh_cmd(); +} + +function set_hardware(id){ + hardware=id; + refresh_cmd(); +} + +function set_automl(id){ + automl=id; + refresh_cmd(); +} + +$("button").click(function(){ + //alert($(this).attr("id")); + var id = $(this).attr("id"); + if (ais.indexOf(id)>=0){ + set_ai(id); + } + + if (oss.indexOf(id)>=0){ + set_os(id); + } + if (releases.indexOf(id)>=0){ + set_rel(id); + } + + if (ways.indexOf(id)>=0){ + set_way(id); + } + + if (hardwares.indexOf(id)>=0){ + set_hardware(id); + } + + if (automls.indexOf(id)>=0){ + set_automl(id); + } +}); + +refresh_cmd(); \ No newline at end of file diff --git a/docs/readthedocs/source/doc/Chronos/Overview/chronos.md b/docs/readthedocs/source/doc/Chronos/Overview/chronos.md index 224c17d3..e6f7d5e5 100644 --- a/docs/readthedocs/source/doc/Chronos/Overview/chronos.md +++ b/docs/readthedocs/source/doc/Chronos/Overview/chronos.md @@ -14,41 +14,105 @@ You can use _Chronos_ to do: --- ### **2. Install** -Install `bigdl-chronos` from PyPI. We recommend to install with a conda virtual environment. To install Conda, please refer to https://docs.conda.io/en/latest/miniconda.html#. +```eval_rst +.. raw:: html + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AI Framework +
OS
Auto Tuning
Hardware
Release
Build +
Install CMD +
NA
+
+
+ + +``` + +
+ +#### **2.1 Pypi** +When you install `bigdl-chronos` from PyPI. We recommend to install with a conda virtual environment. To install Conda, please refer to [here](https://docs.conda.io/en/latest/miniconda.html#). ```bash conda create -n my_env python=3.7 setuptools=58.0.4 conda activate my_env -pip install bigdl-chronos -``` -You may also install `bigdl-chronos` with target `[all]` to install the additional dependencies for _Chronos_. This will enable distributed tuning with AutoTS. -```bash -# stable version -pip install bigdl-chronos[all] -# nightly built version -pip install --pre --upgrade bigdl-chronos[all] -# set env variables for your conda environment +pip install --pre --upgrade bigdl-chronos[pytorch] # or other options you may want to use source bigdl-nano-init ``` -Some dependencies are optional and not included in `bigdl-chronos[all]`. You may install them when you want to use corresponding functionalities. This includes: +#### **2.2 Tensorflow backend** +Tensorflow is one of the supported backend of Chronos in nightly release version, while it can not work alone without pytorch in Chronos for now. We will fix it soon. If you want to use tensorflow backend, please ```bash -pip install tsfresh==0.17.0 -pip install bigdl-nano[tensorflow] -pip install pmdarima==1.8.2 -pip install prophet==1.0.1 -pip install neural-compressor==1.8.1 -pip install pyarrow==6.0.1 +pip install --pre --upgrade bigdl-nano[tensorflow] ``` +after you install the pytorch backend chronos. + +#### OS and Python version requirement + ```eval_rst .. note:: **Supported OS**: - Chronos is thoroughly tested on Ubuntu (16.04/18.04/20.04). 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, 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. ``` ```eval_rst .. note:: **Supported Python Version**: - Chronos only supports Python 3.7.2 ~ latest 3.7.x. + Chronos only supports Python 3.7.2 ~ latest 3.7.x. We are validating more Python versions. ``` --- ### **3. Run** diff --git a/docs/readthedocs/source/doc/Chronos/Overview/forecasting.md b/docs/readthedocs/source/doc/Chronos/Overview/forecasting.md index 97113d11..ad6d8b9f 100644 --- a/docs/readthedocs/source/doc/Chronos/Overview/forecasting.md +++ b/docs/readthedocs/source/doc/Chronos/Overview/forecasting.md @@ -223,7 +223,7 @@ View High-dimensional Electricity Data Forecasting [example][run_electricity] an **Additional Dependencies**: You need to install `pmdarima` to enable this built-in model. - ``pip install pmdarima==1.8.2`` + ``pip install pmdarima==1.8.5`` ``` ARIMAForecaster wraps a ARIMA model and is suitable for univariate time series forecasting. It works best with data that show evidence of non-stationarity in the sense of mean (and an initial differencing step (corresponding to the "I, integrated" part of the model) can be applied one or more times to eliminate the non-stationarity of the mean function. @@ -238,7 +238,7 @@ View [ARIMAForecaster API Doc](../../PythonAPI/Chronos/forecasters.html#arimafor **Additional Dependencies**: You need to install `prophet` to enable this built-in model. - ``pip install prophet==1.0.1`` + ``pip install prophet==1.1.0`` ``` ```eval_rst