This page was generated from notebooks/0H-Fast-slow.ipynb.

Resampling observational noise

First we need some imports.

[11]:
%load_ext autoreload
%autoreload 2
The autoreload extension is already loaded. To reload it, use:
  %reload_ext autoreload
[12]:
import numpy as np
from scipy import stats
import pylab as plt
import torch
import torchist
import swyft

Training data

Now we generate training data. As simple example, we consider the model

\[x = z + \epsilon\]

where the parameter \(z \sim \mathcal{N}(\mu = 0, \sigma = 1)\) is standard normal distributed, and \(\epsilon \sim \mathcal{N}(\mu = 0, \sigma = 0.1)\) is a small noise contribution. We are interested in the posterior of \(z\) given a measurement of parameter \(x\).

[13]:
class Simulator(swyft.Simulator):
    def __init__(self):
        super().__init__()
        self.transform_samples = swyft.to_numpy32

    def build(self, graph):
        z = graph.node('z', lambda: np.random.rand(1))
        x = graph.node('x', lambda z: z + np.random.randn(1)*0.1, z)

sim = Simulator()
[14]:
samples = sim.sample(500)
100%|██████████| 500/500 [00:00<00:00, 30072.30it/s]
[15]:
resampler = sim.get_resampler(targets = ["x"])
[16]:
class Network(swyft.SwyftModule):
    def __init__(self):
        super().__init__()
        self.logratios = swyft.LogRatioEstimator_1dim(num_features = 1, num_params = 1, varnames = 'z')

    def forward(self, A, B):
        logratios = self.logratios(A['x'], B['z'])
        return logratios

Trainer

Training is now done using the SwyftTrainer class, which extends pytorch_lightning.Trainer by methods like infer (see below).

[17]:
trainer = swyft.SwyftTrainer(accelerator = 'gpu', max_epochs = 20, precision = 32)
GPU available: True (cuda), used: True
TPU available: False, using: 0 TPU cores
IPU available: False, using: 0 IPUs
HPU available: False, using: 0 HPUs

The swyft.Samples class provides convenience functions to generate data loaders for training and validation data.

[18]:
dl_train = samples[:-100].get_dataloader(batch_size = 16, shuffle = True, on_after_load_sample = resampler)
dl_valid = samples[-100:].get_dataloader(batch_size = 16)
[19]:
network = Network()
[20]:
trainer.fit(network, dl_train, dl_valid)
LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0]

  | Name      | Type                   | Params
