Сначала мы читаем в нашей tfrecord и получаем его функции:
reader = tf.TFRecordReader()
_ , serialized_example = reader.read(filename_queue)
features = tf.parse_single_example(serialized_example,
features={
'image_raw': tf.FixedLenFeature([],tf.string),
'shape_type' : tf.FixedLenFeature([], tf.int64),
'bbtl_x' : tf.FixedLenFeature([], tf.int64),
'bbtl_y' : tf.FixedLenFeature([], tf.int64),
'bbbr_x' : tf.FixedLenFeature([], tf.int64),
'bbbr_y' : tf.FixedLenFeature([], tf.int64)
})
Теперь у нас есть наши функции, которые мы можем использовать tf.stack (), чтобы построить тензор для наших мультилаблов и добавить его в наш график:
label = tf.stack([features['shape_type'],
features['bbtl_x'],
features['bbtl_y'],
features['bbbr_x'],
features['bbbr_y'] ], axis=0 )
image = tf.decode_raw(features['image_raw'], tf.uint8)
images_batch, labels_batch = tf.train.shuffle_batch([image,label],
batch_size=128,
capacity=2000,
min_after_dequeue=1000)