def batch_gen(folder, batch_shape): '''Resize images to 512, randomly crop a 256 square, and normalize''' files = np.asarray(get_files(folder)) while True: X_batch = np.zeros(batch_shape, dtype=np.float32) idx = 0 while idx < batch_shape[0]: # Build batch sample by sample try: f = np.random.choice(files) X_batch[idx] = get_img_random_crop(f, resize=512, crop=256).astype(np.float32) X_batch[idx] /= 255. # Normalize between [0,1] assert(not np.isnan(X_batch[idx].min())) except Exception as e: # Do not increment idx if we failed print(e) continue idx += 1 yield X_batch