Пример #1
0
def visualizeBestTubeRank(params):
    class_labels_map = params.class_labels_map
    rel_path = params.rel_path
    out_file_html = params.out_file_html
    out_dir = params.out_dir
    score_info_file = params.score_info_file
    
    [class_labels,class_idx_map]=zip(*class_labels_map);
    class_labels=list(class_labels);
    class_idx_map=list(class_idx_map);
    [score_files,score_files_info]=pickle.load(open(score_info_file,'rb'));
    class_idx=np.unique(score_files_info[:,0]);
    tubes=np.unique(score_files_info[:,3])
    best_tubes_overall=score_files_info[:,3];
    out_file=os.path.join(out_dir,'overall.png');
    visualize.hist(best_tubes_overall,out_file,bins=tubes,normed=True,xlabel='Tube_idx',ylabel='Frequency',title='Best Tube Over All',cumulative=False)

    img_paths=[];
    captions=[];
    for class_idx_curr in class_idx:

        label=class_labels[class_idx_map.index(class_idx_curr)]
        out_file=os.path.join(out_dir,label+'.png');
        img_paths.append([out_file.replace(rel_path[0],rel_path[1])]);
        captions.append([label]);
        rel_tubes=score_files_info[score_files_info[:,0]==class_idx_curr,3];
        print class_idx_curr,rel_tubes.shape,min(rel_tubes),max(rel_tubes);
        visualize.hist(rel_tubes,out_file,bins=tubes,normed=True,xlabel='Tube Idx',ylabel='Frequency',title='Best Tube '+label,cumulative=False)        
    # visualize.save

    visualize.writeHTML(out_file_html,img_paths,captions,400,400);
Пример #2
0
def script_visualizeHashBinDensity(params):

    hash_tables = params.hash_tables
    in_files = params.in_files
    out_files = params.out_files
    out_file_html = params.out_file_html
    rel_path = params.rel_path
    bins = params.bins
    height_width = params.height_width

    min_maxs = []
    for file_idx, in_file in enumerate(in_files):
        densities = pickle.load(open(in_file, 'rb'))
        densities = densities.values()
        min_maxs.append((min(densities), max(densities)))
        visualize.hist(densities,
                       out_files[file_idx],
                       bins=bins,
                       normed=True,
                       xlabel='Bin Density',
                       ylabel='Frequency',
                       title="Hash Bins' Density")

    img_files_html = [[out_file.replace(rel_path[0], rel_path[1])]
                      for out_file in out_files]
    captions_html = []
    for idx_hash_table, hash_table in enumerate(hash_tables):
        caption_curr = str(hash_table) + ' ' + str(min_maxs[idx_hash_table])
        captions_html.append([caption_curr])

    visualize.writeHTML(out_file_html, img_files_html, captions_html,
                        height_width[0], height_width[1])
def visualizeScores(path_to_data,out_file):
    data=np.load(path_to_data);
    scores=data[:,-2];
    print np.unique(data[:,-1]);
    print np.min(scores);
    print np.max(scores);
    visualize.hist(scores,out_file,bins=100,normed=True,xlabel='Value',ylabel='Frequency',title='Predicted Scores')
Пример #4
0
def script_visualizeHashBinDensity(params):

    hash_tables = params.hash_tables
    in_files = params.in_files
    out_files = params.out_files
    out_file_html = params.out_file_html
    rel_path = params.rel_path
    bins = params.bins
    height_width = params.height_width

    min_maxs=[];
    for file_idx,in_file in enumerate(in_files):
        densities=pickle.load(open(in_file,'rb'));
        densities=densities.values();
        min_maxs.append((min(densities),max(densities)))
        visualize.hist(densities,out_files[file_idx],bins=bins,normed=True,xlabel='Bin Density',
            ylabel='Frequency',title="Hash Bins' Density")

    img_files_html=[[out_file.replace(rel_path[0],rel_path[1])] for out_file in out_files];
    captions_html=[]
    for idx_hash_table,hash_table in enumerate(hash_tables):
        caption_curr=str(hash_table)+' '+str(min_maxs[idx_hash_table]);
        captions_html.append([caption_curr]);

    visualize.writeHTML(out_file_html,img_files_html,captions_html,height_width[0],height_width[1]);
