intel-analytics / analytics-zoo

Distributed Tensorflow, Keras and PyTorch on Apache Spark/Flink & Ray
https://analytics-zoo.readthedocs.io/
Apache License 2.0
11 stars 3 forks source link

Bigdl2.0 migration plan for ray/automl/orca.automl/chronos #114

Open shanyu-sys opened 2 years ago

shanyu-sys commented 2 years ago

Overall plan

The migration plan for ray/automl is

And the pip install dependency for chronos will be orca only.

Therefore, the overall migration plan could be divided into two steps to reduce error and avoid confliction, the first step is to clean up the code structure for orca.automl and chronos, note that automl will be removed. And the second step is to migrate zoo.ray, zoo.orca.automl and zoo.chronos to BigDL2.0.

(Ordered) task list

Step 1: clean up code structure on zoo master

Automl

Step 1: Code structure in automl

Move to chronos

Internal clean up

Step 2: Move to orca.automl

Chronos

Step 2: Migrate to BigDL 2.0

We will split into small features and migrated to BigDL2.0 separately.

Note that we will not keep git history when migrating to BigDL2.0.

shanyu-sys commented 2 years ago

The code structure for Chronos will be

shanyu-sys commented 2 years ago

The code structure for orca.automl will be

And chronos.autots will depend on orca.automl only.

shane-huang commented 2 years ago

For chronos:

TheaperDeng commented 2 years ago

For chronos:

  • if we deprecate autots/forecast.py and related files, does it mean we remove the old AutoTSTrainer as a whole? Are we confident to let users switch to the new AutoTSEstimator in the next release? @TheaperDeng
  • anomaly detectors does not have wrappers as Forecasters, so we don't have an folder for anomaly now. It is okay to move chronos/model/anomaly to chronos/anomaly. Later we may add change point detection and we can create a new folder.
  • autotsestimator currently only works for forecasters. That's why we put it in package forecast.autotsestimator in the past. It is okay we just move it to the package autots.autotsestimator.

AutoTSEstimator and TSDataset can handle the features provided by AutoTSTrainer either in the same/a better way. The autotuning of MTNet is the only feature left behind and we will support it when it is requested.

AutoTSTrainer will also be deprecated in API doc, user guide and quick start this week.

shanyu-sys commented 2 years ago

For chronos:

  • if we deprecate autots/forecast.py and related files, does it mean we remove the old AutoTSTrainer as a whole? Are we confident to let users switch to the new AutoTSEstimator in the next release? @TheaperDeng
  • anomaly detectors does not have wrappers as Forecasters, so we don't have an folder for anomaly now. It is okay to move chronos/model/anomaly to chronos/anomaly. Later we may add change point detection and we can create a new folder.
  • autotsestimator currently only works for forecasters. That's why we put it in package forecast.autotsestimator in the past. It is okay for me we just move it to the package autots.autotsestimator. Later we may enable autotsesitmator to tune other models besides forecasters.

chronos/model/anomaly has been moved to chronos/anomaly (PR intel-analytics/analytics-zoo#4669)

I will work with junwei to deprecate AutoTSTrainer and move AutoTSEstimator, TSPipepline out of experimental. (Issue intel-analytics/analytics-zoo-internal#109)

shane-huang commented 2 years ago

We can have a few modifications on the first-level folders. The major entrance of chronos will be 5

shanyu-sys commented 2 years ago

Task list for the modified chronos structure.