results = train_util.evaluate(model, dataloaders['test'], criterion, n_classes) results = results.merge(cat_df, left_on='class', right_on='category').drop(columns=['category']) results.sort_values('top1', ascending=False, inplace=True) print("\nTop1 정확도가 가장 높은 카테고리 5개") print(results.head()) print("\nTop1 정확도가 가장 낮은 카테고리 5개") print(results.tail()) results.sort_values('top5', ascending=False, inplace=True) print("\nTop5 정확도가 가장 높은 카테고리 5개") print(results.head()) print("\nTop5 정확도가 가장 낮은 카테고리 5개") print(results.tail()) print("\n전체 카테고리별 결과") print(results) print( f'\n\tTop1 정확도 : {results["top1"].mean():.4f}%\n\tTop5 정확도 : {results["top5"].mean():.4f}%' ) train_util.save_number_of_trainig_image_top1_top5(results, model_choice) # print(results) # 마지막 결과 train_util.training_result(results) sys.exit(0)
print("\nTop5 정확도가 가장 낮은 카테고리 5개") print(results[k].tail()) print("\n전체 카테고리별 결과") print(results[k]) print( f'\n\tTop1 정확도 : {results[k]["top1"].mean():.4f}%\n\tTop5 정확도 : {results[k]["top5"].mean():.4f}%' ) train_util.save_number_of_trainig_image_top1_top5(results[k], model_choice, etc='[K_' + str(K_fold) + '_' + str(k) + '_fold] ') # 마지막 결과 train_util.training_result(results[k]) print(f'{k}번째 fold 학습 완료') print('전체 Fold 학습 완료') top1_mean = 0.0 top5_mean = 0.0 best_epochs_mean = 0.0 epochs_mean = 0.0 fold_total_time = 0.0 for i in range(K_fold): top1_mean += results[i]["top1"].mean() top5_mean += results[i]["top5"].mean() best_epochs_mean += train_results[i]["best_epochs"] epochs_mean += (train_results[i]["epochs"] + 1)