diff --git a/multiview_platform/MonoMultiViewClassifiers/ExecClassif.py b/multiview_platform/MonoMultiViewClassifiers/ExecClassif.py index 859c1bb72c21ceb8972862449a2072b3b373fbcc..63588616f00f5841c310c4e58eb5b09214e14151 100644 --- a/multiview_platform/MonoMultiViewClassifiers/ExecClassif.py +++ b/multiview_platform/MonoMultiViewClassifiers/ExecClassif.py @@ -594,7 +594,7 @@ def execClassif(arguments): # m, s = divmod(totalDur, 60) # h, m = divmod(m, 60) # d, h = divmod(h, 24) - # # print "%d:%02d:%02d" % (h, m, s) + # # print "%d_%02d_%02d" % (h, m, s) # logging.info("Info:\t Total duration : " + str(d) + " days, " + str(h) + " hours, " + str(m) + " mins, " + str( # int(s)) + "secs.") # @@ -618,7 +618,7 @@ def execClassif(arguments): # m, s = divmod(totalDur, 60) # h, m = divmod(m, 60) # d, h = divmod(h, 24) - # # print "%d:%02d:%02d" % (h, m, s) + # # print "%d_%02d_%02d" % (h, m, s) # logging.info("Info:\t Total duration : "+str(d)+ " days, "+str(h)+" hours, "+str(m)+" mins, "+str(int(s))+"secs.") # # if statsIter > 1: diff --git a/multiview_platform/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py b/multiview_platform/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py index cd9e4dc44990641865b5e3113e6fb9b6836f1005..a67b45a2be4b4b51745d2bec353bd77c51bdd3f9 100644 --- a/multiview_platform/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py +++ b/multiview_platform/MonoMultiViewClassifiers/Monoview/ExecClassifMonoView.py @@ -126,7 +126,7 @@ def initConstants(args, X, classificationIndices, labelsNames, name, directory): learningRate = float(len(classificationIndices[0])) / (len(classificationIndices[0]) + len(classificationIndices[1])) labelsString = "-".join(labelsNames) CL_type_string = CL_type - timestr = time.strftime("%Y_%m_%d-%H:%M:%S") + timestr = time.strftime("%Y_%m_%d-%H_%M_%S") outputFileName = directory + CL_type_string + "/" + feat + "/" + timestr + "-Results-" + CL_type_string + "-" + labelsString + \ '-learnRate_{0:.2f}'.format(learningRate) + '-' + name + "-" + feat + "-" if not os.path.exists(os.path.dirname(outputFileName)): @@ -268,7 +268,7 @@ if __name__ == '__main__': X, Y = Dataset.getMonoviewShared(path, name, viewName) # Init log - logFileName = time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + name + "-"+ viewName +"-" + classifierName +'-LOG' + logFileName = time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + name + "-"+ viewName +"-" + classifierName +'-LOG' if not os.path.exists(os.path.dirname(directory + logFileName)): try: os.makedirs(os.path.dirname(directory + logFileName)) diff --git a/multiview_platform/MonoMultiViewClassifiers/Multiview/ExecMultiview.py b/multiview_platform/MonoMultiViewClassifiers/Multiview/ExecMultiview.py index bf929a2fce7fbf6458047066b4e5f7fd11cc1bf5..1f2a5d10e6ac9d176bc9e8fec1e3823fd0bd0abe 100644 --- a/multiview_platform/MonoMultiViewClassifiers/Multiview/ExecMultiview.py +++ b/multiview_platform/MonoMultiViewClassifiers/Multiview/ExecMultiview.py @@ -42,7 +42,7 @@ def saveResults(LABELS_DICTIONARY, stringAnalysis, views, classifierModule, clas logging.info(stringAnalysis) viewsString = "-".join(views) labelsString = "-".join(labelsSet) - timestr = time.strftime("%Y_%m_%d-%H:%M:%S") + timestr = time.strftime("%Y_%m_%d-%H_%M_%S") CL_type_string = classifierModule.genName(classificationKWARGS) outputFileName = directory + "/" + CL_type_string + "/" + timestr + "-Results-" + CL_type_string + "-" + viewsString + '-' + labelsString + \ '-learnRate_{0:.2f}'.format(learningRate) + '-' + name diff --git a/multiview_platform/MonoMultiViewClassifiers/ResultAnalysis.py b/multiview_platform/MonoMultiViewClassifiers/ResultAnalysis.py index 40dbd2801b22acb6130c2f248fcdec2ed3e42993..f948c9fd571ae3e8633cd66741977122cba5f025 100644 --- a/multiview_platform/MonoMultiViewClassifiers/ResultAnalysis.py +++ b/multiview_platform/MonoMultiViewClassifiers/ResultAnalysis.py @@ -126,7 +126,7 @@ def publishMetricsGraphs(metricsScores, directory, databaseName, labelsNames): testScores = metricScores["testScores"] names = metricScores["classifiersNames"] nbResults = len(testScores) - fileName = directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-" + metricName + ".png" + fileName = directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-" + metricName + ".png" plotMetricOneIter(trainScores, testScores, names, nbResults, metricName, fileName) logging.debug("Done:\t Biclass score graph generation for " + metricName) @@ -167,7 +167,7 @@ def publishExampleErrors(exampleErrors, directory, databaseName, labelsNames, mi borderaxespad=0, ncol=3) fig.tight_layout() - fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-error_analysis.png", bbox_inches="tight") + fig.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-error_analysis.png", bbox_inches="tight") plt.close() logging.debug("Done:\t Biclass Label analysis figure generation") @@ -180,7 +180,7 @@ def publishExampleErrors(exampleErrors, directory, databaseName, labelsNames, mi plt.bar(x, errorOnExamples) plt.ylim([0,nbClassifiers]) plt.title("Number of classifiers that failed to classify each example") - fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-example_errors.png") + fig.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName +"-"+"_vs_".join(labelsNames)+ "-example_errors.png") plt.close() logging.debug("Done:\t Biclass Error by example figure generation") @@ -290,7 +290,7 @@ def publishMulticlassScores(multiclassResults, metrics, statsIter, direcories, d ax.set_xticks(np.arange(nbResults) + barWidth) ax.set_xticklabels(names, rotation="vertical") plt.tight_layout() - f.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName + "-" + metric[0] + ".png") + f.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName + "-" + metric[0] + ".png") plt.close() logging.debug("Done:\t Multiclass score graph generation for " + metric[0]) @@ -326,20 +326,20 @@ def publishMulticlassExmapleErrors(multiclassResults, directories, databaseName, green_patch = mpatches.Patch(color='green', label='Classifier succeded') plt.legend(handles=[red_patch, green_patch], bbox_to_anchor=(0,1.02,1,0.2), loc="lower left",mode="expand", borderaxespad=0, ncol=2) fig.tight_layout() - fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-error_analysis.png", bbox_inches="tight") + fig.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName +"-error_analysis.png", bbox_inches="tight") plt.close() logging.debug("Done:\t Label analysis figure generation") logging.debug("Start:\t Error by example figure generation") errorOnExamples = -1*np.sum(data, axis=1)/nbIter+nbClassifiers - np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-clf_errors_doubled.csv", data, delimiter=",") - np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.csv", temp_data, delimiter=",") + np.savetxt(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-clf_errors_doubled.csv", data, delimiter=",") + np.savetxt(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-example_errors.csv", temp_data, delimiter=",") fig, ax = plt.subplots() x = np.arange(nbExamples) plt.bar(x, errorOnExamples) plt.ylim([0,nbClassifiers]) plt.title("Number of classifiers that failed to classify each example") - fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + databaseName +"-example_errors.png") + fig.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + databaseName +"-example_errors.png") plt.close() logging.debug("Done:\t Error by example figure generation") @@ -451,7 +451,7 @@ def publishIterBiclassMetricsScores(iterResults, directory, labelsDictionary, cl ax.set_xticks(np.arange(nbResults) + barWidth) ax.set_xticklabels(names, rotation="vertical") f.tight_layout() - f.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + dataBaseName + "-Mean_on_" + f.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + dataBaseName + "-Mean_on_" + str(statsIter) + "_iter-" + metricName + ".png") plt.close() @@ -491,7 +491,7 @@ def publishIterBiclassExampleErrors(iterResults, directory, labelsDictionary, cl cbar = fig.colorbar(cax, ticks=[-100*statsIter/2, 0, statsIter]) cbar.ax.set_yticklabels(['Unseen', 'Always Wrong', 'Always Right']) fig.tight_layout() - fig.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-error_analysis.png") + fig.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-error_analysis.png") plt.close() logging.debug("Done:\t Global label analysis figure generation") @@ -504,7 +504,7 @@ def publishIterBiclassExampleErrors(iterResults, directory, labelsDictionary, cl plt.bar(x, errorOnExamples) plt.ylim([0,nbClassifiers*statsIter]) plt.title("Number of classifiers that failed to classify each example") - fig.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.png") + fig.savefig(currentDirectory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-example_errors.png") plt.close() logging.debug("Done:\t Global error by example figure generation") @@ -542,7 +542,7 @@ def publishIterMulticlassMetricsScores(iterMulticlassResults, classifiersNames, ax.set_xticks(np.arange(nbResults) + barWidth) ax.set_xticklabels(names, rotation="vertical") f.tight_layout() - f.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + dataBaseName + "-Mean_on_" + f.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + dataBaseName + "-Mean_on_" + str(statsIter) + "_iter-" + metricName + ".png") plt.close() @@ -570,14 +570,14 @@ def publishIterMulticlassExampleErrors(iterMulticlassResults, directory, classif logging.debug("Start:\t Global error by example figure generation") errorOnExamples = -1 * np.sum(data, axis=1) + (nbClassifiers*statsIter) - np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-clf_errors.csv", data, delimiter=",") - np.savetxt(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.csv", errorOnExamples, delimiter=",") + np.savetxt(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-clf_errors.csv", data, delimiter=",") + np.savetxt(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-example_errors.csv", errorOnExamples, delimiter=",") fig, ax = plt.subplots() x = np.arange(nbExamples) plt.bar(x, errorOnExamples) plt.ylim([0,nbClassifiers*statsIter]) plt.title("Number of classifiers that failed to classify each example") - fig.savefig(directory + time.strftime("%Y_%m_%d-%H:%M:%S") + "-example_errors.png") + fig.savefig(directory + time.strftime("%Y_%m_%d-%H_%M_%S") + "-example_errors.png") plt.close() logging.debug("Done:\t Global error by example figure generation") diff --git a/multiview_platform/MonoMultiViewClassifiers/utils/execution.py b/multiview_platform/MonoMultiViewClassifiers/utils/execution.py index 3498b807683890d8f354ffe3ff426461a9c72a52..097914255da877277a6daae647e9f51947d72b5f 100644 --- a/multiview_platform/MonoMultiViewClassifiers/utils/execution.py +++ b/multiview_platform/MonoMultiViewClassifiers/utils/execution.py @@ -239,7 +239,7 @@ def initRandomState(randomStateArg, directory): def initLogFile(args): """Used to init the directory where the preds will be stored and the log file""" resultDirectory = "../Results/" + args.name + "/started_" + time.strftime("%Y_%m_%d-%H_%M") + "/" - logFileName = time.strftime("%Y_%m_%d-%H:%M:%S") + "-" + ''.join(args.CL_type) + "-" + "_".join( + logFileName = time.strftime("%Y_%m_%d-%H_%M_%S") + "-" + ''.join(args.CL_type) + "-" + "_".join( args.views) + "-" + args.name + "-LOG" if not os.path.exists(os.path.dirname(resultDirectory + logFileName)): try: