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);
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')
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 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);
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)
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)
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');
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 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])