-----------------------------------------------------
0 | logratios | LogRatioEstimator_1dim | 17.4 K
-----------------------------------------------------
17.4 K    Trainable params
0         Non-trainable params
17.4 K    Total params
0.070     Total estimated model params size (MB)
Epoch 0:  78%|███████▊  | 25/32 [00:00<00:00, 107.47it/s, loss=-0.512, v_num=1e+7]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 0:  81%|████████▏ | 26/32 [00:00<00:00, 105.36it/s, loss=-0.512, v_num=1e+7]
Epoch 0:  84%|████████▍ | 27/32 [00:00<00:00, 107.18it/s, loss=-0.512, v_num=1e+7]
Epoch 0:  88%|████████▊ | 28/32 [00:00<00:00, 109.38it/s, loss=-0.512, v_num=1e+7]
Epoch 0:  91%|█████████ | 29/32 [00:00<00:00, 111.50it/s, loss=-0.512, v_num=1e+7]
Epoch 0:  94%|█████████▍| 30/32 [00:00<00:00, 113.54it/s, loss=-0.512, v_num=1e+7]
Epoch 0:  97%|█████████▋| 31/32 [00:00<00:00, 115.61it/s, loss=-0.512, v_num=1e+7]
Epoch 0: 100%|██████████| 32/32 [00:00<00:00, 115.83it/s, loss=-0.512, v_num=1e+7, val_loss=-.0171]
Epoch 1:  78%|███████▊  | 25/32 [00:00<00:00, 108.05it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 1:  81%|████████▏ | 26/32 [00:00<00:00, 105.38it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1:  84%|████████▍ | 27/32 [00:00<00:00, 107.42it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1:  88%|████████▊ | 28/32 [00:00<00:00, 109.59it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1:  91%|█████████ | 29/32 [00:00<00:00, 111.70it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1:  94%|█████████▍| 30/32 [00:00<00:00, 113.83it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1:  97%|█████████▋| 31/32 [00:00<00:00, 115.91it/s, loss=-0.548, v_num=1e+7, val_loss=-.0171]
Epoch 1: 100%|██████████| 32/32 [00:00<00:00, 117.26it/s, loss=-0.548, v_num=1e+7, val_loss=-.297]
Epoch 2:  78%|███████▊  | 25/32 [00:00<00:00, 104.21it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 2:  81%|████████▏ | 26/32 [00:00<00:00, 102.49it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2:  84%|████████▍ | 27/32 [00:00<00:00, 104.50it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2:  88%|████████▊ | 28/32 [00:00<00:00, 106.65it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2:  91%|█████████ | 29/32 [00:00<00:00, 108.80it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2:  94%|█████████▍| 30/32 [00:00<00:00, 110.91it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2:  97%|█████████▋| 31/32 [00:00<00:00, 112.91it/s, loss=-0.526, v_num=1e+7, val_loss=-.297]
Epoch 2: 100%|██████████| 32/32 [00:00<00:00, 114.27it/s, loss=-0.526, v_num=1e+7, val_loss=-.406]
Epoch 3:  78%|███████▊  | 25/32 [00:00<00:00, 103.67it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 3:  81%|████████▏ | 26/32 [00:00<00:00, 99.60it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3:  84%|████████▍ | 27/32 [00:00<00:00, 100.90it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3:  88%|████████▊ | 28/32 [00:00<00:00, 102.24it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3:  91%|█████████ | 29/32 [00:00<00:00, 103.52it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3:  94%|█████████▍| 30/32 [00:00<00:00, 104.89it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3:  97%|█████████▋| 31/32 [00:00<00:00, 106.57it/s, loss=-0.589, v_num=1e+7, val_loss=-.406]
Epoch 3: 100%|██████████| 32/32 [00:00<00:00, 107.55it/s, loss=-0.589, v_num=1e+7, val_loss=-.429]
Epoch 4:  78%|███████▊  | 25/32 [00:00<00:00, 105.47it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 4:  81%|████████▏ | 26/32 [00:00<00:00, 103.36it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4:  84%|████████▍ | 27/32 [00:00<00:00, 105.50it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4:  88%|████████▊ | 28/32 [00:00<00:00, 107.83it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4:  91%|█████████ | 29/32 [00:00<00:00, 110.05it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4:  94%|█████████▍| 30/32 [00:00<00:00, 112.27it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4:  97%|█████████▋| 31/32 [00:00<00:00, 114.38it/s, loss=-0.57, v_num=1e+7, val_loss=-.429]
Epoch 4: 100%|██████████| 32/32 [00:00<00:00, 115.71it/s, loss=-0.57, v_num=1e+7, val_loss=-.472]
Epoch 5:  78%|███████▊  | 25/32 [00:00<00:00, 96.12it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 5:  81%|████████▏ | 26/32 [00:00<00:00, 94.82it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5:  84%|████████▍ | 27/32 [00:00<00:00, 97.07it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5:  88%|████████▊ | 28/32 [00:00<00:00, 99.27it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5:  91%|█████████ | 29/32 [00:00<00:00, 101.49it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5:  94%|█████████▍| 30/32 [00:00<00:00, 103.64it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5:  97%|█████████▋| 31/32 [00:00<00:00, 105.02it/s, loss=-0.548, v_num=1e+7, val_loss=-.472]
Epoch 5: 100%|██████████| 32/32 [00:00<00:00, 106.00it/s, loss=-0.548, v_num=1e+7, val_loss=-.439]
Epoch 6:  78%|███████▊  | 25/32 [00:00<00:00, 102.43it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 6:  81%|████████▏ | 26/32 [00:00<00:00, 100.85it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6:  84%|████████▍ | 27/32 [00:00<00:00, 103.01it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6:  88%|████████▊ | 28/32 [00:00<00:00, 105.15it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6:  91%|█████████ | 29/32 [00:00<00:00, 107.31it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6:  94%|█████████▍| 30/32 [00:00<00:00, 109.44it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6:  97%|█████████▋| 31/32 [00:00<00:00, 111.32it/s, loss=-0.519, v_num=1e+7, val_loss=-.439]
Epoch 6: 100%|██████████| 32/32 [00:00<00:00, 112.56it/s, loss=-0.519, v_num=1e+7, val_loss=-.464]
Epoch 7:  78%|███████▊  | 25/32 [00:00<00:00, 110.71it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 7:  81%|████████▏ | 26/32 [00:00<00:00, 107.88it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7:  84%|████████▍ | 27/32 [00:00<00:00, 109.57it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7:  88%|████████▊ | 28/32 [00:00<00:00, 111.94it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7:  91%|█████████ | 29/32 [00:00<00:00, 114.16it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7:  94%|█████████▍| 30/32 [00:00<00:00, 116.24it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7:  97%|█████████▋| 31/32 [00:00<00:00, 118.47it/s, loss=-0.594, v_num=1e+7, val_loss=-.464]
Epoch 7: 100%|██████████| 32/32 [00:00<00:00, 119.83it/s, loss=-0.594, v_num=1e+7, val_loss=-.482]
Epoch 8:  78%|███████▊  | 25/32 [00:00<00:00, 103.43it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 8:  81%|████████▏ | 26/32 [00:00<00:00, 101.45it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8:  84%|████████▍ | 27/32 [00:00<00:00, 103.62it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8:  88%|████████▊ | 28/32 [00:00<00:00, 105.68it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8:  91%|█████████ | 29/32 [00:00<00:00, 107.77it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8:  94%|█████████▍| 30/32 [00:00<00:00, 109.80it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8:  97%|█████████▋| 31/32 [00:00<00:00, 111.79it/s, loss=-0.574, v_num=1e+7, val_loss=-.482]
Epoch 8: 100%|██████████| 32/32 [00:00<00:00, 113.20it/s, loss=-0.574, v_num=1e+7, val_loss=-.472]
Epoch 9:  78%|███████▊  | 25/32 [00:00<00:00, 106.60it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 9:  81%|████████▏ | 26/32 [00:00<00:00, 103.97it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9:  84%|████████▍ | 27/32 [00:00<00:00, 105.91it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9:  88%|████████▊ | 28/32 [00:00<00:00, 107.90it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9:  91%|█████████ | 29/32 [00:00<00:00, 109.95it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9:  94%|█████████▍| 30/32 [00:00<00:00, 111.88it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9:  97%|█████████▋| 31/32 [00:00<00:00, 113.90it/s, loss=-0.627, v_num=1e+7, val_loss=-.472]
Epoch 9: 100%|██████████| 32/32 [00:00<00:00, 115.23it/s, loss=-0.627, v_num=1e+7, val_loss=-.442]
Epoch 10:  78%|███████▊  | 25/32 [00:00<00:00, 108.47it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 10:  81%|████████▏ | 26/32 [00:00<00:00, 106.54it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10:  84%|████████▍ | 27/32 [00:00<00:00, 108.54it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10:  88%|████████▊ | 28/32 [00:00<00:00, 110.76it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10:  91%|█████████ | 29/32 [00:00<00:00, 112.89it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10:  94%|█████████▍| 30/32 [00:00<00:00, 114.96it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10:  97%|█████████▋| 31/32 [00:00<00:00, 117.00it/s, loss=-0.521, v_num=1e+7, val_loss=-.442]
Epoch 10: 100%|██████████| 32/32 [00:00<00:00, 118.33it/s, loss=-0.521, v_num=1e+7, val_loss=-.481]
Epoch 11:  78%|███████▊  | 25/32 [00:00<00:00, 98.35it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 11:  81%|████████▏ | 26/32 [00:00<00:00, 96.83it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11:  84%|████████▍ | 27/32 [00:00<00:00, 98.83it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11:  88%|████████▊ | 28/32 [00:00<00:00, 100.96it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11:  91%|█████████ | 29/32 [00:00<00:00, 103.06it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11:  94%|█████████▍| 30/32 [00:00<00:00, 105.11it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11:  97%|█████████▋| 31/32 [00:00<00:00, 107.11it/s, loss=-0.668, v_num=1e+7, val_loss=-.481]
Epoch 11: 100%|██████████| 32/32 [00:00<00:00, 108.42it/s, loss=-0.668, v_num=1e+7, val_loss=-.430]
Epoch 12:  78%|███████▊  | 25/32 [00:00<00:00, 103.19it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 12:  81%|████████▏ | 26/32 [00:00<00:00, 101.93it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12:  84%|████████▍ | 27/32 [00:00<00:00, 103.75it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12:  88%|████████▊ | 28/32 [00:00<00:00, 105.24it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12:  91%|█████████ | 29/32 [00:00<00:00, 106.64it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12:  94%|█████████▍| 30/32 [00:00<00:00, 108.15it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12:  97%|█████████▋| 31/32 [00:00<00:00, 109.82it/s, loss=-0.62, v_num=1e+7, val_loss=-.430]
Epoch 12: 100%|██████████| 32/32 [00:00<00:00, 110.63it/s, loss=-0.62, v_num=1e+7, val_loss=-.458]
Epoch 13:  78%|███████▊  | 25/32 [00:00<00:00, 97.83it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 13:  81%|████████▏ | 26/32 [00:00<00:00, 96.89it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13:  84%|████████▍ | 27/32 [00:00<00:00, 99.06it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13:  88%|████████▊ | 28/32 [00:00<00:00, 101.22it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13:  91%|█████████ | 29/32 [00:00<00:00, 103.30it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13:  94%|█████████▍| 30/32 [00:00<00:00, 105.36it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13:  97%|█████████▋| 31/32 [00:00<00:00, 107.44it/s, loss=-0.549, v_num=1e+7, val_loss=-.458]
Epoch 13: 100%|██████████| 32/32 [00:00<00:00, 108.74it/s, loss=-0.549, v_num=1e+7, val_loss=-.449]
Epoch 14:  78%|███████▊  | 25/32 [00:00<00:00, 102.11it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 14:  81%|████████▏ | 26/32 [00:00<00:00, 101.35it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14:  84%|████████▍ | 27/32 [00:00<00:00, 103.55it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14:  88%|████████▊ | 28/32 [00:00<00:00, 105.80it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14:  91%|█████████ | 29/32 [00:00<00:00, 107.96it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14:  94%|█████████▍| 30/32 [00:00<00:00, 110.12it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14:  97%|█████████▋| 31/32 [00:00<00:00, 112.22it/s, loss=-0.559, v_num=1e+7, val_loss=-.449]
Epoch 14: 100%|██████████| 32/32 [00:00<00:00, 113.62it/s, loss=-0.559, v_num=1e+7, val_loss=-.457]
Epoch 15:  78%|███████▊  | 25/32 [00:00<00:00, 109.06it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 15:  81%|████████▏ | 26/32 [00:00<00:00, 106.30it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15:  84%|████████▍ | 27/32 [00:00<00:00, 108.39it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15:  88%|████████▊ | 28/32 [00:00<00:00, 110.42it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15:  91%|█████████ | 29/32 [00:00<00:00, 112.58it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15:  94%|█████████▍| 30/32 [00:00<00:00, 114.68it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15:  97%|█████████▋| 31/32 [00:00<00:00, 116.75it/s, loss=-0.582, v_num=1e+7, val_loss=-.457]
Epoch 15: 100%|██████████| 32/32 [00:00<00:00, 118.11it/s, loss=-0.582, v_num=1e+7, val_loss=-.468]
Epoch 16:  78%|███████▊  | 25/32 [00:00<00:00, 103.44it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 16:  81%|████████▏ | 26/32 [00:00<00:00, 102.24it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16:  84%|████████▍ | 27/32 [00:00<00:00, 104.29it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16:  88%|████████▊ | 28/32 [00:00<00:00, 106.44it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16:  91%|█████████ | 29/32 [00:00<00:00, 108.54it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16:  94%|█████████▍| 30/32 [00:00<00:00, 110.62it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16:  97%|█████████▋| 31/32 [00:00<00:00, 112.65it/s, loss=-0.628, v_num=1e+7, val_loss=-.468]
Epoch 16: 100%|██████████| 32/32 [00:00<00:00, 113.98it/s, loss=-0.628, v_num=1e+7, val_loss=-.444]
Epoch 17:  78%|███████▊  | 25/32 [00:00<00:00, 105.49it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 17:  81%|████████▏ | 26/32 [00:00<00:00, 103.36it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17:  84%|████████▍ | 27/32 [00:00<00:00, 105.30it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17:  88%|████████▊ | 28/32 [00:00<00:00, 107.53it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17:  91%|█████████ | 29/32 [00:00<00:00, 109.69it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17:  94%|█████████▍| 30/32 [00:00<00:00, 111.84it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17:  97%|█████████▋| 31/32 [00:00<00:00, 114.03it/s, loss=-0.557, v_num=1e+7, val_loss=-.444]
Epoch 17: 100%|██████████| 32/32 [00:00<00:00, 115.43it/s, loss=-0.557, v_num=1e+7, val_loss=-.445]
Epoch 18:  78%|███████▊  | 25/32 [00:00<00:00, 103.95it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 18:  81%|████████▏ | 26/32 [00:00<00:00, 103.33it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18:  84%|████████▍ | 27/32 [00:00<00:00, 105.55it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18:  88%|████████▊ | 28/32 [00:00<00:00, 107.84it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18:  91%|█████████ | 29/32 [00:00<00:00, 110.04it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18:  94%|█████████▍| 30/32 [00:00<00:00, 112.24it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18:  97%|█████████▋| 31/32 [00:00<00:00, 114.35it/s, loss=-0.626, v_num=1e+7, val_loss=-.445]
Epoch 18: 100%|██████████| 32/32 [00:00<00:00, 115.72it/s, loss=-0.626, v_num=1e+7, val_loss=-.419]
Epoch 19:  78%|███████▊  | 25/32 [00:00<00:00, 92.49it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Validation: 0it [00:00, ?it/s]
Validation:   0%|          | 0/7 [00:00<?, ?it/s]
Validation DataLoader 0:   0%|          | 0/7 [00:00<?, ?it/s]
Epoch 19:  81%|████████▏ | 26/32 [00:00<00:00, 90.88it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19:  84%|████████▍ | 27/32 [00:00<00:00, 92.83it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19:  88%|████████▊ | 28/32 [00:00<00:00, 94.75it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19:  91%|█████████ | 29/32 [00:00<00:00, 96.71it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19:  94%|█████████▍| 30/32 [00:00<00:00, 98.63it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19:  97%|█████████▋| 31/32 [00:00<00:00, 100.49it/s, loss=-0.66, v_num=1e+7, val_loss=-.419]
Epoch 19: 100%|██████████| 32/32 [00:00<00:00, 101.75it/s, loss=-0.66, v_num=1e+7, val_loss=-.427]
Epoch 19: 100%|██████████| 32/32 [00:00<00:00, 100.90it/s, loss=-0.66, v_num=1e+7, val_loss=-.427]
`Trainer.fit` stopped: `max_epochs=20` reached.
Epoch 19: 100%|██████████| 32/32 [00:00<00:00, 96.48it/s, loss=-0.66, v_num=1e+7, val_loss=-.427]
[ ]:

[ ]:

This page was generated from notebooks/0H-Fast-slow.ipynb.