减少 ParallelMapDataset 的维度

问题描述

def get_training_dataset():
    lst = [flip,rotate,color]
    dataset = load_dataset(TRAINING_FILENAMES,labeled=True)  
    for data_augment in lst:
        dataset = dataset.map(data_augment,num_parallel_calls=AUTOTUNE) 
    tf.squeeze(dataset,axis=0)
    print(dataset.shape)
    dataset = dataset.map(flip,num_parallel_calls=AUTOTUNE)  
    dataset = dataset.repeat()
    dataset = dataset.shuffle(2048)
    dataset = dataset.batch(BATCH_SIZE)
    dataset = dataset.prefetch(AUTOTUNE)
    return dataset

数据集格式是 ParallelMapDataset 但是当我尝试使用此代码向数据集添加一维时,例如我的形状是 (512,512,3) 但它返回形状 (1,3)。 翻转旋转颜色功能如下:

def flip(image,label):
    print("random flip")
    image = tf.image.random_flip_left_right(image)
    image = tf.image.random_flip_up_down(image)
    return image,label

def color(image,label):
    print("random color")
    image = tf.image.random_saturation(image,0.6,1.6)
    image = tf.image.random_brightness(image,0.05)
    image = tf.image.random_contrast(image,0.7,1.3)
    return image,label

def rotate(image,label):
    print("random rotate")
    image = tf.image.rot90(image,tf.random.uniform(shape=[],minval=0,maxval=4,dtype=tf.int32)),return image,label

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)