def _unl_parser(value): """Cifar10 parser.""" image_size = params.image_size value = tf.io.decode_raw(value, tf.uint8) image = tf.reshape(value[1:], [3, 32, 32]) # uint8 image = tf.transpose(image, [1, 2, 0]) if image_size != 32: image = tf.image.resize_bicubic([image], [image_size, image_size])[0] image.set_shape([image_size, image_size, 3]) image = _flip_and_jitter(image, replace_value=128) ori_image = image aug = augment.RandAugment(cutout_const=image_size // 8, translate_const=image_size // 8, magnitude=params.augment_magnitude) aug_image = aug.distort(image) aug_image = augment.cutout(aug_image, pad_size=image_size // 4, replace=128) aug_image = _flip_and_jitter(aug_image, replace_value=128) ori_image = convert_and_normalize(params, ori_image) aug_image = convert_and_normalize(params, aug_image) return {'ori_images': ori_image, 'aug_images': aug_image}
def _imagenet_parser(params, value, training): """ImageNet parser.""" if training: image_size = params.image_size else: if 'eval_image_size' in params: image_size = max(params.image_size, params.eval_image_size) else: image_size = params.image_size logging.info(f'eval_image_size={image_size}') keys_to_features = { 'image/encoded': tf.io.FixedLenFeature((), tf.string), 'image/class/label': tf.io.FixedLenFeature([], tf.int64), } features = tf.io.parse_single_example(value, keys_to_features) label = tf.cast(features['image/class/label'], tf.int32) - 1 label = tf.one_hot(label, depth=params.num_classes, dtype=tf.float32) if training: image = _decode_and_random_crop(features['image/encoded'], image_size) image = tf.image.random_flip_left_right(image) if params.use_augment: aug = augment.RandAugment(magnitude=params.augment_magnitude) image = aug.distort(image) else: image = _decode_and_center_crop(features['image/encoded'], image_size) image.set_shape([image_size, image_size, 3]) image = convert_and_normalize(params, image) return image, label
def _cifar10_parser(params, value, training): """Cifar10 parser.""" image_size = params.image_size value = tf.io.decode_raw(value, tf.uint8) label = tf.cast(value[0], tf.int32) label = tf.one_hot(label, depth=params.num_classes, dtype=tf.float32) image = tf.reshape(value[1:], [3, 32, 32]) # uint8 image = tf.transpose(image, [1, 2, 0]) if image_size != 32: image = tf.image.resize_bicubic([image], [image_size, image_size])[0] image.set_shape([image_size, image_size, 3]) if training: if params.use_augment: aug = augment.RandAugment(cutout_const=image_size // 8, translate_const=image_size // 8, magnitude=params.augment_magnitude) image = _flip_and_jitter(image, 128) image = aug.distort(image) image = augment.cutout(image, pad_size=image_size // 4, replace=128) else: image = _flip_and_jitter(image, 128) image = convert_and_normalize(params, image) return image, label
def _unl_parser(value): """ImageNet parser.""" image_size = params.image_size keys_to_features = { 'image/encoded': tf.io.FixedLenFeature((), tf.string), } features = tf.io.parse_single_example(value, keys_to_features) image = _decode_and_random_crop(features['image/encoded'], image_size) ori_image = tf.image.random_flip_left_right(image) ori_image.set_shape([image_size, image_size, 3]) aug_image = tf.image.random_flip_left_right(image) aug = augment.RandAugment(magnitude=params.augment_magnitude) aug_image = aug.distort(aug_image) aug_image.set_shape([image_size, image_size, 3]) ori_image = convert_and_normalize(params, ori_image) aug_image = convert_and_normalize(params, aug_image) return {'ori_images': ori_image, 'aug_images': aug_image}