if res>last_perf: last_perf = res #bestM = read_allparamters_dual(context) # # Necessary otherwise will only train on 1000 images total. # # ############# # if n_epochs == 0 and test_every>0: #Test only # print 'Test only' # res = run_classify(context, labels_test) # acc_hist.append([0, res]) # print res # M = process_parameters_auto(context) d=et.mksavedir() et.globaldata.context = context et.save() et.save(context, 'context.pkl') et.save(sys.argv, 'sysargv.pkl') et.save(M,'M.pkl') et.save(spkcnt,'spkcnt.pkl') et.save(bestM,'bestM.pkl') et.save(acc_hist, 'acc_hist.pkl') et.annotate('res',text=str(acc_hist)) textannotate('last_res',text=str(acc_hist)) textannotate('last_dir',text=d) # # # #
copyfile(fname_train.shared_mem+'_core_0.dat', fname_test.syn_wgt_table+'_core_0.dat',) # cfg_test.core_cfgs[0].W = c_nsat_reader_train.read_c_nsat_weights()[0] # cfg_train.core_cfgs[0].W = cfg_test.core_cfgs[0].W.copy() # c_nsat_writer_test.write_L0connectivity() # c_nsat_writer_train.write_L0connectivity() if test_every>0: if i % test_every == test_every-1: nsat.run_c_nsat(fname_test) test_spikelist = nsat.importAER(c_nsat_reader_test.read_c_nsat_raw_events()[0], sim_ticks=sim_ticks_test, id_list=np.arange(sP, sP+Np)) pip .append([i, float(sum(np.argmax(test_spikelist.id_slice(range(sP,sP+Np)).firing_rate(t_sample_test).T,axis=1) == targets_classify[:N_test]))/N_test*100]) print exp_name print pip copyfile(fname_train.shared_mem+'_core_0.dat', fname_train.syn_wgt_table+'_core_0.dat',) try: import experimentTools as et d=et.mksavedir() et.save(cfg_test, 'cfg_test.pkl') et.save(cfg_train, 'cfg_train.pkl') et.save(pip, 'pip.pkl') et.annotate('res',text=str(pip)) except ImportError: print('saving disabled due to missing experiment tools')
nsat.run_c_nsat(fname_train) print(('Run took {0} seconds'.format(time.time() - t0))) for j in range(setup.ncores): #train->test shutil.copy(exp_name + '/_shared_mem_core_{0}.dat'.format(j), exp_name_test + '/_wgt_table_core_{0}.dat'.format(j)) #train->train shutil.copy(exp_name + '/_shared_mem_core_{0}.dat'.format(j), exp_name + '/_wgt_table_core_{0}.dat'.format(j)) if test_every > 0: if i % test_every == test_every - 1: nsat.run_c_nsat(fname_test) acc, slout = test_accuracy(c_nsat_reader_test, targets=targets_classify[:N_test], pop=pop_out, sim_ticks=sim_ticks_test, duration=t_sample_test) pip.append([i, acc]) print(exp_name) print(pip) try: import experimentTools as et d = et.mksavedir(pre='Results_Scripts/') et.save(pip, 'pip.pkl') et.annotate('res', text=str(pip)) except ImportError: print('saving disabled due to missing experiment tools')
id_list=np.arange(sP, sP + Np)) pip.append([ i, float( sum( np.argmax(test_spikelist.id_slice(range( sP, sP + Np)).firing_rate(t_sample_test).T, axis=1) == targets_classify[:N_test])) / N_test * 100 ]) print exp_name print pip copyfile( fname_train.shared_mem + '_core_0.dat', fname_train.syn_wgt_table + '_core_0.dat', ) try: import experimentTools as et d = et.mksavedir() et.save(cfg_test, 'cfg_test.pkl') et.save(cfg_train, 'cfg_train.pkl') et.save(stats_nsat, 'stats_nsat.pkl') et.save(pip, 'pip.pkl') et.annotate('res', text=str(pip)) et.save(c_nsat_reader_train.read_c_nsat_weights()[0], 'W.pkl') except ImportError: print('saving disabled due to missing experiment tools')