资源简介

深度学习风格迁移(style transfer),python代码,可直接运行run.py

资源截图

代码片段和文件信息

import mxnet.gluon.data as data

from PIL import Image
import os
import os.path

IMG_EXTENSIONS = [
    ‘.jpg‘ ‘.JPG‘ ‘.jpeg‘ ‘.JPEG‘
    ‘.png‘ ‘.PNG‘ ‘.ppm‘ ‘.PPM‘ ‘.bmp‘ ‘.BMP‘
]


def is_image_file(filename):
    return any(filename.endswith(extension) for extension in IMG_EXTENSIONS)


def find_classes(dir):
    classes = [d for d in os.listdir(dir) if os.path.isdir(os.path.join(dir d))]
    classes.sort()
    class_to_idx = {classes[i]: i for i in range(len(classes))}
    return classes class_to_idx


def make_dataset(dir class_to_idx):
    images = []
    dir = os.path.expanduser(dir)
    for target in sorted(os.listdir(dir)):
        d = os.path.join(dir target)
        if not os.path.isdir(d):
            continue

        for root _ fnames in sorted(os.walk(d)):
            for fname in sorted(fnames):
                if is_image_file(fname):
                    path = os.path.join(root fname)
                    item = (path class_to_idx[target])
                    images.append(item)

    return images


def pil_loader(path):
    # open path as file to avoid ResourceWarning (https://github.com/python-pillow/Pillow/issues/835)
    with open(path ‘rb‘) as f:
        with Image.open(f) as img:
            return img.convert(‘RGB‘)

class ImageFolder(data.Dataset):
    “““A generic data loader where the images are arranged in this way: ::

        root/dog/xxx.png
        root/dog/xxy.png
        root/dog/xxz.png

        root/cat/123.png
        root/cat/nsdf3.png
        root/cat/asd932_.png

    Args:
        root (string): Root directory path.
        transform (callable optional): A function/transform that  takes in an PIL image
            and returns a transformed version. E.g ‘‘transforms.RandomCrop‘‘
        target_transform (callable optional): A function/transform that takes in the
            target and transforms it.
        loader (callable optional): A function to load an image given its path.

     Attributes:
        classes (list): List of the class names.
        class_to_idx (dict): Dict with items (class_name class_index).
        imgs (list): List of (image path class_index) tuples
    “““

    def __init__(self root transform=None target_transform=None
                 loader=pil_loader):
        classes class_to_idx = find_classes(root)
        imgs = make_dataset(root class_to_idx)
        if len(imgs) == 0:
            raise(RuntimeError(“Found 0 images in subfolders of: “ + root + “\n“
                               “Supported image extensions are: “ + ““.join(IMG_EXTENSIONS)))

        self.root = root
        self.imgs = imgs
        self.classes = classes
        self.class_to_idx = class_to_idx
        self.transform = transform
        self.target_transform = target_transform
        self.loader = loader

    def __getitem__(self index):
        “““
        Args:
            index (int): Index

        Returns:
            tuple: (image target) where target is class_index 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-04-06 07:08  MXNet-Gluon-style-Transfer\
     文件          54  2018-06-06 12:04  MXNet-Gluon-style-Transfer\.editorconfig
     文件          29  2018-06-06 12:04  MXNet-Gluon-style-Transfer\.gitignore
     目录           0  2019-04-06 07:06  MXNet-Gluon-style-Transfer\.idea\
     文件          26  2019-02-15 09:03  MXNet-Gluon-style-Transfer\.idea\.name
     文件         455  2019-02-15 08:35  MXNet-Gluon-style-Transfer\.idea\MXNet-Gluon-style-Transfer.iml
     文件         185  2019-02-15 08:34  MXNet-Gluon-style-Transfer\.idea\misc.xml
     文件         304  2019-02-15 09:03  MXNet-Gluon-style-Transfer\.idea\modules.xml
     文件        6391  2019-02-15 12:33  MXNet-Gluon-style-Transfer\.idea\workspace.xml
     文件        1067  2018-06-06 12:04  MXNet-Gluon-style-Transfer\LICENSE
     文件        4474  2019-04-06 07:09  MXNet-Gluon-style-Transfer\README.md
     目录           0  2019-04-06 07:06  MXNet-Gluon-style-Transfer\__pycache__\
     文件        3839  2019-02-15 08:35  MXNet-Gluon-style-Transfer\__pycache__\data.cpython-36.pyc
     文件       10600  2019-02-15 08:35  MXNet-Gluon-style-Transfer\__pycache__\net.cpython-36.pyc
     文件        3308  2019-02-15 08:35  MXNet-Gluon-style-Transfer\__pycache__\option.cpython-36.pyc
     文件        7746  2019-02-15 08:35  MXNet-Gluon-style-Transfer\__pycache__\utils.cpython-36.pyc
     文件        3361  2018-06-06 12:04  MXNet-Gluon-style-Transfer\data.py
     目录           0  2019-04-06 07:06  MXNet-Gluon-style-Transfer\dataset\
     文件         192  2018-06-06 12:04  MXNet-Gluon-style-Transfer\dataset\download_dataset.sh
     目录           0  2019-04-06 07:08  MXNet-Gluon-style-Transfer\images\
     文件       96301  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\1.jpg
     文件      142822  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\2.jpg
     文件      223907  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\3.jpg
     文件      160668  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\4.jpg
     文件      105218  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\5.jpg
     文件      199181  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\6.jpg
     文件      187175  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\7.jpg
     文件      168803  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\8.jpg
     文件      156565  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\9.jpg
     目录           0  2019-04-06 07:06  MXNet-Gluon-style-Transfer\images\content\
     文件      201286  2018-06-06 12:04  MXNet-Gluon-style-Transfer\images\content\flowers.jpg
............此处省略44个文件信息

评论

共有 条评论