run_gradCAM
This file uses a parser to generate a GradCAM to analyze and process present images. The processed data is reported back to the database through a run time while logged messages are recorded.
def main(argv):
ap = argparse.ArgumentParser()
ap.add_argument("-c", "--config", required=True, help="path to config file")
ap.add_argument("-i", "--input", required=True, help="full path to input image")
ap.add_argument("-M", "--model", required=False, help="id of model",default=-1)
args = vars(ap.parse_args())
configPath = args["config"]
modelID=int(args["model"])
DBConnector = connector.DBManager(configPath)
image_pth=args["input"]
runnum=int(image_pth.split("/")[-2].replace("Run",""))
print("modelID",modelID)
if modelID==-1 :
print("True")
grad=GradCAM(None,-1)
grad.insert_into_runtime(args["input"],-1,-1,runnum)
else:
model_q="SELECT Location,Name,PlotType_ID FROM Models WHERE ID="+str(modelID)
model_r=DBConnector.FetchAll(model_q)[0]
modelInstance = Model(DBConnector, modelID=modelID, modelRootPath=model_r["Location"])
model_used=modelInstance.model
grad=GradCAM(model_used,"mixed10")
grad.insert_into_runtime(args["input"],model_r["PlotType_ID"],args["model"],runnum)