Note
Click here to download the full example code
Deep Variational CCA and Deep Canonically Correlated AutoencodersΒΆ
This example demonstrates multiview models which can reconstruct their inputs
import matplotlib.pyplot as plt
import numpy as np
import pytorch_lightning as pl
from torch.utils.data import Subset
from cca_zoo.data import Noisy_MNIST_Dataset
from cca_zoo.deepmodels import (
CCALightning,
get_dataloaders,
architectures,
DCCAE,
DVCCA,
)
def plot_reconstruction(model, dataset, idx):
(x, y), _ = dataset[idx]
recon_x, recon_y = model.recon(x, y)
if isinstance(recon_x, list):
recon_x = recon_x[0]
recon_y = recon_y[0]
recon_x = recon_x.detach().numpy()
recon_y = recon_y.detach().numpy()
fig, ax = plt.subplots(ncols=4)
ax[0].set_title("Original View 1")
ax[1].set_title("Original View 2")
ax[2].set_title("Reconstruction View 1")
ax[3].set_title("Reconstruction View 2")
ax[0].imshow(x.detach().numpy().reshape((28, 28)))
ax[1].imshow(y.detach().numpy().reshape((28, 28)))
ax[2].imshow(recon_x.reshape((28, 28)))
ax[3].imshow(recon_y.reshape((28, 28)))
n_train = 500
n_val = 100
train_dataset = Noisy_MNIST_Dataset(mnist_type="MNIST", train=True, flatten=True)
val_dataset = Subset(train_dataset, np.arange(n_train, n_train + n_val))
train_dataset = Subset(train_dataset, np.arange(n_train))
train_loader, val_loader = get_dataloaders(train_dataset, val_dataset)
# The number of latent dimensions across models
latent_dims = 2
# number of epochs for deep models
epochs = 50
encoder_1 = architectures.Encoder(
latent_dims=latent_dims, feature_size=784, variational=True
)
encoder_2 = architectures.Encoder(
latent_dims=latent_dims, feature_size=784, variational=True
)
decoder_1 = architectures.Decoder(
latent_dims=latent_dims, feature_size=784, norm_output=True
)
decoder_2 = architectures.Decoder(
latent_dims=latent_dims, feature_size=784, norm_output=True
)
Deep VCCA
dcca = DVCCA(
latent_dims=latent_dims,
encoders=[encoder_1, encoder_2],
decoders=[decoder_1, decoder_2],
)
dcca = CCALightning(dcca)
trainer = pl.Trainer(max_epochs=epochs, enable_checkpointing=False)
trainer.fit(dcca, train_loader, val_loader)
plot_reconstruction(dcca.model, train_dataset, 0)
plt.suptitle("DVCCA")
plt.show()
Out:
Validation sanity check: 0it [00:00, ?it/s]
Validation sanity check: 0%| | 0/1 [00:00<?, ?it/s]/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/v1.10.4/lib/python3.7/site-packages/torch/nn/functional.py:1806: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.
warnings.warn("nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.")
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/v1.10.4/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py:408: UserWarning: The number of training samples (1) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
f"The number of training samples ({self.num_training_batches}) is smaller than the logging interval"
Training: 0it [00:00, ?it/s]
Training: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.29it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.28it/s, loss=1.81, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 0: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.81, v_num=8]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s, loss=1.81, v_num=8]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=1.81, v_num=8]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.81, v_num=8]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.81, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 1: 100%|##########| 2/2 [00:00<00:00, 3.39it/s, loss=1.81, v_num=8]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=1.81, v_num=8]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=1.81, v_num=8]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.81, v_num=8]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.8, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 2: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.8, v_num=8]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=1.8, v_num=8]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=1.8, v_num=8]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.8, v_num=8]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.79, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 3: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.79, v_num=8]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=1.79, v_num=8]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=1.79, v_num=8]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.79, v_num=8]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.78, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 4: 100%|##########| 2/2 [00:00<00:00, 3.41it/s, loss=1.78, v_num=8]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=1.78, v_num=8]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=1.78, v_num=8]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=1.78, v_num=8]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=1.77, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 5: 100%|##########| 2/2 [00:00<00:00, 3.40it/s, loss=1.77, v_num=8]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=1.77, v_num=8]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=1.77, v_num=8]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=1.77, v_num=8]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=1.76, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 6: 100%|##########| 2/2 [00:00<00:00, 3.40it/s, loss=1.76, v_num=8]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=1.76, v_num=8]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=1.76, v_num=8]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.76, v_num=8]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.76, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 7: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.76, v_num=8]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=1.76, v_num=8]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=1.76, v_num=8]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.76, v_num=8]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.75, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 8: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.75, v_num=8]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=1.75, v_num=8]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=1.75, v_num=8]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.75, v_num=8]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.74, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 9: 100%|##########| 2/2 [00:00<00:00, 3.41it/s, loss=1.74, v_num=8]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=1.74, v_num=8]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=1.74, v_num=8]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.74, v_num=8]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.73, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 10: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.73, v_num=8]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=1.73, v_num=8]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=1.73, v_num=8]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.73, v_num=8]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.73, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 11: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.73, v_num=8]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=1.73, v_num=8]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=1.73, v_num=8]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.73, v_num=8]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.72, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 12: 100%|##########| 2/2 [00:00<00:00, 3.42it/s, loss=1.72, v_num=8]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=1.72, v_num=8]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=1.72, v_num=8]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.72, v_num=8]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.71, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 13: 100%|##########| 2/2 [00:00<00:00, 3.42it/s, loss=1.71, v_num=8]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=1.71, v_num=8]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=1.71, v_num=8]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.71, v_num=8]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.71, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 14: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.71, v_num=8]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=1.71, v_num=8]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=1.71, v_num=8]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.71, v_num=8]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.7, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 15: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.7, v_num=8]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=1.7, v_num=8]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=1.7, v_num=8]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 1.90it/s, loss=1.7, v_num=8]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 1.90it/s, loss=1.69, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 16: 100%|##########| 2/2 [00:00<00:00, 2.90it/s, loss=1.69, v_num=8]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=1.69, v_num=8]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=1.69, v_num=8]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.69, v_num=8]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.69, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 17: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.69, v_num=8]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=1.69, v_num=8]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=1.69, v_num=8]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.69, v_num=8]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.68, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 18: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=1.68, v_num=8]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=1.68, v_num=8]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=1.68, v_num=8]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.68, v_num=8]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.67, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 19: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.67, v_num=8]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=1.67, v_num=8]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=1.67, v_num=8]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.67, v_num=8]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.66, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 20: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.66, v_num=8]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=1.66, v_num=8]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=1.66, v_num=8]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.66, v_num=8]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.65, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 21: 100%|##########| 2/2 [00:00<00:00, 3.42it/s, loss=1.65, v_num=8]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=1.65, v_num=8]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=1.65, v_num=8]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.65, v_num=8]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.64, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 22: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.64, v_num=8]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=1.64, v_num=8]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=1.64, v_num=8]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.64, v_num=8]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.63, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 23: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.63, v_num=8]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=1.63, v_num=8]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=1.63, v_num=8]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.63, v_num=8]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.61, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 24: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.61, v_num=8]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=1.61, v_num=8]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=1.61, v_num=8]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.61, v_num=8]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.6, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 25: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.6, v_num=8]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=1.6, v_num=8]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=1.6, v_num=8]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.6, v_num=8]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.59, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 26: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.59, v_num=8]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=1.59, v_num=8]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=1.59, v_num=8]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.59, v_num=8]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.58, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 27: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.58, v_num=8]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=1.58, v_num=8]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=1.58, v_num=8]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.58, v_num=8]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.57, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 28: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.57, v_num=8]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=1.57, v_num=8]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=1.57, v_num=8]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.57, v_num=8]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.57, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 29: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.57, v_num=8]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=1.57, v_num=8]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=1.57, v_num=8]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.57, v_num=8]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.56, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 30: 100%|##########| 2/2 [00:00<00:00, 3.43it/s, loss=1.56, v_num=8]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=1.56, v_num=8]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=1.56, v_num=8]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.56, v_num=8]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.55, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 31: 100%|##########| 2/2 [00:00<00:00, 3.42it/s, loss=1.55, v_num=8]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=1.55, v_num=8]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=1.55, v_num=8]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.55, v_num=8]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.54, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 32: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.54, v_num=8]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=1.54, v_num=8]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=1.54, v_num=8]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.54, v_num=8]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.53, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 33: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.53, v_num=8]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=1.53, v_num=8]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=1.53, v_num=8]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.53, v_num=8]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.53, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 34: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.53, v_num=8]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=1.53, v_num=8]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=1.53, v_num=8]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.53, v_num=8]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.52, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 35: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.52, v_num=8]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=1.52, v_num=8]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=1.52, v_num=8]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.52, v_num=8]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=1.51, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 36: 100%|##########| 2/2 [00:00<00:00, 3.42it/s, loss=1.51, v_num=8]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=1.51, v_num=8]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=1.51, v_num=8]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.51, v_num=8]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.51, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 37: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.51, v_num=8]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=1.51, v_num=8]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=1.51, v_num=8]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=1.51, v_num=8]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=1.5, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 38: 100%|##########| 2/2 [00:00<00:00, 3.40it/s, loss=1.5, v_num=8]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=1.5, v_num=8]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=1.5, v_num=8]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.5, v_num=8]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.5, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 39: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=1.5, v_num=8]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=1.5, v_num=8]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=1.5, v_num=8]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.5, v_num=8]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.49, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 40: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.49, v_num=8]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=1.49, v_num=8]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=1.49, v_num=8]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.49, v_num=8]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.29it/s, loss=1.49, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 41: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=1.49, v_num=8]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=1.49, v_num=8]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=1.49, v_num=8]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.49, v_num=8]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=1.48, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 42: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.48, v_num=8]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=1.48, v_num=8]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=1.48, v_num=8]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.48, v_num=8]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.48, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 43: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.48, v_num=8]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=1.48, v_num=8]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=1.48, v_num=8]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.48, v_num=8]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.37it/s, loss=1.47, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 44: 100%|##########| 2/2 [00:00<00:00, 3.43it/s, loss=1.47, v_num=8]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.47, v_num=8]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.47, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 45: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.47, v_num=8]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.47, v_num=8]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.47, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 46: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.47, v_num=8]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=1.47, v_num=8]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.47, v_num=8]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.46, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 47: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.46, v_num=8]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=1.46, v_num=8]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=1.46, v_num=8]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.46, v_num=8]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.46, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 48: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.46, v_num=8]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=1.46, v_num=8]
Epoch 49: 0%| | 0/2 [00:00<?, ?it/s, loss=1.46, v_num=8]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.46, v_num=8]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.46, v_num=8]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.46, v_num=8]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 2.07it/s, loss=1.46, v_num=8]
Deep VCCA (private) We need to add additional private encoders and change (double) the dimensionality of the decoders.
private_encoder_1 = architectures.Encoder(
latent_dims=latent_dims, feature_size=784, variational=True
)
private_encoder_2 = architectures.Encoder(
latent_dims=latent_dims, feature_size=784, variational=True
)
private_decoder_1 = architectures.Decoder(latent_dims=2 * latent_dims, feature_size=784)
private_decoder_2 = architectures.Decoder(latent_dims=2 * latent_dims, feature_size=784)
dcca = DVCCA(
latent_dims=latent_dims,
encoders=[encoder_1, encoder_2],
decoders=[private_decoder_1, private_decoder_2],
private_encoders=[private_encoder_1, private_encoder_2],
)
dcca = CCALightning(dcca)
trainer = pl.Trainer(max_epochs=epochs, enable_checkpointing=False)
trainer.fit(dcca, train_loader, val_loader)
plot_reconstruction(dcca.model, train_dataset, 0)
plt.suptitle("DVCCA Private")
plt.show()
Out:
Validation sanity check: 0it [00:00, ?it/s]
Validation sanity check: 0%| | 0/1 [00:00<?, ?it/s]/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/v1.10.4/lib/python3.7/site-packages/torch/nn/functional.py:1806: UserWarning: nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.
warnings.warn("nn.functional.sigmoid is deprecated. Use torch.sigmoid instead.")
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/v1.10.4/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py:408: UserWarning: The number of training samples (1) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
f"The number of training samples ({self.num_training_batches}) is smaller than the logging interval"
Training: 0it [00:00, ?it/s]
Training: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.32it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=1.11e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 0: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=1.11e+03, v_num=9]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s, loss=1.11e+03, v_num=9]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=1.11e+03, v_num=9]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.11e+03, v_num=9]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.09e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 1: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=1.09e+03, v_num=9]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=1.09e+03, v_num=9]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=1.09e+03, v_num=9]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.09e+03, v_num=9]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.07e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 2: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=1.07e+03, v_num=9]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=1.07e+03, v_num=9]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=1.07e+03, v_num=9]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.07e+03, v_num=9]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.05e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 3: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.05e+03, v_num=9]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=1.05e+03, v_num=9]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=1.05e+03, v_num=9]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.05e+03, v_num=9]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=1.04e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 4: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=1.04e+03, v_num=9]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=1.04e+03, v_num=9]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=1.04e+03, v_num=9]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.04e+03, v_num=9]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=1.02e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 5: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=1.02e+03, v_num=9]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=1.02e+03, v_num=9]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=1.02e+03, v_num=9]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=1.02e+03, v_num=9]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=1.01e+03, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 6: 100%|##########| 2/2 [00:00<00:00, 3.39it/s, loss=1.01e+03, v_num=9]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=1.01e+03, v_num=9]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=1.01e+03, v_num=9]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=1.01e+03, v_num=9]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=994, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 7: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=994, v_num=9]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=994, v_num=9]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=994, v_num=9]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=994, v_num=9]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=980, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 8: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=980, v_num=9]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=980, v_num=9]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=980, v_num=9]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=980, v_num=9]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=966, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 9: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=966, v_num=9]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=966, v_num=9]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=966, v_num=9]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=966, v_num=9]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=953, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 10: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=953, v_num=9]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=953, v_num=9]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=953, v_num=9]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=953, v_num=9]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=940, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 11: 100%|##########| 2/2 [00:00<00:00, 3.39it/s, loss=940, v_num=9]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=940, v_num=9]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=940, v_num=9]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=940, v_num=9]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=928, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 12: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=928, v_num=9]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=928, v_num=9]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=928, v_num=9]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=928, v_num=9]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=916, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 13: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=916, v_num=9]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=916, v_num=9]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=916, v_num=9]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=916, v_num=9]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=905, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 14: 100%|##########| 2/2 [00:00<00:00, 3.33it/s, loss=905, v_num=9]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=905, v_num=9]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=905, v_num=9]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=905, v_num=9]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=894, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 15: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=894, v_num=9]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=894, v_num=9]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=894, v_num=9]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=894, v_num=9]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=883, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 16: 100%|##########| 2/2 [00:00<00:00, 3.35it/s, loss=883, v_num=9]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=883, v_num=9]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=883, v_num=9]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=883, v_num=9]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=873, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 17: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=873, v_num=9]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=873, v_num=9]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=873, v_num=9]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=873, v_num=9]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=863, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 18: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=863, v_num=9]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=863, v_num=9]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=863, v_num=9]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=863, v_num=9]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=854, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 19: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=854, v_num=9]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=854, v_num=9]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=854, v_num=9]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=854, v_num=9]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=832, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 20: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=832, v_num=9]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=832, v_num=9]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=832, v_num=9]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=832, v_num=9]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=811, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 21: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=811, v_num=9]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=811, v_num=9]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=811, v_num=9]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=811, v_num=9]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=791, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 22: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=791, v_num=9]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=791, v_num=9]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=791, v_num=9]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=791, v_num=9]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=773, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 23: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=773, v_num=9]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=773, v_num=9]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=773, v_num=9]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=773, v_num=9]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=755, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 24: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=755, v_num=9]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=755, v_num=9]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=755, v_num=9]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=755, v_num=9]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=739, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 25: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=739, v_num=9]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=739, v_num=9]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=739, v_num=9]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=739, v_num=9]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=723, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 26: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=723, v_num=9]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=723, v_num=9]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=723, v_num=9]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=723, v_num=9]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=709, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 27: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=709, v_num=9]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=709, v_num=9]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=709, v_num=9]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=709, v_num=9]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=695, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 28: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=695, v_num=9]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=695, v_num=9]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=695, v_num=9]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=695, v_num=9]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=682, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 29: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=682, v_num=9]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=682, v_num=9]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=682, v_num=9]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=682, v_num=9]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=671, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 30: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=671, v_num=9]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=671, v_num=9]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=671, v_num=9]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=671, v_num=9]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=660, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 31: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=660, v_num=9]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=660, v_num=9]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=660, v_num=9]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.36it/s, loss=660, v_num=9]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=649, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 32: 100%|##########| 2/2 [00:00<00:00, 3.40it/s, loss=649, v_num=9]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=649, v_num=9]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=649, v_num=9]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=649, v_num=9]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=640, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 33: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=640, v_num=9]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=640, v_num=9]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=640, v_num=9]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=640, v_num=9]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=631, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 34: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=631, v_num=9]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=631, v_num=9]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=631, v_num=9]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=631, v_num=9]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=622, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 35: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=622, v_num=9]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=622, v_num=9]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=622, v_num=9]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=622, v_num=9]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=614, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 36: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=614, v_num=9]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=614, v_num=9]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=614, v_num=9]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=614, v_num=9]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=607, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 37: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=607, v_num=9]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=607, v_num=9]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=607, v_num=9]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=607, v_num=9]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=601, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 38: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=601, v_num=9]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=601, v_num=9]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=601, v_num=9]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=601, v_num=9]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=595, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 39: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=595, v_num=9]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=595, v_num=9]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=595, v_num=9]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=595, v_num=9]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=589, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 40: 100%|##########| 2/2 [00:00<00:00, 3.39it/s, loss=589, v_num=9]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=589, v_num=9]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=589, v_num=9]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=589, v_num=9]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=584, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 41: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=584, v_num=9]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=584, v_num=9]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=584, v_num=9]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.35it/s, loss=584, v_num=9]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=579, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 42: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=579, v_num=9]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=579, v_num=9]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=579, v_num=9]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=579, v_num=9]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=574, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 43: 100%|##########| 2/2 [00:00<00:00, 3.34it/s, loss=574, v_num=9]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=574, v_num=9]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=574, v_num=9]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=574, v_num=9]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=570, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 44: 100%|##########| 2/2 [00:00<00:00, 3.37it/s, loss=570, v_num=9]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=570, v_num=9]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=570, v_num=9]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=570, v_num=9]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=566, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 45: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=566, v_num=9]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=566, v_num=9]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=566, v_num=9]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.32it/s, loss=566, v_num=9]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.31it/s, loss=563, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 46: 100%|##########| 2/2 [00:00<00:00, 3.36it/s, loss=563, v_num=9]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=563, v_num=9]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=563, v_num=9]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=563, v_num=9]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.33it/s, loss=560, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 47: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=560, v_num=9]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=560, v_num=9]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=560, v_num=9]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=560, v_num=9]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.30it/s, loss=557, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 48: 100%|##########| 2/2 [00:00<00:00, 3.31it/s, loss=557, v_num=9]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=557, v_num=9]
Epoch 49: 0%| | 0/2 [00:00<?, ?it/s, loss=557, v_num=9]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=557, v_num=9]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.34it/s, loss=554, v_num=9]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 3.38it/s, loss=554, v_num=9]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 2.07it/s, loss=554, v_num=9]
DCCAE
encoder_1 = architectures.Encoder(latent_dims=latent_dims, feature_size=784)
encoder_2 = architectures.Encoder(latent_dims=latent_dims, feature_size=784)
dcca = DCCAE(
latent_dims=latent_dims,
encoders=[encoder_1, encoder_2],
decoders=[decoder_1, decoder_2],
)
dcca = CCALightning(dcca)
trainer = pl.Trainer(max_epochs=epochs, enable_checkpointing=False)
trainer.fit(dcca, train_loader, val_loader)
plot_reconstruction(dcca.model, train_dataset, 0)
plt.suptitle("DCCAE")
plt.show()
Out:
Validation sanity check: 0it [00:00, ?it/s]
Validation sanity check: 0%| | 0/1 [00:00<?, ?it/s]
/home/docs/checkouts/readthedocs.org/user_builds/cca-zoo/envs/v1.10.4/lib/python3.7/site-packages/pytorch_lightning/trainer/data_loading.py:408: UserWarning: The number of training samples (1) is smaller than the logging interval Trainer(log_every_n_steps=50). Set a lower value for log_every_n_steps if you want to see logs for the training epoch.
f"The number of training samples ({self.num_training_batches}) is smaller than the logging interval"
Training: 0it [00:00, ?it/s]
Training: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.50it/s]
Epoch 0: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=0.243, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 0: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=0.243, v_num=10]
Epoch 0: 0%| | 0/2 [00:00<?, ?it/s, loss=0.243, v_num=10]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=0.243, v_num=10]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=0.243, v_num=10]
Epoch 1: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.086, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 1: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-0.086, v_num=10]
Epoch 1: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.086, v_num=10]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.086, v_num=10]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.086, v_num=10]
Epoch 2: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.298, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 2: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-0.298, v_num=10]
Epoch 2: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.298, v_num=10]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.298, v_num=10]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.298, v_num=10]
Epoch 3: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.425, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 3: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.425, v_num=10]
Epoch 3: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.425, v_num=10]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.425, v_num=10]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.425, v_num=10]
Epoch 4: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.523, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 4: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.523, v_num=10]
Epoch 4: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.523, v_num=10]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.523, v_num=10]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.523, v_num=10]
Epoch 5: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.601, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 5: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.601, v_num=10]
Epoch 5: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.601, v_num=10]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.601, v_num=10]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.601, v_num=10]
Epoch 6: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.652, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 6: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-0.652, v_num=10]
Epoch 6: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.652, v_num=10]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.652, v_num=10]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.652, v_num=10]
Epoch 7: 50%|##### | 1/2 [00:00<00:00, 2.48it/s, loss=-0.695, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 7: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.695, v_num=10]
Epoch 7: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.695, v_num=10]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.695, v_num=10]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.695, v_num=10]
Epoch 8: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.73, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 8: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.73, v_num=10]
Epoch 8: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.73, v_num=10]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.73, v_num=10]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.73, v_num=10]
Epoch 9: 50%|##### | 1/2 [00:00<00:00, 2.48it/s, loss=-0.764, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 9: 100%|##########| 2/2 [00:00<00:00, 3.56it/s, loss=-0.764, v_num=10]
Epoch 9: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.764, v_num=10]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.764, v_num=10]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.764, v_num=10]
Epoch 10: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.789, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 10: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-0.789, v_num=10]
Epoch 10: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.789, v_num=10]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.789, v_num=10]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.789, v_num=10]
Epoch 11: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.81, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 11: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.81, v_num=10]
Epoch 11: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.81, v_num=10]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.81, v_num=10]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.81, v_num=10]
Epoch 12: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.832, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 12: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-0.832, v_num=10]
Epoch 12: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.832, v_num=10]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.832, v_num=10]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.832, v_num=10]
Epoch 13: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.853, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 13: 100%|##########| 2/2 [00:00<00:00, 3.56it/s, loss=-0.853, v_num=10]
Epoch 13: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.853, v_num=10]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.853, v_num=10]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.853, v_num=10]
Epoch 14: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.873, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 14: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-0.873, v_num=10]
Epoch 14: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.873, v_num=10]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.873, v_num=10]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-0.873, v_num=10]
Epoch 15: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.89, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 15: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.89, v_num=10]
Epoch 15: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.89, v_num=10]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.89, v_num=10]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.89, v_num=10]
Epoch 16: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.908, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 16: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.908, v_num=10]
Epoch 16: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.908, v_num=10]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.908, v_num=10]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.908, v_num=10]
Epoch 17: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.923, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 17: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.923, v_num=10]
Epoch 17: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.923, v_num=10]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.923, v_num=10]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.48it/s, loss=-0.923, v_num=10]
Epoch 18: 50%|##### | 1/2 [00:00<00:00, 2.48it/s, loss=-0.935, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 18: 100%|##########| 2/2 [00:00<00:00, 3.56it/s, loss=-0.935, v_num=10]
Epoch 18: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.935, v_num=10]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.935, v_num=10]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.935, v_num=10]
Epoch 19: 50%|##### | 1/2 [00:00<00:00, 2.48it/s, loss=-0.947, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 19: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-0.947, v_num=10]
Epoch 19: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.947, v_num=10]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=-0.947, v_num=10]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-0.947, v_num=10]
Epoch 20: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.02, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 20: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.02, v_num=10]
Epoch 20: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.02, v_num=10]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.02, v_num=10]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.02, v_num=10]
Epoch 21: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.06, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 21: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.06, v_num=10]
Epoch 21: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.06, v_num=10]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.06, v_num=10]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.46it/s, loss=-1.06, v_num=10]
Epoch 22: 50%|##### | 1/2 [00:00<00:00, 2.46it/s, loss=-1.08, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 22: 100%|##########| 2/2 [00:00<00:00, 3.54it/s, loss=-1.08, v_num=10]
Epoch 22: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.08, v_num=10]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.08, v_num=10]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.08, v_num=10]
Epoch 23: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.1, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 23: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.1, v_num=10]
Epoch 23: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.1, v_num=10]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.1, v_num=10]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.1, v_num=10]
Epoch 24: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.12, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 24: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.12, v_num=10]
Epoch 24: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.12, v_num=10]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.12, v_num=10]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.12, v_num=10]
Epoch 25: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.13, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 25: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.13, v_num=10]
Epoch 25: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.13, v_num=10]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.13, v_num=10]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.13, v_num=10]
Epoch 26: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.14, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 26: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.14, v_num=10]
Epoch 26: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.14, v_num=10]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.14, v_num=10]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.51it/s, loss=-1.14, v_num=10]
Epoch 27: 50%|##### | 1/2 [00:00<00:00, 2.51it/s, loss=-1.15, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 27: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.15, v_num=10]
Epoch 27: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.15, v_num=10]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.15, v_num=10]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.15, v_num=10]
Epoch 28: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.17, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 28: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.17, v_num=10]
Epoch 28: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.17, v_num=10]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.17, v_num=10]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.51it/s, loss=-1.17, v_num=10]
Epoch 29: 50%|##### | 1/2 [00:00<00:00, 2.51it/s, loss=-1.18, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 29: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.18, v_num=10]
Epoch 29: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.18, v_num=10]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.18, v_num=10]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.51it/s, loss=-1.18, v_num=10]
Epoch 30: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.19, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 30: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.19, v_num=10]
Epoch 30: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.19, v_num=10]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.19, v_num=10]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.19, v_num=10]
Epoch 31: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.2, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 31: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.2, v_num=10]
Epoch 31: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.2, v_num=10]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.2, v_num=10]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.2, v_num=10]
Epoch 32: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.21, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 32: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.21, v_num=10]
Epoch 32: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.21, v_num=10]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.21, v_num=10]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.21, v_num=10]
Epoch 33: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.22, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 33: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.22, v_num=10]
Epoch 33: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.22, v_num=10]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.22, v_num=10]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.22, v_num=10]
Epoch 34: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.23, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 34: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.23, v_num=10]
Epoch 34: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.23, v_num=10]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.23, v_num=10]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.23, v_num=10]
Epoch 35: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.24, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 35: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.24, v_num=10]
Epoch 35: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.24, v_num=10]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.24, v_num=10]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.24, v_num=10]
Epoch 36: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.24, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 36: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.24, v_num=10]
Epoch 36: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.24, v_num=10]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.24, v_num=10]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.24, v_num=10]
Epoch 37: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.25, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 37: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.25, v_num=10]
Epoch 37: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.25, v_num=10]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.25, v_num=10]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.25, v_num=10]
Epoch 38: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.26, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 38: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.26, v_num=10]
Epoch 38: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.26, v_num=10]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.26, v_num=10]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.26, v_num=10]
Epoch 39: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.27, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 39: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.27, v_num=10]
Epoch 39: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.27, v_num=10]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.27, v_num=10]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.27, v_num=10]
Epoch 40: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.27, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 40: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.27, v_num=10]
Epoch 40: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.27, v_num=10]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.27, v_num=10]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.27, v_num=10]
Epoch 41: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.28, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 41: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.28, v_num=10]
Epoch 41: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.28, v_num=10]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.28, v_num=10]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.28, v_num=10]
Epoch 42: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.28, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 42: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.28, v_num=10]
Epoch 42: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.28, v_num=10]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.28, v_num=10]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.28, v_num=10]
Epoch 43: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.29, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 43: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.29, v_num=10]
Epoch 43: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.29, v_num=10]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.29, v_num=10]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.29, v_num=10]
Epoch 44: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.3, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 44: 100%|##########| 2/2 [00:00<00:00, 3.59it/s, loss=-1.3, v_num=10]
Epoch 44: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.3, v_num=10]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.3, v_num=10]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.3, v_num=10]
Epoch 45: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.31, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 45: 100%|##########| 2/2 [00:00<00:00, 3.57it/s, loss=-1.31, v_num=10]
Epoch 45: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.31, v_num=10]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.31, v_num=10]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.31, v_num=10]
Epoch 46: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.31, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 46: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.31, v_num=10]
Epoch 46: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.31, v_num=10]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.31, v_num=10]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.31, v_num=10]
Epoch 47: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.32, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 47: 100%|##########| 2/2 [00:00<00:00, 3.56it/s, loss=-1.32, v_num=10]
Epoch 47: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.32, v_num=10]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.32, v_num=10]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.32, v_num=10]
Epoch 48: 50%|##### | 1/2 [00:00<00:00, 2.49it/s, loss=-1.32, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 48: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.32, v_num=10]
Epoch 48: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.32, v_num=10]
Epoch 49: 0%| | 0/2 [00:00<?, ?it/s, loss=-1.32, v_num=10]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.32, v_num=10]
Epoch 49: 50%|##### | 1/2 [00:00<00:00, 2.50it/s, loss=-1.33, v_num=10]
Validating: 0it [00:00, ?it/s]
Validating: 0%| | 0/1 [00:00<?, ?it/s]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 3.58it/s, loss=-1.33, v_num=10]
Epoch 49: 100%|##########| 2/2 [00:00<00:00, 2.15it/s, loss=-1.33, v_num=10]
Total running time of the script: ( 2 minutes 41.025 seconds)