增加训练时长打印。
This commit is contained in:
@@ -9,6 +9,7 @@ import matplotlib
|
|||||||
import numpy as np
|
import numpy as np
|
||||||
from tqdm import tqdm
|
from tqdm import tqdm
|
||||||
import os
|
import os
|
||||||
|
import time
|
||||||
|
|
||||||
# 设置matplotlib支持中文显示
|
# 设置matplotlib支持中文显示
|
||||||
plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'DejaVu Sans'] # 指定默认字体
|
plt.rcParams['font.sans-serif'] = ['SimHei', 'Microsoft YaHei', 'DejaVu Sans'] # 指定默认字体
|
||||||
@@ -219,6 +220,7 @@ if __name__ == '__main__':
|
|||||||
best_model_path = '../model/02/best_food_model.pth'
|
best_model_path = '../model/02/best_food_model.pth'
|
||||||
|
|
||||||
print("开始训练...")
|
print("开始训练...")
|
||||||
|
start_time = time.time() # 记录训练开始时间
|
||||||
for epoch in range(num_epochs):
|
for epoch in range(num_epochs):
|
||||||
print(f'\nEpoch {epoch+1}/{num_epochs}')
|
print(f'\nEpoch {epoch+1}/{num_epochs}')
|
||||||
print('-' * 50)
|
print('-' * 50)
|
||||||
@@ -248,6 +250,14 @@ if __name__ == '__main__':
|
|||||||
torch.save(model.state_dict(), best_model_path)
|
torch.save(model.state_dict(), best_model_path)
|
||||||
print(f'保存最佳模型,验证准确率: {best_val_acc:.2f}%')
|
print(f'保存最佳模型,验证准确率: {best_val_acc:.2f}%')
|
||||||
|
|
||||||
|
end_time = time.time() # 记录训练结束时间
|
||||||
|
training_duration = end_time - start_time # 计算训练时长
|
||||||
|
|
||||||
|
# 将秒转换为小时、分钟和秒
|
||||||
|
hours = int(training_duration // 3600)
|
||||||
|
minutes = int((training_duration % 3600) // 60)
|
||||||
|
seconds = int(training_duration % 60)
|
||||||
|
|
||||||
print(f'\n训练完成!最佳验证准确率: {best_val_acc:.2f}%')
|
print(f'\n训练完成!最佳验证准确率: {best_val_acc:.2f}%')
|
||||||
|
|
||||||
# 加载最佳模型进行测试
|
# 加载最佳模型进行测试
|
||||||
@@ -277,7 +287,7 @@ if __name__ == '__main__':
|
|||||||
plt.grid(True)
|
plt.grid(True)
|
||||||
|
|
||||||
plt.tight_layout()
|
plt.tight_layout()
|
||||||
plt.savefig('training_curves.png', dpi=300, bbox_inches='tight')
|
plt.savefig('../model/02/training_curves.png', dpi=300, bbox_inches='tight')
|
||||||
plt.show()
|
plt.show()
|
||||||
|
|
||||||
print(f'\n最终结果:')
|
print(f'\n最终结果:')
|
||||||
@@ -285,3 +295,4 @@ if __name__ == '__main__':
|
|||||||
print(f'测试准确率: {test_acc:.2f}%')
|
print(f'测试准确率: {test_acc:.2f}%')
|
||||||
print(f'模型已保存为: {best_model_path}')
|
print(f'模型已保存为: {best_model_path}')
|
||||||
print(f'训练曲线已保存为: training_curves.png')
|
print(f'训练曲线已保存为: training_curves.png')
|
||||||
|
print(f'训练时长: {hours}小时 {minutes}分钟 {seconds}秒')
|
||||||
|
|||||||
Reference in New Issue
Block a user