私はテンソルフローでデータをロードするためにキューを使用しています。私のデータはTFRecordsに格納されています。問題は、各データポイントに関連付けられた一意のIDが必要なことですが、これを行う方法はわかりません。 (UIDは、データセットの一部をフィルタリングするか、またはデータセットにノイズを追加するために使用されます;各エポックで同じデータポイントがフィルタリングされるか、同じノイズが追加されることを保証する必要があります)。キュー内の各データポイントに一意のIDを割り当てる方法を教えてください。
私はこのコードを使用してデータポイントをお読みください。
filename_queue = tf.train.string_input_producer(datapaths)
reader = tf.TFRecordReader()
_, serialized_example = reader.read(filename_queue)
features = tf.parse_single_example(
serialized_example,
features={
'image_raw': tf.FixedLenFeature([], tf.string),
'label': tf.FixedLenFeature([], tf.int64),
})
image = tf.decode_raw(features['image_raw'], tf.uint8)
label = tf.cast(features['label'], tf.int32
私はその後、通常のようにimage
とlabel
変数を使用しています。また、データポイントごとに一意の変数uid
が必要です。理想的には、これは0とデータセットのサイズの間の整数で、uid
は現在のデータポイントのインデックスになります。このuid
変数を作成するにはどうすればよいですか?