如何将Tensorflow数据集保存到csv?

时间:2019-04-04 07:35:34

标签: python csv tensorflow dataset

我找到了很多文档/论坛,讲述了如何将csv转换为Tensorflow数据集,但没有一个人说过如何将数据集转换为csv。我现在有两列的csv(文件名,权重-以后可以添加更多列)。我将其读入tensorflow并创建一个数据集。在脚本末尾,第二列被修改,我需要将这些列保存到csv中。我需要在csv(而不是检查点)中使用它们,因为我可能需要在Matlab上进行处理。

我试图调用数据集map函数,并试图保存到map函数内部的csv中。但是它没有按预期工作。

#reading csv to dataset

def map_func1(line):
    FIELD_DEFAULTS = [[""], [0.0]]  
    sample,weight = tf.decode_csv(line, FIELD_DEFAULTS)
    return sample,weight

ds = tf.data.TextLineDataset('sample_weights.csv')
ds_1 = ds.map(map_func1)

# then the dataset is modified to ds_2 then, not including code- it's just another map func

# trying to save to csv - 


def map_func3(writer,x):
    x0,x1 = x
    writer.writerow([x0,x1])
    return x 

with open('sample_weights_mod.csv','w') as file:
    writer = csv.writer(file)
    ds_3 = ds_2.map(lambda *x: map_func3(writer,x))

这不能按预期工作,只是将张量形状写入csv Tensor(“ arg0:0”,shape =(),dtype = string)Tensor(“ arg1:0”,shape =(),dtype = float32 )

此解决方案可能是一个不好的解决方案。我真的需要一种巧妙的方法来做到这一点

0 个答案:

没有答案