QVPR / VPRSNN

Code for our IEEE RAL + ICRA 2022 paper "Spiking Neural Networks for Visual Place Recognition via Weighted Neuronal Assignments", and our ICRA2023 paper "Ensembles of Compact, Region-specific & Regularized Spiking Neural Networks for Scalable Place Recognition"
MIT License
49 stars 6 forks source link

Can't find "inputNumbers500.npy" #18

Closed berthaSZ closed 2 months ago

berthaSZ commented 5 months ago

Hello @Somayeh-h,

I was trying to run "modular_snn/modular_snn_processing.py". However, after executing some training steps it returns the following error.

File "modular_snn/modular_snn_processing.py", line 191, in main(args) File "modular_snn/modular_snn_processing.py", line 105, in main process_one_snn_module(args) File "/home/bertha/VPRSNN/modular_snn/one_snn_module_processing.py", line 110, in main evaluate_snn_module(args) File "/home/bertha/VPRSNN/non_modular_snn/snn_model_evaluation.py", line 105, in main training_input_numbers = np.load(main_folder_path + 'inputNumbers' + training_ending + ending) File "/home/bertha/.pyenv/versions/VPRSNN_virtualenv/lib/python3.8/site-packages/numpy/lib/npyio.py", line 405, in load fid = stack.enter_context(open(os_fspath(file), "rb")) FileNotFoundError: [Errno 2] No such file or directory: './outputs/outputs_ne400_L25_offset{}/inputNumbers500.npy'

I made sure that my python environment has the necessary packages and I organized the Nordland data paths accordingly. Would you try to setup a new python environment and see if you can reproduce this error? It would be great if you can help me to solve this.

Best, Bertha

Somayeh-h commented 5 months ago

Hello @berthaSZ,

Thank you for reaching out to us about this issue.

Based on the error that you faced, it seems that the args.ad_path parameter was not updated properly, as it should have a value (that is set using args.offset_after_skip) instead of a squiggly bracket.

I just updated the main branch with removing the duplicated update of the variable args.ad_path. This update only applies for training locally on your computer. If you are using another training method, just make sure that the args.ad_path is formatted for different modules based on their args.offset_after_skip value, which is already set as follows args.ad_path = ad_path_base.format(args.offset_after_skip) in the modular_snn/modular_snn_processing.py file.

Thanks, Somayeh

berthaSZ commented 5 months ago

Thank you @Somayeh-h . I tried it again after pulling your updates. However, it still throws the same error.

Traceback (most recent call last): File "modular_snn/modular_snn_processing.py", line 192, in main(args) File "modular_snn/modular_snn_processing.py", line 106, in main process_one_snn_module(args) File "/home/bertha/VPRSNN/modular_snn/one_snn_module_processing.py", line 110, in main evaluate_snn_module(args) File "/home/bertha/VPRSNN/non_modular_snn/snn_model_evaluation.py", line 105, in main training_input_numbers = np.load(main_folder_path + 'inputNumbers' + training_ending + ending) File "/home/bertha/.pyenv/versions/VPRSNN_virtualenv/lib/python3.8/site-packages/numpy/lib/npyio.py", line 405, in load fid = stack.enter_context(open(os_fspath(file), "rb")) FileNotFoundError: [Errno 2] No such file or directory: './outputs/outputs_ne400_L25_offset0/inputNumbers500.npy'

Somayeh-h commented 4 months ago

Hi @berthaSZ,

I have just updated the repo with another commit, remving the integer value for the saved input numbers used for training, inputNumbers.npy, so that the same file can be used for evaluating different epochs.

I hope it makes sense. I had removed this from this public version of the code to make it easier, but missed testing it for the case where every epoch is evaluated for calibration. Thank you for raising this issue.

After training a module, please check the output folder to verify that the saved output files exist.

Thanks, Somayeh

berthaSZ commented 4 months ago

Hi @Somayeh-h,

After your recent updates, I was able to execute /modular_snn/modular_snn_processing.py. This is my input on the terminal:

python3 modular_snn/modular_snn_processing.py --run_mode="local" --process_mode="train" --dataset='nordland' --num_labels=25 --num_cal_labels=600 --num_test_labels=2700 --num_query_imgs=3300 --skip=8 --offset_after_skip=0 --update_interval=250 --folder_id='NRD_SFS' --n_e=400 --epochs=80 --seed=0

It has been running since last Monday. Yes, it is still running :) Here is how my /outputs directory tree looks:

