#tensorflow
#tensorflow
Вопрос:
Я следую этому руководству:https://medium.com/mostly-ai/tensorflow-records-what-they-are-and-how-to-use-them-c46bc4bbb564
и я создал некоторые из них SequentialExamples
, как я могу создать tf.data.Dataset
из них?
У меня есть одномерный список значений фондового рынка на Python, и я хочу в конечном итоге передать нейронной сети значения t1, t2, t3 и заставить ее предсказывать t4 и t5. Я вызову следующий метод и создам множество примеров, где X — входные данные, а Y — прогнозирование.
def make_example(x=[1,2,3], y=[1,2]):
x_feature = [tf.train.Feature(float_list=tf.train.FloatList(value=x))]
y_feature = [tf.train.Feature(float_list=tf.train.FloatList(value=y))]
x_flist = tf.train.FeatureList(feature=x_feature)
y_flist = tf.train.FeatureList(feature=y_feature)
feature_lists = tf.train.FeatureLists(feature_list={
"input_x": x_flist,
"output_y": y_flist
})
example = tf.train.SequenceExample(feature_lists=feature_lists)
print(example)
return example
Я хочу создать tf.data.Dataset
из списка Python tf.train.SequenceExample
.
Комментарии:
1. Привет, jdoe. Попробуйте дать немного больше контекста. Приведите примеры кода, если у вас уже что-то есть. Это облегчает людям оказание вам помощи.
2. Спасибо за ваш комментарий, скоро будет обновление.
3. @H4kor обновлено, вы можете взглянуть сейчас?
Ответ №1:
Вам нужно открыть writer
writer = tf.python_io.TFRecordWriter(file_name.tfrecords)
example = tf.train.SequenceExample(feature_lists=f_lists)
writer.write(example.SerializeToString())
writer.close()
Затем создайте функцию синтаксического анализа
def parse_fn(example):
example_features = {"input_x": x_flist,
"output_y": y_flist}
parsed = tf.parse_single_example(serialized=example, features=example_features)
return input_x, output_y
Затем создайте набор данных
dataset = tf.data.TFRecordDataset(file_name.tfrecords)
dataset = dataset.shuffle().repeat()
dataset = dataset.map(parse_fn)
Комментарии:
1. Итак, если я хочу создать набор данных, я всегда: 1. Создаю примеры в оперативной памяти, 2. Сохраняю примеры на диске, 3. Считываю примеры с диска? Это звучит неэффективно вы знаете, почему мы делаем это таким образом?
2. Создание tfrecord — это, конечно, одноразовая операция. В зависимости от ваших данных, это может занять время