def __init__(self, jitter=None, use_extra=True, no_print=True, verbose=False, histogram=False): # Real Trace Handler self.real_trace_handler = rTH.RealTraceHandler(no_print=no_print, use_nn=True, use_lda=False, memory_mapped=True, tprange=700, debug=True, jitter=jitter, use_extra=use_extra) self.verbose = verbose self.histogram = histogram
for i in range(length): variable = '{}{}'.format(v, pad_string_zeros(i + 1)) if not check_file_exists( '{}{}_mlp5_nodes200_window{}_epochs6000_batchsize200_sd100_traces200000_aug0.h5' .format(NEURAL_MODEL_FOLDER, variable, 700)): todo.append(variable) print len(todo), todo exit(1) if USE_REAL_TRACE_HANDLER: traces = TRACES rth_nn = rTH.RealTraceHandler(no_print=False, use_nn=True, memory_mapped=True, tprange=700, debug=True) for var in ['k00{}'.format(i) for i in range(1, 10)]: rth_nn.get_leakage(var, ignore_bad=True) exit(1) # rth_none = rTH.RealTraceHandler(no_print = False, use_nn = False, use_lda = False, memory_mapped=True, tprange=1, debug=True) # rth_lda = rTH.RealTraceHandler(no_print = False, use_nn = False, use_lda = True, memory_mapped=True, tprange=200, debug=True) # rth_nn = rTH.RealTraceHandler(no_print = False, use_nn = True, use_lda = False, memory_mapped=True, tprange=700, debug=True) # csv_file = 'output/variable_template_comparison.csv' # dict_file = 'output/best_template_dict.dict' # clear_csv(csv_file) # append_csv(csv_file, 'VarName,VarNumber,TopTimepoint,TopCoefficient,AriMean,Median,SensibleTimepoint,SensibleCoefficient,Ranked,CoefficientDifference,\n') # append_csv(csv_file, 'Variable Name,Variable Number,Template Mean Rank,Template Median Rank,LDA Mean Rank,LDA Median Rank,Neural Mean Rank,Neural Median Rank,\n') template_dict = {} # for var_name in ['k','t','s']:
def get_best_templates(): rtrace_uni = rTraceH.RealTraceHandler(no_print=False, use_nn=False, use_lda=False, use_best=False, tprange=1, jitter=None, use_extra=False) rtrace_lda = rTraceH.RealTraceHandler(no_print=False, use_nn=False, use_lda=True, use_best=False, tprange=200, jitter=None, use_extra=False) rtrace_nn = rTraceH.RealTraceHandler(no_print=False, use_nn=True, use_lda=False, use_best=False, tprange=700, jitter=None, use_extra=False) #TODO CHANGE BACK template_dict = dict() variables = [ '{}{}'.format(k, pad_string_zeros(i + 1)) for k, v in variable_dict.iteritems() for i in range(v) ] my_csv = 'output/template_results.csv' clear_csv(my_csv) append_csv( my_csv, 'Variable,MaxRankUni,MinRankUni,MeanRankUni,MedianRankUni,RangeRankUni,VarianceRankUni,MaxProbUni,MinProbUni,MeanProbUni,MedianProbUni,RangeProbUni,VarianceProbUni,MaxRankLda,MinRankLda,MeanRankLda,MedianRankLda,RangeRankLda,VarianceRankLda,MaxProbLda,MinProbLda,MeanProbLda,MedianProbLda,RangeProbLda,VarianceProbLda,MaxRankNN,MinRankNN,MeanRankNN,MedianRankNN,RangeRankNN,VarianceRankNN,MaxProbNN,MinProbNN,MeanProbNN,MedianProbNN,RangeProbNN,VarianceProbNN,\n' ) for var in variables: print("\n\n\n*** VARIABLE {} ***".format(var)) ranklist_uni, problist_uni = rtrace_uni.get_performance_of_handler(var) ranklist_lda, problist_lda = rtrace_lda.get_performance_of_handler(var) ranklist_nn, problist_nn = rtrace_nn.get_performance_of_handler(var) print("\n\n* Ranks *") print("\n> Uni") print_statistics(ranklist_uni) print("\n> Lda") print_statistics(ranklist_lda) print("\n> NN") print_statistics(ranklist_nn) print("\n\n* Probabilities *") print("\n> Uni") print_statistics(problist_uni) print("\n> Lda") print_statistics(problist_lda) print("\n> NN") print_statistics(problist_nn) template_dict[var] = dict() template_dict[var]['uni'] = (np.median(ranklist_uni), np.median(problist_uni)) template_dict[var]['lda'] = (np.median(ranklist_lda), np.median(problist_lda)) template_dict[var]['nn'] = (np.median(ranklist_nn), np.median(problist_nn)) append_csv( my_csv, '{},{},{},{},{},{},{},\n'.format( var, get_statistics_string(ranklist_uni), get_statistics_string(problist_uni), get_statistics_string(ranklist_lda), get_statistics_string(problist_lda), get_statistics_string(ranklist_nn), get_statistics_string(problist_nn))) # Save template save_object(template_dict, BEST_TEMPLATE_DICT, suffix=False)
def __init__(self, jitter=None, use_extra = True): # Real Trace Handler self.real_trace_handler = rTH.RealTraceHandler(no_print = True, use_nn = True, use_lda = False, memory_mapped=True, tprange=700, debug=True, jitter=jitter, use_extra = use_extra)