in c2/lib/utils/model_helper.py [0:0]
def AddVideoInput(model, reader, **kwargs):
if 'input_type' in kwargs:
input_type = kwargs['input_type']
else:
input_type = False
if 'get_video_id' in kwargs:
get_video_id = kwargs['get_video_id']
else:
get_video_id = False
if 'get_start_frame' in kwargs:
get_start_frame = kwargs['get_start_frame']
else:
get_start_frame = False
if input_type == 0:
log.info('outputing rgb data')
elif input_type == 1:
log.info('outputing optical flow data')
elif input_type == 2:
log.info('outputing logmels')
elif input_type == 3:
log.info('outputing rgb and logmels')
else:
log.info('unknown input_type option')
if input_type <= 1: # no audio decoding
if get_video_id:
if get_start_frame:
data, label, video_id, start_frame = model.net.VideoInput(
reader,
["data", "label", "video_id", "start_frame"],
name="data",
**kwargs
)
else:
data, label, video_id = model.net.VideoInput(
reader,
["data", "label", "video_id"],
name="data",
**kwargs
)
else:
data, label = model.net.VideoInput(
reader,
["data", "label"],
name="data",
**kwargs
)
else:
if input_type == 2:
if get_video_id:
if get_start_frame:
data, label, video_id, start_frame = model.net.AVInput(
reader,
["data", "label", "video_id", "start_frame"],
name="data",
**kwargs
)
else:
data, label, video_id = model.net.AVInput(
reader,
["data", "label", "video_id"],
name="data",
**kwargs
)
else:
data, label = model.net.AVInput(
reader,
["data", "label"],
name="data",
**kwargs
)
else:
assert input_type == 3, "unknown video input type"
if get_video_id:
if get_start_frame:
data, logmels, label, video_id, start_frame = model.net.AVInput(
reader,
["data", "logmels", "label", "video_id", "start_frame"],
name="data",
**kwargs
)
else:
data, logmels, label, video_id = model.net.AVInput(
reader,
["data", "logmels", "label", "video_id"],
name="data",
**kwargs
)
else:
data, logmels, label = model.net.AVInput(
reader,
["data", "logmels", "label"],
name="data",
**kwargs
)
logmels = model.StopGradient(logmels, logmels)
data = model.StopGradient(data, data)