As part of the Explainable AI Toolkit (XAITK), XAITK-Saliency is an open source, explainable AI framework for visual saliency algorithm interfaces and implementations, built for analytics and autonomy applications.
I went through the xaitk-saliency package at a high-level and noticed some inconsistencies in our current naming scheme. I don't think any of these are huge issues, but it might help a new user or contributor to have a consistent naming pattern. Here are some examples:
xaitk-saliency/xaitk-saliency/interfaces:
Should the filename represent a shortened version of the class name?
e.g. gen_classifier_conf_sal.py (GenerateClassifierConfidenceSaliency) vs. gen_detection_sal.py (GenerateDetectorProposalSaliency) and gen_similarity_sal.py (GenerateDescriptorSimilaritySaliency)
Should these be something like gen_detector_prop_sal.py and gen_descriptor_sim_sal.py, respectively?
xaitk-saliency/xaitk-saliency/impls:
Note: implementation folder names might need to be changed if we decide to make edits to the interface names above.
Should we use underscores for filenames and Camel case for class names? Again, how closely should the filename match the class name?
gen_classifier_conf_sal: occlusion.py vs. rise_scoring.py, should this be occlusion_scoring.py?
gen_similarity_sal: currently similarityscoring.py, should this be similarity_scoring.py?
I followed example notebooks ModelComparisonWithSaliency.ipynb and DRISE.ipynb and was able to make the RandomGrid and DRISE work for 200 masks. DRISE seems to work much better than RandomGrid for 200 masks. As per your instructions in the RandomGrid notebook, I am trying more masks (1200) for RandomGrid but the system runs out of memory very quickly and the process fails. Would you know why? I have 16 GB RAM and 16 GB swap space. Is there any other way to run it without failing and without increasing the RAM size? Let me know if you need any more information around this issue. I would really appreciate your help with this!