Deep learning 为什么我的tensorflow发生器的功能这么慢?

Deep learning 为什么我的tensorflow发生器的功能这么慢?,deep-learning,generator,tensorflow2.0,Deep Learning,Generator,Tensorflow2.0,下面的发电机功能太慢。是否有一种方法可以优化此代码?。 列_数据集_c1是表格图像1的类1的列数据集 train_dataset_c0是表单图像0的类0的train dataset def generator(positive_dataset, negative_dataset): while True: for pos_rec, neg_rec in zip(positive_dataset, negative_dataset): pos_x, pos_y = pos_

下面的发电机功能太慢。是否有一种方法可以优化此代码?。 列_数据集_c1是表格图像1的类1的列数据集 train_dataset_c0是表单图像0的类0的train dataset

def generator(positive_dataset, negative_dataset):
while True:
    for pos_rec, neg_rec in zip(positive_dataset, negative_dataset):
        pos_x, pos_y = pos_rec
        neg_x, neg_y = neg_rec
        x = tf.concat([pos_x, neg_x], axis=0)
        y = tf.concat([pos_y, neg_y], axis=0)
        yield x, y

train_generator = generator(train_dataset_c1, train_dataset_c0)
test_generator = generator(test_dataset_c1, test_dataset_c0)

如果您使用的是tensorflow 2.0,我建议您使用tf.data API来加速管道

实际上,有一个功能,你可以应用到你的发电机,以加快它


使用此函数将其转换为tf.data.Dataset对象后,如果您使用的是tensorflow 2.0,我建议您使用tf.data API来加速管道,您可以使用此函数中的任何策略对其进行进一步优化

实际上,有一个功能,你可以应用到你的发电机,以加快它


通过使用此函数将其转换为tf.data.Dataset对象后,您可以使用此函数中的任何策略对其进行进一步优化

您说的太慢是什么意思?嘿@MatiasValdenegro,当我尝试从测试生成器打印前几张图像时,需要花费相当多的时间。我也很好奇是什么让测试生成器比火车生成器慢。顺便说一句,我使用dataset.skipn来创建测试数据集,使用dataset.take来创建train。你说的太慢是什么意思?嘿@MatiasValdenegro,当我尝试从测试生成器打印前几张图像时,会花费很多时间。我也很好奇是什么让测试生成器比火车生成器慢。顺便说一句,我使用dataset.skipn创建测试数据集,使用dataset.take创建训练。