from deliravision.models.gans import WassersteinDivergenceGAN
from deliravision.losses import WassersteinDivergence
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}
    torch.autograd.set_detect_anomaly(True)

    model, weight_path = train(WassersteinDivergenceGAN,
                               {"latent_dim": 100,
                                "img_shape": (1, 28, 28)},
                               os.path.join(outpath, "train"), img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={"divergence":
                                                  WassersteinDivergence()})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
from deliravision.models.gans import BoundarySeekingGAN
from deliravision.losses import BoundarySeekingLoss
import os
from training.gans._basic import train, predict

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}

    model, weight_path = train(BoundarySeekingGAN, {"latent_dim": 100,
                                                    "img_shape": (1, 28, 28)},
                               os.path.join(outpath, "train"), img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={"boundary_seeking":
                                                  BoundarySeekingLoss()})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 3
0
from deliravision.models.gans import DRAGAN
from deliravision.losses import GradientPenalty
import os
from training.gans._basic import train, predict

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}

    model, weight_path = train(
        DRAGAN, {
            "latent_dim": 100,
            "num_channels": 1,
            "img_size": 28
        },
        os.path.join(outpath, "train"),
        img_path,
        num_epochs=num_epochs,
        key_mapping=key_mapping,
        additional_losses={"gradient_penalty": GradientPenalty()})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 4
0
from deliravision.models.gans import GenerativeAdversarialNetworks
import os
from training.gans._basic import train, predict

if __name__ == '__main__':
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"imgs": "data"}

    model, weight_path = train(GenerativeAdversarialNetworks, {
        "latent_dim": 100,
        "img_shape": (1, 28, 28)
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping)

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
from deliravision.models.gans import WassersteinGradientPenaltyGAN
from deliravision.losses import GradientPenalty
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}
    torch.autograd.set_detect_anomaly(True)

    model, weight_path = train(WassersteinGradientPenaltyGAN,
                               {"latent_dim": 100,
                                "img_shape": (1, 28, 28)},
                               os.path.join(outpath, "train"), img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={"gradient_penalty":
                                                  GradientPenalty()})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 6
