def _read_word_record(data_queue):
reader = tf.TFRecordReader() # Construct a general reader
key, example_serialized = reader.read(data_queue)
feature_map = {
'image/encoded': tf.FixedLenFeature( [], dtype=tf.string,
default_value='' ),
'image/labels': tf.VarLenFeature( dtype=tf.int64 ),
'image/width': tf.FixedLenFeature( [1], dtype=tf.int64,
default_value=1 ),
'image/filename': tf.FixedLenFeature([], dtype=tf.string,
default_value='' ),
'text/string': tf.FixedLenFeature([], dtype=tf.string,
default_value='' ),
'text/length': tf.FixedLenFeature( [1], dtype=tf.int64,
default_value=1 )
}
features = tf.parse_single_example( example_serialized, feature_map )
image = tf.image.decode_jpeg( features['image/encoded'], channels=1 ) #gray
width = tf.cast( features['image/width'], tf.int32) # for ctc_loss
label = tf.serialize_sparse( features['image/labels'] ) # for batching
length = features['text/length']
text = features['text/string']
filename = features['image/filename']
return image,width,label,length,text,filename
评论列表
文章目录