我正在为我的机器学习项目用Python编写一个QARegression模块,我想在其中评估多个模型。假设这是一个在多个文件夹中的多个图像上运行的图像识别模型。
- folder-1
- img-1
- img-2
- img-3
- folder-2
- img-1
......
这样写是否重要
for eachFolder in FolderList:
for eachImage in ImageList:
for eachModel in ModelList:
evaluate(predicted, GroundTruth)
或
for eachModel in ModelList:
for eachFolder in FolderList:
for eachImage in ImageList:
evaluate(predicted, GroundTruth)
最后我想要这样的输出
model_1 : score1
model_2 : score2
.
.
.
在
方面会更好运行时复杂度
正确性
还是没关系,我们可以反正写吗?
答案 0 :(得分:0)
大概取决于外部因素。如果每个模型都需要很长时间加载,则您希望尽可能少地加载它,因此希望模型向外循环。如果每个图像都非常大,则希望不经常加载它们,因此希望图像循环位于模型循环之外。
答案 1 :(得分:0)
他们两个都将评估每个模型。但是你应该去第二个。第二个模型将采用一个模型,并使用所有文件夹中的所有图像评估该模型。这比对不同图像一次又一次加载模型要好。同样,使用第一个代码段来评估所有模型也将更加困难。