def inference_local_s_cnn(images, keep_prob, layer=1, feat=[2]): _print_tensor_size(images, 'inference_local_s_cnn') assert isinstance(keep_prob, object) if not layer == len(feat): print( 'Make sure you have defined the feature map size for each layer.') return # local t # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_filter( images, 'conv0', out_feat=feat[0]) # 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) for l in range(1, layer): # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_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
def inference_local_s_cnn(images, keep_prob, layer=1, feat=[2]): _print_tensor_size(images, 'inference_local_s_cnn') assert isinstance(keep_prob, object) if not layer == len(feat): print('Make sure you have defined the feature map size for each layer.') return # local t # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_filter(images, 'conv0', out_feat=feat[0]) # 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) for l in range(1, layer): # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_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
def inference_cvcnn(images, keep_prob, layer=2, feat=[2, 4]): _print_tensor_size(images, 'inference_cvcnn') assert isinstance(keep_prob, object) if not layer == len(feat): print( 'Make sure you have defined the feature map size for each layer.') return # local st image_shape = images.get_shape().as_list() conv_tensor = rsvp_quick_inference.inference_5x5_filter( images, 'conv0', in_feat=image_shape[3], out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor) for l in range(1, layer): conv_tensor = rsvp_quick_inference.inference_5x5_filter\ (pool_tensor, 'conv'+str(l), in_feat=feat[l-1], out_feat=feat[l]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter( conv_tensor) logits = rsvp_quick_inference.inference_fully_connected_1layer( pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_tscnn(images, keep_prob, layer=2, feat=[2, 4]): _print_tensor_size(images, 'inference_tscnn') assert isinstance(keep_prob, object) # global temporal local temporal conv_tensor = rsvp_quick_inference.inference_global_ts_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) for l in range(1, layer): # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_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, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_global_s_cnn_1layer(images, keep_prob, feat=[4]): _print_tensor_size(images, 'inference_global_s_cnn') assert isinstance(keep_prob, object) # here use the spatial filter which go across time conv_tensor = rsvp_quick_inference.inference_time_wise_filter(images, 'conv1', 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_tscnn(images, keep_prob, layer=2, feat=[2, 4]): _print_tensor_size(images, 'inference_tscnn') assert isinstance(keep_prob, object) # global temporal local temporal conv_tensor = rsvp_quick_inference.inference_global_ts_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) for l in range(1, layer): # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_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, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_tscnn_1layer(images, keep_prob, feat=[2]): _print_tensor_size(images, 'inference_tscnn') assert isinstance(keep_prob, object) conv_tensor = rsvp_quick_inference.inference_global_ts_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_cvcnn(images, keep_prob, layer=2, feat=[2, 4]): _print_tensor_size(images, 'inference_cvcnn') assert isinstance(keep_prob, object) if not layer == len(feat): print('Make sure you have defined the feature map size for each layer.') return # local st conv_tensor = rsvp_quick_inference.inference_5x5_filter(images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor) for l in range(1, layer): conv_tensor = rsvp_quick_inference.inference_5x5_filter\ (pool_tensor, 'conv'+str(l), in_feat=feat[l-1], out_feat=feat[l]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor) 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]) 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_local_s_cnn_1layer(images, keep_prob, layer=1, feat=[2]): _print_tensor_size(images, 'inference_local_s_cnn') assert isinstance(keep_prob, object) # local s # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_filter(images, 'conv0', out_feat=feat[0]) # 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
def inference_global_t_cnn_1layer(images, keep_prob, feat=[4]): _print_tensor_size(images, 'inference_global_t_cnn') assert isinstance(keep_prob, object) # global t # here use the channel wise filter which go across channels conv_tensor = rsvp_quick_inference.inference_channel_wise_filter(images, 'conv1', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_global_s_cnn_1layer(images, keep_prob, feat=[4]): _print_tensor_size(images, 'inference_global_s_cnn') assert isinstance(keep_prob, object) # here use the spatial filter which go across time conv_tensor = rsvp_quick_inference.inference_time_wise_filter( images, 'conv1', 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_tscnn_1layer(images, keep_prob, feat=[2]): _print_tensor_size(images, 'inference_tscnn') assert isinstance(keep_prob, object) conv_tensor = rsvp_quick_inference.inference_global_ts_filter( images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer( pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_global_s_cnn(images, keep_prob, layer=1, feat=[4]): _print_tensor_size(images, 'inference_global_s_cnn') assert isinstance(keep_prob, object) # global s # here use the spatial filter which go across time conv_tensor = rsvp_quick_inference.inference_time_wise_filter(images, 'conv1', out_feat=feat[0]) # the pooling should have the height padding to 1 because no channel anymore 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_global_s_cnn(images, keep_prob, layer=1, feat=[4]): _print_tensor_size(images, 'inference_global_s_cnn') assert isinstance(keep_prob, object) # global s # here use the spatial filter which go across time conv_tensor = rsvp_quick_inference.inference_time_wise_filter(images, 'conv1', out_feat=feat[0]) # the pooling should have the height padding to 1 because no channel anymore 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_global_t_cnn(images, keep_prob, layer=1, feat=[4]): _print_tensor_size(images, 'inference_global_t_cnn') assert isinstance(keep_prob, object) # global t # here use the channel wise filter which go across channels conv_tensor = rsvp_quick_inference.inference_channel_wise_filter(images, 'conv1', out_feat=feat[0]) # the pooling should have the width padding to 1 because no width anymore pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=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]) 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 test_roicnn(images, keep_prob, layer=2, feat=[2, 4]): for l in range(0, layer): if l == 0: conv_tensor = rsvp_quick_inference.inference_5x5_filter(images, 'conv0', out_feat=feat[0]) else: conv_tensor = rsvp_quick_inference.inference_5x5_filter \ (pool_tensor, 'conv' + str(l), in_feat=feat[l - 1], out_feat=feat[l]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, 'pool' + str(l), kheight=2, kwidth=2) logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def test_cvcnn(images, keep_prob, layer=2, feat=[2, 4]): for l in range(0, layer): if l == 0: conv_tensor = rsvp_quick_inference.inference_5x5_filter(images, 'conv0', in_feat=feat[l - 1], out_feat=feat[0]) else: conv_tensor = rsvp_quick_inference.inference_5x5_filter \ (pool_tensor, 'conv' + str(l), in_feat=feat[l - 1], out_feat=feat[l]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, 'pool' + str(l), kheight=poolh, kwidth=poolw) # was 1 x 4 logits = rsvp_quick_inference.inference_fully_connected_1layer(pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_local_t_cnn_1layer(images, keep_prob, feat=[2]): _print_tensor_size(images, 'inference_local_t_cnn') assert isinstance(keep_prob, object) # local t # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_temporal_filter( images, 'conv0', out_feat=feat[0]) pool_tensor = rsvp_quick_inference.inference_pooling_n_filter(conv_tensor, kwidth=1) logits = rsvp_quick_inference.inference_fully_connected_1layer( pool_tensor, keep_prob) assert isinstance(logits, object) return logits
def inference_local_s_cnn_1layer(images, keep_prob, layer=1, feat=[2]): _print_tensor_size(images, 'inference_local_s_cnn') assert isinstance(keep_prob, object) # local s # here use the 1*5 filter which go across channels conv_tensor = rsvp_quick_inference.inference_spatial_filter( images, 'conv0', out_feat=feat[0]) # 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