def main():
    train_dataloader, validation_dataloader = get_dataloaders()
    model = Model()
    logger = NeptuneLogger(project='OpenClimateFix/predict-pv-yield')
    logger.log_hyperparams(params)
    _LOG.info(f'logger.version = {logger.version}')
    trainer = pl.Trainer(gpus=0, max_epochs=1, logger=logger)
    trainer.fit(model, train_dataloader)
def main():
    train_dataloader, validation_dataloader = get_dataloaders(
        n_train_data=10, n_validation_data=10)
    model = Model()
    logger = NeptuneLogger(project='OpenClimateFix/predict-pv-yield')
    logger.log_hyperparams(model_configuration_default)
    _LOG.info(f'logger.version = {logger.version}')
    trainer = pl.Trainer(gpus=1, max_epochs=10, logger=logger)
    trainer.fit(model,
                train_dataloaders=train_dataloader,
                val_dataloaders=validation_dataloader)

    # run validation
    trainer.validate(model, validation_dataloader)
def main():
    train_dataloader, validation_dataloader = get_dataloaders(
        n_train_data=24900,
        n_validation_data=1000,
        data_path="gs://solar-pv-nowcasting-data/prepared_ML_training_data/v4/",
        cloud="gcp",
    )
    model = Model()

    logger = NeptuneLogger(project="OpenClimateFix/predict-pv-yield")
    logger.log_hyperparams(model_configuration_default)
    _LOG.info(f"logger.version = {logger.version}")
    trainer = pl.Trainer(gpus=1, max_epochs=10, logger=logger)
    trainer.fit(model,
                train_dataloaders=train_dataloader,
                val_dataloaders=validation_dataloader)

    # run validation
    trainer.validate(model, validation_dataloader)
def test_train(configuration_conv3d):

    config_file = "tests/configs/model/conv3d_gsp.yaml"
    config = load_config(config_file)

    dataset_configuration = configuration_conv3d

    # start model
    model = Model(**config)

    # create fake data loader
    train_dataset = FakeDataset(configuration=dataset_configuration)
    train_dataloader = torch.utils.data.DataLoader(train_dataset,
                                                   batch_size=None)

    # fit model
    trainer = pl.Trainer(gpus=0, max_epochs=1)
    trainer.fit(model, train_dataloader)

    # predict over training set
    _ = trainer.predict(model, train_dataloader)
Beispiel #5
0
def test_model_forward(configuration_conv3d):

    config_file = "tests/configs/model/conv3d.yaml"
    config = load_config(config_file)

    dataset_configuration = configuration_conv3d

    # start model
    model = Model(**config)

    # create fake data loader
    train_dataset = FakeDataset(configuration=dataset_configuration)
    train_dataloader = torch.utils.data.DataLoader(train_dataset,
                                                   batch_size=None)
    x = next(iter(train_dataloader))

    # run data through model
    y = model(x)

    # check out put is the correct shape
    assert len(y.shape) == 2
    assert y.shape[0] == 2
    assert y.shape[1] == model.forecast_len_5
Beispiel #6
0
from predict_pv_yield.models.conv3d.model import Model

from predict_pv_yield.data.dataloader import get_dataloaders
from pytorch_lightning.utilities.cloud_io import load as pl_load
import torch

weights = './weights/conv3d/last.ckpt'
checkpoint = pl_load(weights, map_location=torch.device('cpu'))

model = Model(conv3d_channels=32,
              fc1_output_features=32,
              fc2_output_features=16,
              fc3_output_features=16,
              include_time=False,
              number_of_conv3d_layers=4)
model.load_from_checkpoint(weights)

train_dataset, validation_dataset = get_dataloaders()
Beispiel #7
0
def test_init():

    config_file = "configs/model/conv3d.yaml"
    config = load_config(config_file)

    _ = Model(**config)
Beispiel #8
0
from predict_pv_yield.data.dataloader import get_dataloaders
from pytorch_lightning.utilities.cloud_io import load as pl_load
import torch
import pandas as pd

from predict_pv_yield.visualisation.line import plot_one_result, plot_batch_results

weights = "./weights/conv3d/epoch_009.ckpt"
checkpoint = pl_load(weights, map_location=torch.device("cpu"))

model = Model(
    conv3d_channels=32,
    fc1_output_features=128,
    fc2_output_features=128,
    fc3_output_features=64,
    include_time=True,
    forecast_len=12,
    history_len=6,
    number_of_conv3d_layers=6,
)
model.load_state_dict(checkpoint["state_dict"])

train_dataset, validation_dataset = get_dataloaders(
    cloud="gcp",
    data_path="gs://solar-pv-nowcasting-data/prepared_ML_training_data/v4/")
validation_dataset = iter(validation_dataset)
x = next(validation_dataset)

y_hat_all = model(x)

# plot one