Пример #5
0
def main():
	
	dir_clusters='/disk2/temp/youtube_clusters_check_nothresh';
	out_dir=os.path.join(dir_clusters,'viz');
	util.mkdir(out_dir);
	script_seeMultipleClusters(dir_clusters,out_dir)

	





	return
	
	script_seeMultipleClusters();
	return
	dir_clusters='/disk3/maheen_data/debug_networks/clusters_youtube_multiple';
	clusters_all=util.getFilesInFolder(dir_clusters,'.npy');
	clusters_all=[file_curr for file_curr in clusters_all if 'harder' in file_curr];
	clusters_all.append(os.path.join(dir_clusters,'clusters_original.npy'));
	min_mags=[];
	for file_curr in clusters_all:
		clusters=np.load(file_curr);
		mags=np.power(np.sum(np.power(clusters,2),axis=1),0.5);
		min_mag=np.min(mags);
		min_mags.append(min_mag);

	print min_mags,np.max(min_mags);

	thresh=1;
	counts=[];
	for file_curr in clusters_all:
		clusters=np.load(file_curr);
		print file_curr
		mags=np.power(np.sum(np.power(clusters,2),axis=1),0.5);
		count=np.sum(mags<=thresh);
		print count
		counts.append(count);

	print np.mean(counts);


	# return
	dir_curr='/disk3/maheen_data/debug_networks/figuringClustering';
	mag_file=os.path.join(dir_curr,'mags_all.npy');
	mags=np.load(mag_file);
	
	print len(mags),np.sum(mags<=thresh);
	mags=mags[mags>thresh];
	print len(mags);

	out_file=os.path.join(dir_curr,'mag_hist_noZero.png');
	visualize.hist(mags,out_file,bins=40,normed=True,xlabel='Value',ylabel='Frequency',title='',cumulative=False);
	print out_file.replace('/disk3','vision3.cs.ucdavis.edu:1001');

	print np.min(mags),np.max(mags),np.mean(mags),np.std(mags);
Пример #6
0
def script_visualizeRankDifferenceAsHist(params):
    out_file_pre = params.out_file_pre;
    out_file_html = params.out_file_html;
    rel_path = params.rel_path;
    class_ids = params.class_id;
    layers = params.layer
    
    if not hasattr(class_ids, '__iter__'):
        class_ids = [class_ids];
    
    if not hasattr(class_ids, '__iter__'):
        layers = [layers];

    img_paths_html=[];
    captions=[];
    for class_id in class_ids:
        img_paths_html_row=[];
        captions_row=[];
        for layer in layers:
            params = params._replace(class_id=class_id)
            params = params._replace(layer=layer)
            output=getNNRankComparisonInfo(params);
            indices_difference=experiments_super.getDifferenceInRank(output['img_paths_nn_train'],
                                                output['img_paths_nn_no_train'],
                                                output['nn_rank_train'],
                                                output['nn_rank_no_train']);
            xlabel='Difference in Rank (Train - Untrained)';
            ylabel='Frequency'
            title=class_id+' '+layer
            indices_difference=[diff_curr for diffs_curr in indices_difference for diff_curr in diffs_curr]
            
            if len(indices_difference)==0:
                continue;
            
            out_file_im=out_file_pre+'_'+str(params.angle)+'_'+str(params.diff)+'_'+str(params.delta)+'_'+class_id+'_'+layer+'.png';
            img_paths_html_row.append(out_file_im.replace(rel_path[0],rel_path[1]));
            total=len(indices_difference)
            sum_less=sum(np.array(indices_difference)<0)/float(total);
            sum_less='%0.2f'%(sum_less,)
            sum_more=sum(np.array(indices_difference)>=0)/float(total);
            sum_more='%0.2f'%(sum_more,)
            captions_row.append('Total '+str(total)+', <0: '+sum_less+', >0: '+sum_more);
            
            visualize.hist(indices_difference,out_file=out_file_im,bins=params.bins,normed=params.normed,xlabel=xlabel,ylabel=ylabel,title=title);
            
        img_paths_html.append(img_paths_html_row);
        captions.append(captions_row);

    visualize.writeHTML(out_file_html,img_paths_html,captions,params.height_width[0],params.height_width[1]);
def makeTifHists(tif_files,out_file_x,out_file_y,bins=range(1,41)):
	tif_x=[];
	tif_y=[];

	for idx_file_curr,file_curr in enumerate(tif_files):
		print idx_file_curr
		tif_curr=scipy.misc.imread(file_curr);
		tif_curr_x=list(np.ravel(tif_curr[:,:,0]));
		tif_curr_y=list(np.ravel(tif_curr[:,:,1]));
		tif_x=tif_x+tif_curr_x;
		tif_y=tif_y+tif_curr_y;
	len(tif_x);
	len(tif_y);
	print scipy.stats.mode(tif_x);
	print scipy.stats.mode(tif_y);
	visualize.hist(tif_x,out_file_x,bins=bins)
	visualize.hist(tif_y,out_file_y,bins=bins)
