예제 #1
0
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)
예제 #2
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)