<filename>datasets/landscapes/test.py
"""General-purpose test script for image-to-image translation.

Once you have trained your model with train.py, you can use this script to test the model.
It will load a saved model from '--checkpoints_dir' and save the results to '--results_dir'.

It first creates model and dataset given the option. It will hard-code some parameters.
It then runs inference for '--num_test' images and save results to an HTML file.

Example (You need to train models first or download pre-trained models from our website):
    Test a CycleGAN model (both sides):
        python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

    Test a CycleGAN model (one side only):
        python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout

    The option '--model test' is used for generating CycleGAN results only for one side.
    This option will automatically set '--dataset_mode single', which only loads the images from one set.
    On the contrary, using '--model cycle_gan' requires loading and generating results in both directions,
    which is sometimes unnecessary. The results will be saved at ./results/.
    Use '--results_dir <directory_path_to_save_result>' to specify the results directory.

    Test a pix2pix model:
        python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

See options/base_options.py and options/test_options.py for more test options.
See training and test tips at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/tips.md
See frequently asked questions at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/qa.md
"""
import os

from datasets.landscapes import cleanGpu, save_images
from datasets.landscapes.Models.cycle_gan_model import CycleGANModel
from datasets.landscapes.Models.test_model import TestModel
from datasets.landscapes.configs import PhaseType, TestConfigs, updateElement, Group
from datasets.landscapes.dataset import getDataLoader
from options.test_options import TestOptions
from data import create_dataset
from models import create_model
from util.util import show_image
from util import html

def test_colorization(color, **kwargs):
    config = TestConfigs(color=color)  # get training options
    for key, val in kwargs.items():
        updateElement(config, key, val)
    target_dir = config.setDir()
    dataset = getDataLoader(config)  # create a dataset given opt.dataset_mode and other options

    model = TestModel(config)      # create a model given opt.model and other options
    model.setup(config)               # regular setup: load and print networks; create schedulers
    model.eval()

    for i, data in enumerate(dataset):
        model.set_input(data)  # unpack data from data loader
        model.test()           # run inference
        visuals = model.get_current_visuals()  # get image results
        img_path = model.get_image_paths()     # get image paths
        if i % 5 == 0:  # save images to an HTML file
            print('processing (%04d)-th image... %s' % (i, img_path))
        save_images(target_dir, visuals, img_path, aspect_ratio=config.aspect_ratio)

if __name__ == '__main__':
    cleanGpu()
    for color in [Group.red, Group.green, Group.blue]:
        test_colorization(color, **args)

<filename>datasets/landscapes/test.py
"""General-purpose test script for image-to-image translation.

Once you have trained your model with train.py, you can use this script to test the model.
It will load a saved model from '--checkpoints_dir' and save the results to '--results_dir'.

It first creates model and dataset given the option. It will hard-code some parameters.
It then runs inference for '--num_test' images and save results to an HTML file.

Example (You need to train models first or download pre-trained models from our website):
    Test a CycleGAN model (both sides):
        python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan

    Test a CycleGAN model (one side only):
        python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout

    The option '--model test' is used for generating CycleGAN results only for one side.
    This option will automatically set '--dataset_mode single', which only loads the images from one set.
    On the contrary, using '--model cycle_gan' requires loading and generating results in both directions,
    which is sometimes unnecessary. The results will be saved at ./results/.
    Use '--results_dir <directory_path_to_save_result>' to specify the results directory.

    Test a pix2pix model:
        python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA

See options/base_options.py and options/test_options.py for more test options.
See training and test tips at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/tips.md
See frequently asked questions at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/qa.md
"""
import os

from datasets.landscapes import cleanGpu, save_images
from datasets.landscapes.Models.cycle_gan_model import CycleGANModel
from datasets.landscapes.Models.test_model import TestModel
from datasets.landscapes.configs import PhaseType, TestConfigs, updateElement, Group
from datasets.landscapes.dataset import getDataLoader
from options.test_options import TestOptions
from data import create_dataset
from models import create_model
from util.util import show_image
from util import html

def test_colorization(color, **kwargs):
    config = TestConfigs(color=color)  # get training options
    for key, val in kwargs.items():
        updateElement(config, key, val)
    target_dir = config.setDir()
    dataset = getDataLoader(config)  # create a dataset given opt.dataset_mode and other options

    model = TestModel(config)      # create a model given opt.model and other options
    model.setup(config)               # regular setup: load and print networks; create schedulers
    model.eval()

    for i, data in enumerate(dataset):
        model.set_input(data)  # unpack data from data loader
        model.test()           # run inference
        visuals = model.get_current_visuals()  # get image results
        img_path = model.get_image_paths()     # get image paths
        if i % 5 == 0:  # save images to an HTML file
            print('processing (%04d)-th image... %s' % (i, img_path))
        save_images(target_dir, visuals, img_path, aspect_ratio=config.aspect_ratio)

if __name__ == '__main__':
    cleanGpu()
    for color in [Group.red, Group.green, Group.blue]:
        test_colorization(color, **args)

General-purpose test script for image-to-image translation.
 
 Once you have trained your model with train.py, you can use this script to test the model.
 It will load a saved model from '--checkpoints_dir' and save the results to '--results_dir'.
 
 It first creates model and dataset given the option. It will hard-code some parameters.
 It then runs inference for '--num_test' images and save results to an HTML file.
 
 Example (You need to train models first or download pre-trained models from our website):
     Test a CycleGAN model (both sides):
         python test.py --dataroot ./datasets/maps --name maps_cyclegan --model cycle_gan
 
     Test a CycleGAN model (one side only):
         python test.py --dataroot datasets/horse2zebra/testA --name horse2zebra_pretrained --model test --no_dropout
 
     The option '--model test' is used for generating CycleGAN results only for one side.
     This option will automatically set '--dataset_mode single', which only loads the images from one set.
     On the contrary, using '--model cycle_gan' requires loading and generating results in both directions,
     which is sometimes unnecessary. The results will be saved at ./results/.
     Use '--results_dir <directory_path_to_save_result>' to specify the results directory.
 
     Test a pix2pix model:
         python test.py --dataroot ./datasets/facades --name facades_pix2pix --model pix2pix --direction BtoA
 
 See options/base_options.py and options/test_options.py for more test options.
 See training and test tips at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/tips.md
 See frequently asked questions at: https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix/blob/master/docs/qa.md # get training options # create a dataset given opt.dataset_mode and other options # create a model given opt.model and other options # regular setup: load and print networks; create schedulers # unpack data from data loader # run inference # get image results # get image paths # save images to an HTML file