Click to expand outputs/ ├── outputs_ne100_L5_offset0 │   └── logfile_train.log ├── outputs_ne400_L100_offset0 │   ├── inputNumbers12000.npy │   └── resultPopVecs12000.npy ├── outputs_ne400_L25_offset0 │   ├── all_assignments_L25_S8_O0.npy │   ├── assignments_L25_S8_O0.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O0.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O0_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O0.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O0.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset100 │   ├── all_assignments_L25_S8_O100.npy │   ├── assignments_L25_S8_O100.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O100.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O100_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O100.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O100.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset125 │   ├── all_assignments_L25_S8_O125.npy │   ├── assignments_L25_S8_O125.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O125.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O125_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O125.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O125.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset150 │   ├── all_assignments_L25_S8_O150.npy │   ├── assignments_L25_S8_O150.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O150.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O150_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O150.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O150.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset175 │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs750.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset25 │   ├── all_assignments_L25_S8_O25.npy │   ├── assignments_L25_S8_O25.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O25.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O25_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O25.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O25.npy │   └── Updated performance.png ├── outputs_ne400_L25_offset50 │   ├── all_assignments_L25_S8_O50.npy │   ├── assignments_L25_S8_O50.npy │   ├── Connection weights of XeAe1.png │   ├── Connection weights of XeAe3.png │   ├── Connection weights of XeAe.png │   ├── Initial performance.png │   ├── inputNumbers3300_record_E10.npy │   ├── inputNumbers3300_record_E20.npy │   ├── inputNumbers3300_record_E30.npy │   ├── inputNumbers3300_record_E40.npy │   ├── inputNumbers3300_record_E50.npy │   ├── inputNumbers3300_record_E60.npy │   ├── inputNumbers3300_record_E70.npy │   ├── inputNumbers3300_record_E80.npy │   ├── inputNumbers600_test_E10.npy │   ├── inputNumbers600_test_E20.npy │   ├── inputNumbers600_test_E30.npy │   ├── inputNumbers600_test_E40.npy │   ├── inputNumbers600_test_E50.npy │   ├── inputNumbers600_test_E60.npy │   ├── inputNumbers600_test_E70.npy │   ├── inputNumbers600_test_E80.npy │   ├── inputNumbers.npy │   ├── logfile_calibrate.log │   ├── logfile_record.log │   ├── logfile_train.log │   ├── resultPopVecs1000.npy │   ├── resultPopVecs1250.npy │   ├── resultPopVecs1500.npy │   ├── resultPopVecs1750.npy │   ├── resultPopVecs2000.npy │   ├── resultPopVecs2250.npy │   ├── resultPopVecs2500.npy │   ├── resultPopVecs250.npy │   ├── resultPopVecs2750.npy │   ├── resultPopVecs3000.npy │   ├── resultPopVecs3250.npy │   ├── resultPopVecs3300_record_E10.npy │   ├── resultPopVecs3300_record_E20.npy │   ├── resultPopVecs3300_record_E30.npy │   ├── resultPopVecs3300_record_E40.npy │   ├── resultPopVecs3300_record_E50.npy │   ├── resultPopVecs3300_record_E60.npy │   ├── resultPopVecs3300_record_E70.npy │   ├── resultPopVecs3300_record_E80.npy │   ├── resultPopVecs3500.npy │   ├── resultPopVecs3750.npy │   ├── resultPopVecs4000.npy │   ├── resultPopVecs500.npy │   ├── resultPopVecs600_test_E10.npy │   ├── resultPopVecs600_test_E20.npy │   ├── resultPopVecs600_test_E30.npy │   ├── resultPopVecs600_test_E40.npy │   ├── resultPopVecs600_test_E50.npy │   ├── resultPopVecs600_test_E60.npy │   ├── resultPopVecs600_test_E70.npy │   ├── resultPopVecs600_test_E80.npy │   ├── resultPopVecs750.npy │   ├── spike counters.png │   ├── spike monitors.png │   ├── standard │   │   ├── epoch10_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch20_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch30_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch40_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch50_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch60_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   ├── epoch70_T600_T0 │   │   │   ├── binary_distMatrix.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   │   ├── logfile_evaluation.log │   │   │   ├── recallAtN_SNN.npy │   │   │   ├── spike_rates_distMatrix.png │   │   │   └── summed_rates_L25_S8_O50.npy │   │   └── epoch80_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O50_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O50.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O50.npy │   └── Updated performance.png └── outputs_ne400_L25_offset75 ├── all_assignments_L25_S8_O75.npy ├── assignments_L25_S8_O75.npy ├── Connection weights of XeAe1.png ├── Connection weights of XeAe3.png ├── Connection weights of XeAe.png ├── Initial performance.png ├── inputNumbers3300_record_E10.npy ├── inputNumbers3300_record_E20.npy ├── inputNumbers3300_record_E30.npy ├── inputNumbers3300_record_E40.npy ├── inputNumbers3300_record_E50.npy ├── inputNumbers3300_record_E60.npy ├── inputNumbers3300_record_E70.npy ├── inputNumbers3300_record_E80.npy ├── inputNumbers600_test_E10.npy ├── inputNumbers600_test_E20.npy ├── inputNumbers600_test_E30.npy ├── inputNumbers600_test_E40.npy ├── inputNumbers600_test_E50.npy ├── inputNumbers600_test_E60.npy ├── inputNumbers600_test_E70.npy ├── inputNumbers600_test_E80.npy ├── inputNumbers.npy ├── logfile_calibrate.log ├── logfile_record.log ├── logfile_train.log ├── resultPopVecs1000.npy ├── resultPopVecs1250.npy ├── resultPopVecs1500.npy ├── resultPopVecs1750.npy ├── resultPopVecs2000.npy ├── resultPopVecs2250.npy ├── resultPopVecs2500.npy ├── resultPopVecs250.npy ├── resultPopVecs2750.npy ├── resultPopVecs3000.npy ├── resultPopVecs3250.npy ├── resultPopVecs3300_record_E10.npy ├── resultPopVecs3300_record_E20.npy ├── resultPopVecs3300_record_E30.npy ├── resultPopVecs3300_record_E40.npy ├── resultPopVecs3300_record_E50.npy ├── resultPopVecs3300_record_E60.npy ├── resultPopVecs3300_record_E70.npy ├── resultPopVecs3300_record_E80.npy ├── resultPopVecs3500.npy ├── resultPopVecs3750.npy ├── resultPopVecs4000.npy ├── resultPopVecs500.npy ├── resultPopVecs600_test_E10.npy ├── resultPopVecs600_test_E20.npy ├── resultPopVecs600_test_E30.npy ├── resultPopVecs600_test_E40.npy ├── resultPopVecs600_test_E50.npy ├── resultPopVecs600_test_E60.npy ├── resultPopVecs600_test_E70.npy ├── resultPopVecs600_test_E80.npy ├── resultPopVecs750.npy ├── spike counters.png ├── spike monitors.png ├── standard │   ├── epoch10_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch20_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch30_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch40_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch50_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch60_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   ├── epoch70_T600_T0 │   │   ├── binary_distMatrix.png │   │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   │   ├── DM_NRD_SFS_L25_S8_O75.png │   │   ├── logfile_evaluation.log │   │   ├── recallAtN_SNN.npy │   │   ├── spike_rates_distMatrix.png │   │   └── summed_rates_L25_S8_O75.npy │   └── epoch80_T600_T0 │   ├── binary_distMatrix.png │   ├── DM_NRD_SFS_L25_S8_O75_Pi.png │   ├── DM_NRD_SFS_L25_S8_O75.png │   ├── logfile_evaluation.log │   ├── recallAtN_SNN.npy │   ├── spike_rates_distMatrix.png │   └── summed_rates_L25_S8_O75.npy └── Updated performance.png 73 directories, 836 files