Пример #8
0
def visualizeBestTubeRank(params):
    class_labels_map = params.class_labels_map
    rel_path = params.rel_path
    out_file_html = params.out_file_html
    out_dir = params.out_dir
    score_info_file = params.score_info_file

    [class_labels, class_idx_map] = zip(*class_labels_map)
    class_labels = list(class_labels)
    class_idx_map = list(class_idx_map)
    [score_files, score_files_info] = pickle.load(open(score_info_file, 'rb'))
    class_idx = np.unique(score_files_info[:, 0])
    tubes = np.unique(score_files_info[:, 3])
    best_tubes_overall = score_files_info[:, 3]
    out_file = os.path.join(out_dir, 'overall.png')
    visualize.hist(best_tubes_overall,
                   out_file,
                   bins=tubes,
                   normed=True,
                   xlabel='Tube_idx',
                   ylabel='Frequency',
                   title='Best Tube Over All',
                   cumulative=False)

    img_paths = []
    captions = []
    for class_idx_curr in class_idx:

        label = class_labels[class_idx_map.index(class_idx_curr)]
        out_file = os.path.join(out_dir, label + '.png')
        img_paths.append([out_file.replace(rel_path[0], rel_path[1])])
        captions.append([label])
        rel_tubes = score_files_info[score_files_info[:, 0] == class_idx_curr,
                                     3]
        print class_idx_curr, rel_tubes.shape, min(rel_tubes), max(rel_tubes)
        visualize.hist(rel_tubes,
                       out_file,
                       bins=tubes,
                       normed=True,
                       xlabel='Tube Idx',
                       ylabel='Frequency',
                       title='Best Tube ' + label,
                       cumulative=False)
    # visualize.save

    visualize.writeHTML(out_file_html, img_paths, captions, 400, 400)
Пример #9
0
def script_toyNNExperiment(params):
    path_to_db = params.path_to_db;
    class_id_pascal = params.class_id_pascal;
    video_id = params.video_id;
    shot_id = params.shot_id;
    tube_id = params.tube_id;
    numberofVideos = params.numberofVideos;
    numberOfFrames = params.numberOfFrames;
    out_file_html = params.out_file_html;
    rel_path = params.rel_path;
    out_file_hist = params.out_file_hist;
    gpuFlag = params.gpuFlag;
    dtype = params.dtype;
    pascal_ids = params.pascal_ids;
    video_info = params.video_info;
    out_file_pickle = params.out_file_pickle

    info_for_extraction=getInfoForFeatureExtractionForVideo(path_to_db,video_info,numberOfFrames);    
    video_info={class_id_pascal:[video_id]}
    info_for_extraction_query=getInfoForExtractionForTube(path_to_db,class_id_pascal,video_id,shot_id,tube_id)
    features_train,labels_train,img_paths_train=setUpFeaturesMat(info_for_extraction,dtype=dtype);
    features_test,labels_test,img_paths_test=setUpFeaturesMat(info_for_extraction_query,dtype=dtype);
    # features_test,labels_test,img_paths_test=setUpFeaturesMat(info_for_extraction,dtype=dtype);
    indices,distances=nearest_neighbor.getNearestNeighbors(features_test,features_train,gpuFlag=gpuFlag);
    
    img_paths_html=[];
    captions_html=[];
    record_wrong=[]
    for r in range(indices.shape[0]):
        img_paths_row=[img_paths_test[r].replace(rel_path[0],rel_path[1])];
        captions_row=[labels_test[r]];
        for c in range(indices.shape[1]):
            rank=indices[r,c];
            img_paths_row.append(img_paths_train[rank].replace(rel_path[0],rel_path[1]))
            captions_row.append(labels_train[rank]);
            if labels_train[rank]!=labels_test[r]:
                record_wrong.append(c);
        img_paths_html.append(img_paths_row);
        captions_html.append(captions_row);

    visualize.writeHTML(out_file_html,img_paths_html,captions_html);
    visualize.hist(record_wrong,out_file_hist,bins=20,normed=True,xlabel='Rank of Incorrect Class',ylabel='Frequency',title='')
    pickle.dump([features_test,features_train,labels_test,labels_train,img_paths_test,img_paths_train,indices,distances],open(out_file_pickle,'wb'));
def script_saveBestImage():
    dir_overlaps = '/disk3/maheen_data/headC_160_noFlow_bbox/mat_overlaps_no_neg_1000';
    out_dir='/disk3/maheen_data/debugging_score_and_scale';
    util.mkdir(out_dir);
    num_to_pick=10;

    mat_overlaps = util.getFilesInFolder(dir_overlaps,'.npz');

    args=[];
    for idx_mat_overlap_file,mat_overlap_file in enumerate(mat_overlaps):
        args.append((mat_overlap_file,num_to_pick,idx_mat_overlap_file));

    p = multiprocessing.Pool(multiprocessing.cpu_count());
    pred_scores_all = p.map(loadAndPickN,args);
    
    pred_scores_all = np.vstack(pred_scores_all);
    
    best_image_all = pred_scores_all[:,1];

    out_hist = os.path.join(out_dir,'best_image_hist.png');
    visualize.hist(best_image_all,out_hist,bins=7,normed=True,xlabel='Value',ylabel='Frequency',title='Best Image Hist');
    print out_hist.replace('/disk3','vision3.cs.ucdavis.edu:1001');
