def inference_stcnn_1layer(images, keep_prob, feat=[4]): _print_tensor_size(images, 'inference_stcnn') assert isinstance(keep_prob, object) # global spatial local temporal conv_tensor = rsvp_quick_inference.inference_global_st_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kheight=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_stcnn_1layer(images, keep_prob, feat=[4]): _print_tensor_size(images, 'inference_stcnn') assert isinstance(keep_prob, object) # global spatial local temporal conv_tensor = rsvp_quick_inference.inference_global_st_filter( images, 'conv0', out_feat=feat[0]) logits = rsvp_quick_inference.inference_fully_connected_1layer( conv_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_stcnn(images, keep_prob, layer=2, feat=[2, 4]): _print_tensor_size(images, 'inference_stcnn') assert isinstance(keep_prob, object) # global spatial local temporal conv_tensor = rsvp_quick_inference.inference_global_st_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kheight=1) for l in range(1, layer): # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_temporal_filter\ (pool_tensor, 'conv'+str(l), in_feat=feat[l-1], out_feat=feat[l]) # the pooling should have the width padding to 1 because we only consider channel correlation pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kheight=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits