def np_2_vExample(vid, labs, rgb, audio):
nframes = audio.shape[0]
if False:
# top 5
k = 5
if nframes > 10:
tk_rgb = my_utils.top_k_along_column(rgb, k)
tk_audio = my_utils.top_k_along_column(audio, k)
else:
tk_rgb = np.repeat(rgb[0].reshape([1, rgb.shape[1]]), k, axis=0)
tk_audio = np.repeat(audio[0].reshape([1, audio.shape[1]]), k, axis=0)
# std of all rgb or audio entries
s_rgb = np.std(rgb)
s_aud = np.std(audio)
rgb_sq = rgb * rgb
aud_sq = audio * audio
vExample = tf.train.Example(features=tf.train.Features(feature={
'video_id': my_utils._byteslist_feature([vid]),
'labels': my_utils._int64list_feature(labs),
'mean_rgb': my_utils._floatlist_feature(np.mean(rgb, axis=0)),
'mean_audio': my_utils._floatlist_feature(np.mean(audio, axis=0)),
'std_rgb': my_utils._floatlist_feature(np.std(rgb, axis=0)),
'std_audio': my_utils._floatlist_feature(np.std(audio, axis=0)),
'x3_rgb': my_utils._floatlist_feature(np.cbrt(np.mean(rgb_sq * rgb, axis=0))),
'x3_audio': my_utils._floatlist_feature(np.cbrt(np.mean(aud_sq * audio, axis=0))),
'num_frames': my_utils._floatlist_feature([(nframes-151.)/300.]),
'std_all_rgb': my_utils._floatlist_feature([s_rgb]),
'std_all_audio': my_utils._floatlist_feature([s_aud])
}))
#'top_1_rgb': my_utils._floatlist_feature(tk_rgb[-1]),
#'top_3_rgb': my_utils._floatlist_feature(tk_rgb[-3]),
#'top_5_rgb': my_utils._floatlist_feature(tk_rgb[-5]),
#'top_1_audio': my_utils._floatlist_feature(tk_audio[-1]),
#'top_3_audio': my_utils._floatlist_feature(tk_audio[-3]),
#'top_5_audio': my_utils._floatlist_feature(tk_audio[-5]),
return vExample
#%%
评论列表
文章目录