Пример #11
0
def script_visualizeRankDifferenceAsHist(params):
    out_file_pre = params.out_file_pre
    out_file_html = params.out_file_html
    rel_path = params.rel_path
    class_ids = params.class_id
    layers = params.layer

    if not hasattr(class_ids, '__iter__'):
        class_ids = [class_ids]

    if not hasattr(class_ids, '__iter__'):
        layers = [layers]

    img_paths_html = []
    captions = []
    for class_id in class_ids:
        img_paths_html_row = []
        captions_row = []
        for layer in layers:
            params = params._replace(class_id=class_id)
            params = params._replace(layer=layer)
            output = getNNRankComparisonInfo(params)
            indices_difference = experiments_super.getDifferenceInRank(
                output['img_paths_nn_train'], output['img_paths_nn_no_train'],
                output['nn_rank_train'], output['nn_rank_no_train'])
            xlabel = 'Difference in Rank (Train - Untrained)'
            ylabel = 'Frequency'
            title = class_id + ' ' + layer
            indices_difference = [
                diff_curr for diffs_curr in indices_difference
                for diff_curr in diffs_curr
            ]

            if len(indices_difference) == 0:
                continue

            out_file_im = out_file_pre + '_' + str(params.angle) + '_' + str(
                params.diff) + '_' + str(
                    params.delta) + '_' + class_id + '_' + layer + '.png'
            img_paths_html_row.append(
                out_file_im.replace(rel_path[0], rel_path[1]))
            total = len(indices_difference)
            sum_less = sum(np.array(indices_difference) < 0) / float(total)
            sum_less = '%0.2f' % (sum_less, )
            sum_more = sum(np.array(indices_difference) >= 0) / float(total)
            sum_more = '%0.2f' % (sum_more, )
            captions_row.append('Total ' + str(total) + ', <0: ' + sum_less +
                                ', >0: ' + sum_more)

            visualize.hist(indices_difference,
                           out_file=out_file_im,
                           bins=params.bins,
                           normed=params.normed,
                           xlabel=xlabel,
                           ylabel=ylabel,
                           title=title)

        img_paths_html.append(img_paths_html_row)
        captions.append(captions_row)

    visualize.writeHTML(out_file_html, img_paths_html, captions,
                        params.height_width[0], params.height_width[1])
Пример #12
0
def script_visualizeRankDifferenceAsHist(params):
    out_file_pre = params.out_file_pre
    out_file_html = params.out_file_html
    rel_path = params.rel_path
    class_ids = params.class_id
    layers = params.layer

    if not hasattr(class_ids, "__iter__"):
        class_ids = [class_ids]

    if not hasattr(layers, "__iter__"):
        layers = [layers]

    img_paths_html = []
    captions = []
    for class_id in class_ids:
        print class_id
        img_paths_html_row = []
        captions_row = []
        for layer in layers:
            print layer
            params = params._replace(class_id=class_id)
            params = params._replace(layer=layer)
            output = getNNRankComparisonInfo(params)
            indices_difference = experiments_super.getDifferenceInRank(
                output["img_paths_nn_train"],
                output["img_paths_nn_no_train"],
                output["nn_rank_train"],
                output["nn_rank_no_train"],
            )
            xlabel = "Difference in Rank (Train - Untrained)"
            ylabel = "Frequency"
            title = class_id + " " + layer
            indices_difference = [diff_curr for diffs_curr in indices_difference for diff_curr in diffs_curr]

            if len(indices_difference) == 0:
                continue

            out_file_im = out_file_pre + "_" + class_id + "_" + layer + ".png"
            img_paths_html_row.append(out_file_im.replace(rel_path[0], rel_path[1]))
            total = len(indices_difference)
            sum_less = sum(np.array(indices_difference) < 0) / float(total)
            sum_less = "%0.2f" % (sum_less,)
            sum_more = sum(np.array(indices_difference) >= 0) / float(total)
            sum_more = "%0.2f" % (sum_more,)
            captions_row.append("Total " + str(total) + ", <0: " + sum_less + ", >0: " + sum_more)

            visualize.hist(
                indices_difference,
                out_file=out_file_im,
                bins=params.bins,
                normed=params.normed,
                xlabel=xlabel,
                ylabel=ylabel,
                title=title,
            )

        img_paths_html.append(img_paths_html_row)
        captions.append(captions_row)

    visualize.writeHTML(out_file_html, img_paths_html, captions, params.height_width[0], params.height_width[1])