tf.keras.Model如何区分tf.data.Dataset和TFRecords中的特征和标签?

问题描述 投票:0回答:1

我正在尝试从CSV数据创建tfrecords文件,然后我想使用tf.data.TFRecordDataset()从它们创建Dataset,然后将Dataset馈送到tf.keras.Model。 (实际上,我正在使用spark-tensorflow-connector直接从Spark数据帧创建tfrecords文件。)

fit() method of tf.keras.Model中,参数fit()是输入数据。可能是:

tf.data数据集。应该返回一个元组(输入,目标)或(输入,目标,sample_weights)。

Q1:这是tf.keras.Model知道将特征和标签分开的地方吗?,即特征是x,标签是tf.keras.Model

但是,在某些示例中,在inputs文件或targets的构建中我看不到任何“元组”。例如,在下面的tfrecords中,

tf.data.Dataset

...

example

Q2:那么,def convert_to_tfrecord(input_files, output_file): """Converts a file to TFRecords.""" print('Generating %s' % output_file) with tf.io.TFRecordWriter(output_file) as record_writer: for input_file in input_files: data_dict = read_pickle_from_file(input_file) data = data_dict[b'data'] labels = data_dict[b'labels'] num_entries_in_batch = len(labels) for i in range(num_entries_in_batch): example = tf.train.Example(features=tf.train.Features( feature={ 'image': _bytes_feature(data[i].tobytes()), 'label': _int64_feature(labels[i]) })) record_writer.write(example.SerializeToString()) 如何知道在哪里找到特征以及在哪里找到标签?为什么模型不会将“标签”作为数据特征?

tensorflow tensorflow2.0 tensorflow-datasets tf.keras
1个回答
0
投票

[您需要考虑完整的代码示例,即完成培训的其他文件等。主要是# Read dataset from tfrecords dataset = tf.data.TFRecordDataset(tfrecords_files) 中的tf.keras.models.Sequential() model函数,它解析TFRecords文件(如果没有这样的解析函数,则数据无法解释)并为每个数据返回一个元组tf.keras.models.Sequential()。然后将此函数映射到parse_and_decode函数中的数据集。

同样地,提供给this file的数据集实际上是元组的数据集,据我所知,如果您将image, label作为create_datasets的输入,这正是模型将假定的结果]函数-元组model.fit的数据集。因此,第一个将作为模型的输入,第二个将作为损失函数的目标。

© www.soinside.com 2019 - 2024. All rights reserved.