Как сохранить набор данных Tensorflow в CSV? - PullRequest
0 голосов
/ 04 апреля 2019

Я нахожу множество документов / форумов, рассказывающих о том, как преобразовать CSV в набор данных Tensorflow, но нет ни одного, в котором говорится, как преобразовать набор данных в CSV.У меня есть CSV с двумя столбцами сейчас (имя файла, вес - больше столбцов может быть добавлено позже).Я прочитал это в тензор потока и создать набор данных.В конце скрипта 2-й столбец изменяется, и мне нужно сохранить эти столбцы в CSV.Я нуждаюсь в них в csv (не в контрольной точке), потому что мне может понадобиться что-то с этим сделать в Matlab.

Я попытался вызвать функцию карты набора данных и попытался сохранить в 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)

Возможно, это плохое решение.Мне действительно нужен аккуратный способ сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...