In \outputs_ne400_L25_offset125\standard\epoch80_T600_T0\logfile_evaluation.log, I noticed the following block of text.

Click to expand Namespace(ad_path='_offset150', ad_path_test='_test_E80', dataset='nordland', epochs=80, folder_id='NRD_SFS', intensity=4, multi_path='epoch80_T600_T0', n_e=400, num_cal_labels=600, num_labels=25, num_query_imgs=3300, num_test_labels=600, offset_after_skip=150, process_mode='calibrate', project_name='modularSNN', run_mode='local', seed=0, shuffled=True, skip=8, sweep_name='sweep_1', tc_ge=1.0, tc_gi=0.5, threshold_i=0, update_interval=250, use_weighted_assignments=False, username='my_username') Unique labels learnt ( count: 25 ): [150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174.] Testing input numbers: [ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237. 238. 239. 240. 241. 242. 243. 244. 245. 246. 247. 248. 249. 250. 251. 252. 253. 254. 255. 256. 257. 258. 259. 260. 261. 262. 263. 264. 265. 266. 267. 268. 269. 270. 271. 272. 273. 274. 275. 276. 277. 278. 279. 280. 281. 282. 283. 284. 285. 286. 287. 288. 289. 290. 291. 292. 293. 294. 295. 296. 297. 298. 299. 300. 301. 302. 303. 304. 305. 306. 307. 308. 309. 310. 311. 312. 313. 314. 315. 316. 317. 318. 319. 320. 321. 322. 323. 324. 325. 326. 327. 328. 329. 330. 331. 332. 333. 334. 335. 336. 337. 338. 339. 340. 341. 342. 343. 344. 345. 346. 347. 348. 349. 350. 351. 352. 353. 354. 355. 356. 357. 358. 359. 360. 361. 362. 363. 364. 365. 366. 367. 368. 369. 370. 371. 372. 373. 374. 375. 376. 377. 378. 379. 380. 381. 382. 383. 384. 385. 386. 387. 388. 389. 390. 391. 392. 393. 394. 395. 396. 397. 398. 399. 400. 401. 402. 403. 404. 405. 406. 407. 408. 409. 410. 411. 412. 413. 414. 415. 416. 417. 418. 419. 420. 421. 422. 423. 424. 425. 426. 427. 428. 429. 430. 431. 432. 433. 434. 435. 436. 437. 438. 439. 440. 441. 442. 443. 444. 445. 446. 447. 448. 449. 450. 451. 452. 453. 454. 455. 456. 457. 458. 459. 460. 461. 462. 463. 464. 465. 466. 467. 468. 469. 470. 471. 472. 473. 474. 475. 476. 477. 478. 479. 480. 481. 482. 483. 484. 485. 486. 487. 488. 489. 490. 491. 492. 493. 494. 495. 496. 497. 498. 499. 500. 501. 502. 503. 504. 505. 506. 507. 508. 509. 510. 511. 512. 513. 514. 515. 516. 517. 518. 519. 520. 521. 522. 523. 524. 525. 526. 527. 528. 529. 530. 531. 532. 533. 534. 535. 536. 537. 538. 539. 540. 541. 542. 543. 544. 545. 546. 547. 548. 549. 550. 551. 552. 553. 554. 555. 556. 557. 558. 559. 560. 561. 562. 563. 564. 565. 566. 567. 568. 569. 570. 571. 572. 573. 574. 575. 576. 577. 578. 579. 580. 581. 582. 583. 584. 585. 586. 587. 588. 589. 590. 591. 592. 593. 594. 595. 596. 597. 598. 599.] Testing result: [155. 156. 156. 155. 163. 152. 155. 156. 152. 165. 155. 155. 152. 155. 152. 158. 152. 171. 152. 156. 156. 156. 156. 156. 155. 158. 152. 156. 155. 152. 155. 163. 155. 155. 156. 155. 155. 152. 163. 156. 152. 155. 155. 155. 155. 156. 155. 155. 155. 155. 156. 155. 173. 156. 167. 156. 155. 155. 161. 155. 152. 155. 163. 155. 156. 152. 163. 155. 155. 152. 156. 163. 167. 155. 155. 156. 152. 152. 155. 155. 156. 155. 152. 155. 152. 155. 155. 155. 156. 155. 156. 155. 155. 155. 152. 155. 155. 155. 156. 155. 152. 155. 156. 155. 155. 156. 163. 167. 156. 155. 155. 155. 156. 155. 156. 156. 156. 158. 155. 156. 155. 155. 152. 155. 163. 155. 155. 155. 155. 155. 155. 152. 156. 163. 155. 156. 165. 155. 152. 155. 155. 156. 155. 152. 155. 156. 156. 156. 156. 156. 156. 151. 152. 153. 154. 155. 156. 157. 158. 159. 163. 152. 156. 163. 164. 167. 166. 167. 168. 152. 155. 155. 172. 173. 174. 156. 155. 156. 155. 152. 155. 155. 156. 165. 161. 155. 152. 156. 150. 156. 163. 155. 156. 155. 155. 156. 156. 155. 155. 156. 152. 156. 155. 155. 155. 155. 155. 155. 152. 163. 155. 156. 156. 155. 155. 155. 155. 155. 163. 155. 156. 155. 156. 155. 152. 158. 156. 155. 155. 156. 155. 163. 155. 155. 152. 155. 163. 155. 155. 155. 152. 155. 155. 156. 155. 165. 156. 155. 155. 156. 155. 155. 155. 163. 167. 155. 163. 155. 155. 167. 155. 155. 152. 156. 155. 155. 152. 155. 155. 156. 156. 155. 152. 155. 155. 155. 161. 155. 155. 156. 155. 155. 152. 152. 156. 155. 155. 155. 152. 156. 155. 163. 155. 156. 155. 158. 155. 155. 152. 155. 152. 156. 155. 156. 156. 155. 157. 155. 155. 152. 152. 155. 155. 152. 155. 155. 163. 163. 156. 155. 161. 155. 156. 152. 156. 156. 155. 156. 155. 155. 163. 156. 155. 155. 155. 155. 155. 156. 155. 156. 155. 156. 156. 152. 152. 152. 152. 156. 165. 155. 156. 165. 150. 152. 167. 155. 152. 165. 156. 167. 155. 155. 155. 155. 155. 156. 161. 156. 158. 155. 155. 156. 152. 152. 155. 155. 155. 163. 156. 155. 155. 158. 152. 156. 155. 156. 155. 156. 155. 156. 155. 152. 155. 155. 155. 166. 156. 155. 156. 155. 155. 152. 163. 155. 155. 156. 173. 156. 152. 155. 155. 155. 165. 156. 166. 155. 155. 152. 156. 156. 152. 155. 155. 163. 155. 152. 155. 152. 156. 156. 152. 155. 156. 167. 155. 155. 155. 152. 158. 152. 156. 155. 155. 155. 171. 156. 155. 163. 155. 152. 156. 156. 155. 152. 156. 156. 152. 155. 152. 155. 152. 155. 156. 155. 155. 155. 152. 155. 152. 156. 156. 155. 155. 156. 156. 167. 152. 163. 155. 155. 156. 167. 155. 152. 152. 156. 158. 155. 163. 155. 156. 158. 156. 155. 156. 155. 158. 163. 155. 167. 155. 155. 155. 155. 155. 155. 155. 152. 155. 156. 152. 156. 155. 155. 155. 155. 152. 156. 155. 155. 156. 166. 152. 155. 152. 155. 155. 155. 156. 155. 167. 155. 155. 152. 155. 155. 163. 155. 155. 152. 163. 156. 156. 155. 155. 152. 156. 152. 155. 156. 156. 152. 155. 152. 156. 156. 167. 155. 155. 155. 155. 158. 156. 152. 152. 155. 156. 155. 155. 167. 173. 156. 155. 155. 165. 156. 155. 152. 155. 155. 152. 156. 155. 155. 158. 156. 156. 152. 152. 156. 163. 155. 158. 155. 155. 155. 155. 152. 152. 155.] Differences: [155. 155. 154. 152. 159. 147. 149. 149. 144. 156. 145. 144. 140. 142. 138. 143. 136. 154. 134. 137. 136. 135. 134. 133. 131.] Accuracy: 0.0, num correct: 0, num incorrect: 25 Correctly predicted label indices: [] Incorrectly predicted label indices: [ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24] ====> Recall Recall@1: 0.0000 ====> Recall Recall@5: 0.2000 ====> Recall Recall@10: 0.3600 ====> Recall Recall@15: 0.4400 ====> Recall Recall@20: 0.7200 ====> Recall Recall@25: 1.0000

I checked the other logfiles. However, I could not find a Recall@1 value greater than 0.08. I would be appreciative if you could help me to understand what I am doing wrong.

Best, Bertha

Somayeh-h commented 2 months ago

Hi @berthaSZ,

Thanks for sharing the details about your outputs. Apologies for the delay in getting back to you.

The output directory tree looks good. You can speed up the training process by using only 60 epochs (as for our ICRA 2023 work). I’ve made some modifications in this commit: [ebf6e0985d09b70130805c6b935759e8979ce0b1] to speed up training.

In regards to the accuracy, could you please confirm that you are using this version of the Nordland dataset? We use the Spring and Fall traverses as the reference set, and the Summer traverse as the query set for testing the model.

You can also access the learned weights of our modular SNN on Nordland dataset here.

The R@1 reported in the log files relate to the performance of a single module on the particular segment it was trained on. After training all modules, use the modular_snn/modular_snn_evaluation.py to compute the performance of the modular SNN on a dataset.

Best, Somayeh