pix2pixHD代码解析
一、pix2pixHD代码解析(train.py + test.py)
二、pix2pixHD代码解析(options设置)
三、pix2pixHD代码解析(dataset处理)
四、pix2pixHD代码解析(models搭建)
二、pix2pixHD代码解析(options设置)
base_options.py
import argparse
import os
from util import util
import torch
class BaseOptions():
def __init__(self):
self.parser = argparse.ArgumentParser()
self.initialized = False
def initialize(self):
# experiment specifics
self.parser.add_argument('--name', type=str, default='label2city', help='name of the experiment. It decides where to store samples and models') # 实验名称, 它决定在哪里存储样本和模型
self.parser.add_argument('--gpu_ids', type=str, default='0, 1, 2', help='gpu ids: e.g. 0 0,1,2, 0,2. use -1 for CPU') # 要使用的GPU id:0, 1, 2三块GPU
self.parser.add_argument('--checkpoints_dir', type=str, default='./checkpoints', help='models are saved here') # 检查点路径
self.parser.add_argument('--model', type=str, default='pix2pixHD', help='which model to use') # 选择的模型,此处由两个模型可供选择 # 选择模型
self.parser.add_argument('--norm', type=str, default='instance', help='instance normalization or batch normalization')
self.parser.add_argument('--use_dropout', action='store_true', help='use dropout for the generator')
self.parser.add_argument('--data_type', default=32, type=int, choices=[8, 16, 32], help="Supported data type i.e. 8, 16, 32 bit") # 支持的数据类型,即8、16、32位
self.parser.add_argument('--verbose', action='store_true', default=False, help='toggles verbose') # 默认为false,表示之前并无模型保存
self.parser.add_argument('--fp16', action='store_true', default=False, help='train with AMP') # fp16和amp适用于混合精度加速(英伟达自带的apex库)
self.parser.add_argument('--local_rank', type=int, default=0, help='local rank for distributed training')
# input/output sizes
self.parser.add_argument('--batchSize', type=int, default=3, help='input batch size')
self.parser.add_argument('--loadSize', type=int, default=512, help='scale images to this size') # 将图像缩放到这个大小:此处仅设置宽度,高度按照宽高比计算
self.parser.add_argument('--fineSize', type=int, default=512, help='then crop to this size') # 然后裁剪成这个大小
self.parser.add_argument(