From fc8625c5c5fdde64f7b5737ac1d521bf3a8db7f8 Mon Sep 17 00:00:00 2001 From: Yinon Polak Date: Thu, 23 Mar 2023 12:13:27 +0200 Subject: [PATCH] add pytorch classes uml diagram --- docs/assets/freqai_pytorch-diagram.png | Bin 0 -> 18611 bytes docs/freqai-configuration.md | 9 ++++++--- 2 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 docs/assets/freqai_pytorch-diagram.png diff --git a/docs/assets/freqai_pytorch-diagram.png b/docs/assets/freqai_pytorch-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..f48ebae2570b76ad7cea67c4084b350db3491894 GIT binary patch literal 18611 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 EA8mju#{d8T literal 0 HcmV?d00001 diff --git a/docs/freqai-configuration.md b/docs/freqai-configuration.md index f1cf37923..ba2976bec 100644 --- a/docs/freqai-configuration.md +++ b/docs/freqai-configuration.md @@ -282,10 +282,13 @@ In addition, the trainer is responsible for the following: #### Integration with Freqai module Like all freqai models, PyTorch models inherit `IFreqaiModel`. `IFreqaiModel` declares three abstract methods: `train`, `fit`, and `predict`. we implement these methods in three levels of hierarchy. From top to bottom: -1. `BasePyTorchModel` - all `BasePyTorch*` inherit it. Implements the `train` method responsible for general data preparation (e.g., data normalization) and calling the `fit` method. Sets `device _type` attribute used by children classes. Sets `model_type` attribute used by the parent class. -2. `BasePyTorch*` - Here, the `*` represents a group of algorithms, such as classifiers or regressors. the `predict` method is responsible for data preprocessing, predicting, and postprocessing if needed. -3. PyTorch*Classifier / PyTorch*Regressor - implements the `fit` method, responsible for the main train flaw, where we initialize the trainer and model objects. +![image](assets/freqai_pytorch-diagram.png) + +1. `BasePyTorchModel` - Implements the `train` method. all `BasePyTorch*` inherit it. responsible for general data preparation (e.g., data normalization) and calling the `fit` method. Sets `device _type` attribute used by children classes. Sets `model_type` attribute used by the parent class. +2. `BasePyTorch*` - Implements the `predict` method. Here, the `*` represents a group of algorithms, such as classifiers or regressors. responsible for data preprocessing, predicting, and postprocessing if needed. + +3. `PyTorch*Classifier` / `PyTorch*Regressor` - implements the `fit` method. responsible for the main train flaw, where we initialize the trainer and model objects. #### Full example Building a PyTorch regressor using MLP (multilayer perceptron) model, MSELoss criterion, and AdamW optimizer.