Skip to content

Instantly share code, notes, and snippets.

View pbruneau's full-sized avatar

Pierrick Bruneau pbruneau

View GitHub Profile
@pbruneau
pbruneau / mixture.py
Created April 10, 2024 06:52
Torch mixture distribution proposal
import torch
import torch.nn as nn
import torch.nn.functional as F
from torch.distributions import Categorical, Distribution
from typing import Optional, List
from gluonts.core.component import validated
from gluonts.torch.distributions import DistributionOutput
class MixtureDistribution(Distribution):
@pbruneau
pbruneau / gluonts_deepar_minimal.py
Last active March 25, 2023 09:16
Minimal GluonTS / DeepAR example
import pandas as pd
import numpy as np
import mxnet as mx
from gluonts.dataset.pandas import PandasDataset
from gluonts.dataset.split import split
from gluonts.mx import DeepAREstimator, Trainer
from gluonts.model.predictor import Predictor
from pathlib import Path
def train_model():
@pbruneau
pbruneau / deepar_torch_minimal_example.py
Created January 26, 2023 07:14
Minimal example using DeepAREstimator
from gluonts.dataset.repository.datasets import get_dataset
from gluonts.transform import ExpectedNumInstanceSampler
from gluonts.torch.model.deepar import DeepAREstimator
import torch
dataset = get_dataset("electricity")
context_length = 2 * 7 * 24
prediction_length = dataset.metadata.prediction_length
model = DeepAREstimator(
@pbruneau
pbruneau / deepar_torch_minimal_example.py
Created January 11, 2023 07:49
Minimal example using the Torch DeepAR implementation
from gluonts.dataset.repository.datasets import get_dataset
from gluonts.torch.model.deepar import DeepARModel, DeepARLightningModule
from gluonts.transform import (
AddObservedValuesIndicator,
InstanceSplitter,
ExpectedNumInstanceSampler,
)
from gluonts.dataset.field_names import FieldName
from gluonts.dataset.loader import TrainDataLoader
from gluonts.itertools import Cached
@pbruneau
pbruneau / cudf_multiindex_updated.py
Last active November 2, 2021 13:49
cudf with pandas MultiIndex
from datetime import datetime
import pandas as pd
import cudf
import numpy as np
start = pd.Timestamp(datetime.strptime('2021-03-12 00:00+0000', '%Y-%m-%d %H:%M%z'))
end = pd.Timestamp(datetime.strptime('2021-03-12 11:00+0000', '%Y-%m-%d %H:%M%z'))
timestamps = pd.date_range(start, end, freq='1H')
value = np.random.normal(size=12)
df = pd.DataFrame(value, index=timestamps, columns=['value'])
@pbruneau
pbruneau / code_predictor_fixed.py
Created September 23, 2021 10:34
Fixing Estimator.create_predictor error
from gluonts.dataset.repository.datasets import get_dataset
from gluonts.model.simple_feedforward import SimpleFeedForwardEstimator
from gluonts.model.deepar import DeepAREstimator
from gluonts.mx.distribution.gaussian import GaussianOutput
from gluonts.mx import Trainer
from gluonts.mx.trainer.callback import TrainingHistory
from gluonts.evaluation import Evaluator
from gluonts.dataset.common import Dataset
from gluonts.mx import copy_parameters
from gluonts.model.predictor import Predictor
@pbruneau
pbruneau / create_predictor_error.py
Created September 22, 2021 14:34
Code triggering Estimator.create_predictor error
from gluonts.dataset.repository.datasets import get_dataset
from gluonts.model.simple_feedforward import SimpleFeedForwardEstimator
from gluonts.model.deepar import DeepAREstimator
from gluonts.mx.distribution.gaussian import GaussianOutput
from gluonts.mx import Trainer
from gluonts.mx.trainer.callback import TrainingHistory
from gluonts.evaluation import Evaluator
from gluonts.dataset.common import Dataset
from gluonts.mx import copy_parameters
from gluonts.model.predictor import Predictor
@pbruneau
pbruneau / keras_pipeline_trial_withlabels.py
Created September 8, 2021 15:55
Trial of a DALIDataset with external input for Keras
import glob
import numpy as np
import cupy as cp
import imageio
from random import shuffle
from nvidia.dali import Pipeline
import nvidia.dali.fn as fn
import nvidia.dali.plugin.tf as dali_tf
import tensorflow as tf
@pbruneau
pbruneau / keras_pipeline_trial_fixed.py
Created September 8, 2021 12:48
Trial of a DALIDataset with external input for Keras
import glob
import numpy as np
import cupy as cp
import imageio
from random import shuffle
from nvidia.dali import Pipeline
import nvidia.dali.fn as fn
import nvidia.dali.plugin.tf as dali_tf
import tensorflow as tf
@pbruneau
pbruneau / keras_pipeline_trial.py
Created September 8, 2021 08:21
Trial of a DALIDataset with external input for Keras
import glob
import numpy as np
import cupy as cp
import imageio
from random import shuffle
from nvidia.dali import Pipeline
import nvidia.dali.fn as fn
import nvidia.dali.plugin.tf as dali_tf
import tensorflow as tf