我找到了很多文档/论坛,讲述了如何将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 )
此解决方案可能是一个不好的解决方案。我真的需要一种巧妙的方法来做到这一点