Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improving docs, examples, and tutorials of pytorch-forecasting #1718

Open
julian-fong opened this issue Nov 20, 2024 · 3 comments
Open

Improving docs, examples, and tutorials of pytorch-forecasting #1718

julian-fong opened this issue Nov 20, 2024 · 3 comments

Comments

@julian-fong
Copy link

julian-fong commented Nov 20, 2024

This list is a quick bucket list of items that can be potentially improved from what I've seen in the docs.

As requested by @yarnabrina, we should create simple examples, reducing complexity of the library as much as possible, to encourage users who are not too familiar with pytorch-forecasting or time series machine learning in general to try out the library. I think for example, the 'Example' inside https://pytorch-forecasting.readthedocs.io/en/stable/getting-started.html# is way too complicated, and will deter users from using the library because it is too complex to understand and read through as a first time user.

Thus for now, I'm proposing we

  • refactor the main example inside the getting-started page
  • improve upon the tutorials page that is currently setup in the library.

I think these two items can improved in the following way:

  • Restructure the tutorials page into sections, with increasing 'complexity' of tutorials. That way, new users unexperience with the library will instantly be guided to the intro notebooks, while experience users familiar with the model will be directed to more complex notebooks, specific to their needs.
  1. This first section will be the 'introduction' section, which will contain one extremely basic introductory tutorial with minimal code, featuring all the different modules (TimeSeriesDataset, different Models, Trainers, etc), but with little to no explanations. This basic tutorial is designed to essentially be a minimal walkthrough on how to use the library. The preceding tutorials will explain more in depth about each module. For example, we will have one tutorial explaining TimeSeriesDataset and so on.
  2. The second section will be "Modelling tutorials", where most of the autoregressive models or forecasting model tutorials will be located here. For example, this and this.
  3. The last section will be used for any other miscellaneous and additional tutorials, for example, this
  • For the tutorial in the getting-started page, we can re-use the very first intro notebook that we create to provide an extremely simple tutorial to explain to the user how it works.

I am also proposing that we split the directory that is used to load the data into a new directory inside the root folder named datasets. This folder will be the primarily method to load datasets for tutorials or for modelling purposes. To reduce duplication, we can just import loading methods from the sktime library.

This will allow us to keep the examples directory standalone, and the files inside will be used to code up simple functions and variables that can be used inside tutorials.

@julian-fong
Copy link
Author

@fkiraly FYI

@julian-fong
Copy link
Author

julian-fong commented Nov 20, 2024

also, I need to figure out what Model.from_dataset() does, and why it is necessary for it to be called this way in order to do training. It seems pretty counterintuitive that we need to load the model using a dataset, but it also doesnt seem to serve any purpose as we are passing the dataloaders inside the trainer function..

@madprogramer
Copy link

Hi, I just saw this issue.

I just created PR #1720 on predict_mode/TimeSeriesDataset.from_dataset().

I think that is probably connected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants