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

[minor] Speed up dataloader #1360

Merged
merged 6 commits into from
Aug 21, 2023
Merged

[minor] Speed up dataloader #1360

merged 6 commits into from
Aug 21, 2023

Conversation

leoniewgnr
Copy link
Collaborator

@leoniewgnr leoniewgnr commented Jun 27, 2023

🔬 Background

We all know the fit function is super slow. This is due to some bottlenecks that are responsible for most of the slow code.

🔮 Key changes

Speed up the following bottlenecks

Training Dataloader

  • 'init_after_tabularized' in time_dataset.py
  • first for loop 'drop_nan_after_init' in time_dataset.py --> from 2 s to 0.00x s per call

Tune hyperparams and train

  • bottlenecks to be found --> not bottlenecks found as completely in pytorch lightning, use accelerator option to speed up
IDs Dataloader before Dataloader after
8 33 12
16 69 19
32 112 37
64 200 84

@leoniewgnr leoniewgnr self-assigned this Jun 27, 2023
@leoniewgnr leoniewgnr added the status: in development Pull requests which are in development label Jun 27, 2023
@github-actions
Copy link

github-actions bot commented Jun 27, 2023

Model Benchmark

Benchmark Metric main current diff
YosemiteTemps MAE_val 1.34899 1.3442 -0.36%
YosemiteTemps RMSE_val 2.00817 2.00245 -0.28%
YosemiteTemps Loss_val 0.00078 0.00077 -0.58%
YosemiteTemps MAE 1.32133 1.3192 -0.16%
YosemiteTemps RMSE 2.13713 2.13518 -0.09%
YosemiteTemps Loss 0.00064 0.00064 -0.17%
YosemiteTemps time 74.7397 112.07 49.95%
PeytonManning MAE_val 0.58162 0.58159 -0.0%
PeytonManning RMSE_val 0.72218 0.72216 -0.0%
PeytonManning Loss_val 0.01239 0.01239 -0.01%
PeytonManning MAE 0.41671 0.41671 0.0%
PeytonManning RMSE 0.55961 0.55961 0.0%
PeytonManning Loss 0.00612 0.00612 0.0%
PeytonManning time 15.8071 23.14 46.39%
AirPassengers MAE_val 13.0627 13.0626 -0.0%
AirPassengers RMSE_val 15.9453 15.9452 -0.0%
AirPassengers Loss_val 0.00131 0.00131 -0.0%
AirPassengers MAE 9.88153 9.88156 0.0%
AirPassengers RMSE 11.7354 11.7354 0.0%
AirPassengers Loss 0.00052 0.00052 0.0%
AirPassengers time 6.65026 9.74 46.46%
Model training plots

Model Training

PeytonManning

YosemiteTemps

AirPassengers

@codecov
Copy link

codecov bot commented Jun 27, 2023

Codecov Report

Merging #1360 (e15bb53) into main (d236471) will decrease coverage by 0.01%.
The diff coverage is 95.83%.

@@            Coverage Diff             @@
##             main    #1360      +/-   ##
==========================================
- Coverage   89.85%   89.85%   -0.01%     
==========================================
  Files          38       38              
  Lines        5068     5066       -2     
==========================================
- Hits         4554     4552       -2     
  Misses        514      514              
Files Changed Coverage Δ
neuralprophet/time_dataset.py 95.51% <95.83%> (-0.03%) ⬇️

@leoniewgnr leoniewgnr marked this pull request as ready for review August 17, 2023 17:54
@leoniewgnr leoniewgnr added status: needs review PR needs to be reviewed by Reviewer(s) and removed status: in development Pull requests which are in development labels Aug 17, 2023
@leoniewgnr leoniewgnr changed the title [major] Speed up fit function [minor] Speed up dataloader Aug 17, 2023
Copy link
Collaborator

@LeonieFreisinger LeonieFreisinger left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@leoniewgnr leoniewgnr added status: ready PR is ready to be merged and removed status: needs review PR needs to be reviewed by Reviewer(s) labels Aug 20, 2023
@leoniewgnr leoniewgnr merged commit aa26de1 into main Aug 21, 2023
14 checks passed
@leoniewgnr leoniewgnr deleted the speed-up-fit branch August 21, 2023 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: ready PR is ready to be merged
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants