Commit Graph
377 Commits
Author SHA1 Message Date
Dr. Kashif Rasul dee1478463 stick with one cycle for now 2021-01-03 21:51:27 +01:00
Dr. Kashif Rasul 4a90f84c16 try one cycle lr 2021-01-03 21:36:47 +01:00
Dr. Kashif Rasul a025fa77d7 update schedular after each epoch 2021-01-03 21:21:44 +01:00
Dr. Kashif Rasul 827b496240 added schedular and gradient clipping 2021-01-03 21:11:41 +01:00
Dr. Kashif Rasul 637fa6d2ab typos 2021-01-02 11:02:18 +01:00
Dr. Kashif Rasul eeeb96335a updated tempflow 2021-01-02 10:59:50 +01:00
Dr. Kashif Rasul e79166f444 updated LSTNet 2021-01-02 10:48:45 +01:00
Dr. Kashif Rasul 4fc70dc7b5 updated nbeats 2021-01-01 22:33:40 +01:00
Dr. Kashif Rasul c7e603be3e fix deepvar test 2021-01-01 13:25:46 +01:00
Dr. Kashif Rasul d5577a2c9e fix some tests 2020-12-30 19:17:54 +01:00
Kashif Rasul a9ea61153f removed all transforms 2020-12-29 16:16:31 +01:00
Kashif Rasul 25dcfe9f1a simple feedforward 2020-12-29 16:15:02 +01:00
Kashif Rasul 45126c2046 updated transformer model 2020-12-28 18:44:18 +01:00
Kashif Rasul c32d362c7b fixed deepvar 2020-12-28 13:48:15 +01:00
Kashif Rasul 46c76410dc added back fourier date feature 2020-12-28 12:26:31 +01:00
Kashif Rasul 39d58d688c added back fourier date feature 2020-12-28 12:25:49 +01:00
Dr. Kashif Rasul 1ac4bf70d9 added wandb 2020-12-23 16:15:50 +01:00
Dr. Kashif Rasul 7a3f5d2961 fix api 2020-12-23 12:42:57 +01:00
Dr. Kashif Rasul b9679a8f7e fixed trainer api 2020-12-23 12:20:26 +01:00
Kashif Rasul 883da58f14 updated README 2020-12-23 11:49:55 +01:00
Dr. Kashif Rasul 20bc7d4e04 return iter 2020-12-19 12:09:22 +01:00
Dr. Kashif Rasul bf0a199191 return __iter__ 2020-12-18 13:35:45 +01:00
Dr. Kashif Rasul 98201c223b use class 2020-12-18 13:25:24 +01:00
Dr. Kashif Rasul 2929678305 fix import 2020-12-18 13:06:51 +01:00
Dr. Kashif Rasul 2726bc94ec added back TransformedIterableDataset 2020-12-18 13:02:26 +01:00
Dr. Kashif Rasul b072ab227b initial gluonts dependency 2020-12-17 17:04:56 +01:00
Dr. Kashif Rasul ecc31f6082 upstream fix for transform chain 2020-11-20 09:11:17 +01:00
Kashif Rasul af9d809730 fix pandas dep. warning and version 2020-11-05 14:02:03 +01:00
Edrin BashaandGitHub Enterprise 50683efdc6 Update DeepARPredictionNetwork (#25)
Set default value of num_parallel_samples to 100
2020-10-27 12:37:11 +01:00
Edrin BashaandGitHub Enterprise 2b957e89e3 FourierDateFeatures fix (#24)
FourierDateFeatures fix
2020-10-27 09:43:38 +01:00
Dr. Kashif Rasul 149a35a7f8 Revert "add gate_logits to zero inflated"
This reverts commit 7415a15256.
2020-10-21 16:44:44 +02:00
Dr. Kashif Rasul 7415a15256 add gate_logits to zero inflated 2020-10-19 16:04:43 +02:00
e3b8de5da9 ASF-3099 Implement IQN in pytorch-ts (#21)
* ASF-3099 Bootstrap: write backbones of test, distribution and distribution output

* ASF-3099 First proposition for IQN distribution output
Mostly for backbones, the functions themselves are far from final

* ASF-3099 Add sample() to ImplicitQuantile and its test

* ASF-3099 Test prediction, sampling and convergence logic for IQN

* ASF-3099 IQN module takes the data input and taus in

* ASF-3099 Add torch.no_grad in the sampling

* ASF-3099 Add tests on quantiles (10%, 90%), for both normal and uniform

* ASF-3099 Improve feeting of quantile function:
Increase depth of quantile network, change activation to PReLU

* ASF-3099 Fix distribution attributes and module imports

* ASF-3099 Fix implicit quantile init

* ASF-3099 Add integration test with deepAR

* ASF-3099 Add a transformed distribution

* ASF-3099 Fix init of ImplicitQuantile

* ASF-3099 Make iqn distribution compatible with forecast-length>1

* ASF-3099 Fix device for new tensors

* ASF-3099 Fix device for new tensors: device is not a function...

* ASF-3099 Fix output size of the network

* ASF-3099 Define torch network in the DistributionOutput only
Distribution takes only the predicted quantiles, or the parameters
of the trained model to define a new quantile function

* ASF-3099 Test: create quantile function on compatible device
Attempt: class method might force the module to be created only once,
not necessarily with the right device

* ASF-3099 Second attempt: create quantile function on compatible device

* ASF-3099 Sampling returns a tensor of the correct shape
Shape is (num_sample, batch_size, forecast_length)

* ASF-3099 Handle empty sample shapes

* ASF-3099 Fix tau device at inference time

* ASF-3099 Fix device of the layer

* ASF-3099 Handle empty sample shapes (fix output)

* ASF-3099 Last activation of quantile layer should be removed
That way, embedded quantiles are symetrically distributed around the 0.5
quantile. Otherwise we distort part of their distribution before applying
it to the forecasted quantities

* ASF-3099 (test) Add a bunch of layers

* ASF-3099 [test] reduce the embedding size of tau

* ASF-3099 [test] Use same IQN version as in sales forecaster

* ASF-3099 Put original parameters back

* use @torch.no_grad() decorator

* ASF-3099 [test, to be reverted] Remove - in front of the loss

* ASF-3099 Revert former commit: put - back in the loss

* ASF-3099 [fix] Add log_prob method in piecewise linear

* ASF-3099 [test] ImplicitQuantileModule should be instanciated only once
Current problem: it's instanciated once at training and once at prediction,
as if the model was never trained. Thus it is now defined as a
global variable. However, this can only be a temporary hack: it means that
only one model can be trained during a session.

* ASF-3099 [test] ImplicitQuantileModule should be instanciated only once
Current problem: it's instanciated once at training and once at prediction,
as if the model was never trained.
However here, if the same model is retrained in the same session,
the module is not reset.

* ASF-3099 Add notebooks for experiments

* ASF-3099 [test] Move module to the distribution

* ASF-3099 Class method for args_proj

* ASF-3099 Clean up

* ASF-3099 More clean up

* ASF-3099 Define options for domain of preditected quantiles
Predicted quantiles can be either positive, either real

* ASF-3099 Set quantile_arg_proj in the init of the distribution output
Before it was instanciated once per python session, thus when retraining
the same models, the previously trained module was used, and not a fresh
one

* ASF-3099 Add test on number of instantiation of the quantile_arg_proj

* ASF-3099 Add an example notebook

* ASF-3099 Remove some notebooks

* ASF-3099 Remove diff vs master

Co-authored-by: Kashif Rasul <kashif.rasul@zalando.de>
Co-authored-by: Mateusz Koren <mateusz.koren@zalando.de>
Co-authored-by: Adele Gouttes <agouttes@bm1-lxslurmctl01.corp.ad.zalando.net>
2020-10-01 15:52:04 +02:00
Kashif Rasul 9173b0a8c3 revert changes 2020-09-17 09:33:16 +02:00
Kashif RasulandGitHub Enterprise 4aa176186a initial piecewise linear distribution (#22)
* initial piecewise linear distribution

test is failing though

* typo

* added more tests

* added TransformedPiecewiseLinear and output

* added test_robustness and fixed typos

* more typos

* fix issue with torch.where

* sample without grad

* added license
2020-09-17 09:29:19 +02:00
Kashif Rasul 79ac528398 added m5 forecast 2020-09-03 10:58:41 +02:00
Dr. Kashif Rasul 063f1adac6 fix ordering of feat_static_cat 2020-09-02 15:00:37 +02:00
Dr. Kashif Rasul 262d40026a v0.2.0 2020-09-01 15:01:07 +02:00
Kashif RasulandGitHub Enterprise 248f25238f added generate_m5_dataset (#20)
* added generate_m5_dataset

its slow to make it currently

* add "m5" to repository

* pandas fix
2020-09-01 13:56:07 +02:00
Kashif RasulandGitHub e685cf4b39 Zero Inflated output (#17)
* ZeroInflated output

added ZIP and ZINB outputs

* fix import

* use torch.sigmoid
2020-07-13 13:00:08 +02:00
Kashif Rasul 66c81482b6 update v0.1.1 2020-07-06 15:13:40 +02:00
Kashif RasulandGitHub 746d6d97b5 update link to images 2020-07-06 15:09:17 +02:00
Kashif Rasul 1d341ac515 fix NB test 2020-07-06 13:20:27 +02:00
Kashif Rasul d39c569d47 publish to test-pypi
with user token

updated url

added author

only sdist

make bdist_wheel

fix typo

publish to pypi

moved to 1 workflow

remove test workflow

add to test

github.event_name

run on relase created
2020-07-06 08:35:35 +02:00
Kashif Rasul f0d64126c6 remove initialization 2020-07-04 01:10:22 +02:00
Kashif Rasul ead4609f91 use logits for neg. bin. 2020-07-04 01:08:46 +02:00
Dr. Kashif Rasul ac1e89e2cb formatting 2020-06-18 22:14:30 +02:00
Dr. Kashif Rasul bab3716819 formatting 2020-06-18 22:13:18 +02:00
Ingmar SchusterandKashif Rasul 5a06d3406f First go at IndependentDistributionOutput (#16)
* First go at IndependentDistributionOutput, subclassed by NormalOutput and NegativeBinomialOutput for now

* Multivariate test for new implementation of NormalOutput

* adding scaling parameter to NormalOutput

* IndependentNormalOutput now is an alias of NormalOutput with a DeprecatedWarning. Some more univariate distributions now inherit from IndependentDistributionOutput

* IndependentNormalOutput now is an alias of NormalOutput with a DeprecatedWarning. Some more univariate distributions now inherit from IndependentDistributionOutput
2020-06-18 17:08:44 +02:00
Kashif Rasul 859595d555 fixed test 2020-06-18 12:55:51 +02:00