def decoderFn(num_samples=1, modality='rgb'):
class decoder_func(slim.data_decoder.DataDecoder):
@staticmethod
def list_items():
return ['image', 'label']
@staticmethod
def decode(data, items):
with tf.name_scope('decode_video'):
if modality == 'rgb':
data.set_shape((num_samples,))
elif modality.startswith('flow'):
optical_flow_frames = int(modality[4:])
data.set_shape((num_samples, 2 * optical_flow_frames))
elif modality.startswith('rgb+flow'):
optical_flow_frames = int(modality[-2:])
data.set_shape((num_samples, 1 + 2 * optical_flow_frames))
else:
logging.error('Unknown modality %s\n' % modality)
image_buffer = [_decode_from_string(el, modality) for
el in tf.unpack(data)]
# image_buffer = tf.pack(image_buffer)
return image_buffer
return decoder_func
评论列表
文章目录