|
44 | 44 | add_arg('--train-scales', default=0, type=int, help='Randomly resize images this many times.') |
45 | 45 | add_arg('--train-blur', default=None, type=int, help='Sigma value for gaussian blur preprocess.') |
46 | 46 | add_arg('--train-noise', default=None, type=float, help='Radius for preprocessing gaussian blur.') |
47 | | -add_arg('--train-jpeg', default=None, type=int, help='JPEG compression level in preprocessing.') |
| 47 | +add_arg('--train-jpeg', default=[], nargs='+', type=int, help='JPEG compression level & range in preproc.') |
48 | 48 | add_arg('--epochs', default=10, type=int, help='Total number of iterations in training.') |
49 | 49 | add_arg('--epoch-size', default=72, type=int, help='Number of batches trained in an epoch.') |
50 | 50 | add_arg('--save-every', default=10, type=int, help='Save generator after every training epoch.') |
@@ -179,16 +179,15 @@ def add_to_buffer(self, f): |
179 | 179 | if args.zoom > 1: |
180 | 180 | seed = seed.resize((orig.size[0]//args.zoom, orig.size[1]//args.zoom), resample=PIL.Image.LANCZOS) |
181 | 181 | if args.train_jpeg is not None: |
182 | | - buffer = io.BytesIO() |
183 | | - seed.save(buffer, format='jpeg', quality=args.train_jpeg+random.randrange(-15,+15)) |
| 182 | + buffer, rng = io.BytesIO(), args.train_jpeg[-1] if len(args.train_jpeg) > 1 else 15 |
| 183 | + seed.save(buffer, format='jpeg', quality=args.train_jpeg+random.randrange(-rng, +rng)) |
184 | 184 | seed = PIL.Image.open(buffer) |
185 | 185 |
|
186 | 186 | orig = scipy.misc.fromimage(orig).astype(np.float32) |
187 | 187 | seed = scipy.misc.fromimage(seed).astype(np.float32) |
188 | 188 |
|
189 | 189 | if args.train_noise is not None: |
190 | | - noise = scipy.random.normal(scale=args.train_noise/10.0, size=(seed.shape[0], seed.shape[1], 1)) |
191 | | - seed += (noise ** 7.0).clip(-args.train_noise, args.train_noise) |
| 190 | + seed += scipy.random.normal(scale=args.train_noise, size=(seed.shape[0], seed.shape[1], 1)) |
192 | 191 |
|
193 | 192 | for _ in range(seed.shape[0] * seed.shape[1] // (args.buffer_fraction * self.seed_shape ** 2)): |
194 | 193 | h = random.randint(0, seed.shape[0] - self.seed_shape) |
|
0 commit comments