0
from deliravision.models.gans import WassersteinGAN
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}
    torch.autograd.set_detect_anomaly(True)

    model, weight_path = train(WassersteinGAN, {
        "latent_dim": 100,
        "img_shape": (1, 28, 28)
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping)

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
from deliravision.models.gans import RelativisticGAN
from deliravision.losses import AdversarialLoss
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}

    model, weight_path = train(RelativisticGAN, {
        "latent_dim": 100,
        "img_size": 28,
        "num_channels": 1
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={
                                   "adversarial":
                                   AdversarialLoss(
                                       torch.nn.BCEWithLogitsLoss())
                               })

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 8
0
    batchsize = 64
    latent_dim = 100
    n_classes = 10
    code_dim = 2

    model, weight_path = train(InfoGAN, {
        "latent_dim": latent_dim,
        "num_channels": 1,
        "img_size": 28,
        "n_classes": n_classes,
        "code_dim": code_dim
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={
                                   "categorical":
                                   torch.nn.CrossEntropyLoss(),
                                   "continuous":
                                   torch.nn.MSELoss(),
                                   "adversarial":
                                   AdversarialLoss(torch.nn.MSELoss())
                               },
                               create_optim_fn=create_optims,
                               batchsize=batchsize)

    predict(model,
            weight_path,
            os.path.join(outpath, "preds"),
            num_epochs,
Esempio n. 9
0
from deliravision.models.gans import DeepConvolutionalGAN
import os
from training.gans._basic import train, predict

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"imgs": "data"}

    model, weight_path = train(DeepConvolutionalGAN, {"latent_dim": 100,
                                                      "img_size": 28,
                                                      "num_channels": 1},
                               os.path.join(outpath, "train"), img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping)

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 10
0
from deliravision.models.gans import BoundaryEquilibriumGAN
from deliravision.losses import BELoss
import os
from training.gans._basic import train, predict

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data"}

    model, weight_path = train(BoundaryEquilibriumGAN, {
        "latent_dim": 100,
        "img_size": 28,
        "n_channels": 1
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={"began": BELoss()})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 11
0
    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"real_imgs": "data", "real_labels": "label"}
    latent_dim = 100
    batchsize = 64
    n_classes = 10

    model, weight_path = train(
        AuxiliaryClassifierGANPyTorch, {
            "latent_dim": latent_dim,
            "img_size": 28,
            "n_channels": 1,
            "n_classes": n_classes
        },
        os.path.join(outpath, "train"),
        img_path,
        num_epochs=num_epochs,
        additional_losses={"auxiliary": torch.nn.CrossEntropyLoss()},
        key_mapping=key_mapping,
        batchsize=batchsize)

    predict(model,
            weight_path,
            os.path.join(outpath, "preds"),
            num_epochs,
            gen_fns=[torch.randn, torch.randint],
            gen_args=[(batchsize, latent_dim), (0, n_classes, (batchsize, ))],
            gen_kwargs=[{}, {
                "dtype": torch.long
Esempio n. 12
0
from deliravision.models.gans import ConditionalGAN
from deliravision.losses import AdversarialLoss
import torch
import os
from training.gans._basic import train, predict

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"x": "data", "labels": "label"}
    batchsize = 64
    latent_dim = 100
    n_classes = 10

    model, weight_path = train(ConditionalGAN, {"latent_dim": latent_dim,
                                                "n_classes": n_classes,
                                                "img_shape": (1, 28, 28)},
                               os.path.join(outpath, "train"), img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={"adversarial":
                                   AdversarialLoss(
                                       torch.nn.MSELoss())},
                               batchsize=batchsize)

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs,
            gen_fns=[torch.randn, torch.randint],
            gen_args=[(batchsize, latent_dim), (0, n_classes, (batchsize, 1))],)
Esempio n. 13
0
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"imgs": "data"}

    model, weight_path = train(EnergyBasedGAN, {
        "latent_dim": 100,
        "num_channels": 1,
        "img_size": 28
    },
                               os.path.join(outpath, "train"),
                               img_path,
                               num_epochs=num_epochs,
                               key_mapping=key_mapping,
                               additional_losses={
                                   "pullaway":
                                   PullAwayLoss(),
                                   "pixelwise":
                                   torch.nn.MSELoss(),
                                   "discriminator_margin":
                                   DiscriminatorMarginLoss()
                               })

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 14
0
from deliravision.models.gans import LeastSquareGAN
from deliravision.losses import AdversarialLoss
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1000
    key_mapping = {"imgs": "data"}

    model, weight_path = train(
        LeastSquareGAN, {
            "latent_dim": 100,
            "img_shape": (1, 28, 28)
        },
        os.path.join(outpath, "train"),
        img_path,
        num_epochs=num_epochs,
        key_mapping=key_mapping,
        additional_losses={"adversarial": AdversarialLoss(torch.nn.MSELoss())})

    predict(model, weight_path, os.path.join(outpath, "preds"), num_epochs)
Esempio n. 15
0
from deliravision.models.gans import AdversarialAutoEncoderPyTorch
import os
from training.gans._basic import train, predict
import torch

if __name__ == '__main__':

    img_path = os.path.abspath("~/data/")
    outpath = os.path.abspath("~/GanExperiments")
    num_epochs = 1500
    key_mapping = {"x": "data"}

    model, weight_path = train(
        AdversarialAutoEncoderPyTorch, {
            "latent_dim": 100,
            "img_shape": (1, 28, 28)
        },
        os.path.join(outpath, "train"),
        img_path,
        num_epochs=num_epochs,
        additional_losses={"pixelwise": torch.nn.L1Loss()},
        key_mapping=key_mapping)

    predict(model,
            weight_path,
            os.path.join(outpath, "preds"),
            num_epochs,
            generative_network="generator.decoder")