You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何获取训练后CNN手势识别模型的验证准确率?

如何获取已训练CNN手势识别模型的验证准确率

一、针对已训练完成但未记录val_acc的情况

如果你已经保存了训练好的模型,最直接的方法是用预留的验证数据集重新评估模型:

  1. 确保你有独立的验证数据集(绝对不能用训练集,否则结果会严重失真)
  2. 加载你的训练好的模型:
    # TensorFlow/Keras示例
    import tensorflow as tf
    model = tf.keras.models.load_model('your_trained_model.h5')
    
  3. evaluate方法直接计算验证准确率:
    # 如果验证数据是分离的特征x_val和标签y_val
    val_loss, val_acc = model.evaluate(x_val, y_val, verbose=1)
    print(f"验证准确率: {val_acc:.4f}")
    
    # 如果验证数据是TensorFlow Dataset对象
    val_loss, val_acc = model.evaluate(validation_dataset, verbose=1)
    

如果用的是PyTorch框架,步骤类似,但需要手动统计准确率:

import torch

model = torch.load('your_trained_model.pth')
model.eval()  # 切换到评估模式,关闭dropout等训练专属层

correct = 0
total = 0
with torch.no_grad():  # 关闭梯度计算,节省内存和计算资源
    for images, labels in val_loader:
        outputs = model(images)
        _, predicted = torch.max(outputs.data, 1)
        total += labels.size(0)
        correct += (predicted == labels).sum().item()

val_acc = correct / total
print(f"验证准确率: {val_acc:.4f}")

二、训练时/训练后查看验证准确率的常规方法

为了避免以后再遇到这种遗漏记录的情况,推荐你在训练流程中做好以下操作:

1. 训练时实时记录并保存历史

训练模型时,一定要传入验证数据(或者设置训练集拆分比例),同时保存训练历史对象:

# TensorFlow/Keras示例
history = model.fit(
    x_train, y_train,
    epochs=50,
    batch_size=32,
    validation_data=(x_val, y_val)  # 传入提前准备好的验证集
    # 或者用validation_split=0.2自动从训练集拆分20%作为验证集
)

# 把训练历史保存到本地文件,方便后续随时查看
import json
with open('training_history.json', 'w') as f:
    json.dump(history.history, f)

训练过程中控制台会自动输出每一轮的val_accuracy,训练结束后也可以从history对象中提取所有历史数据:

# 获取所有训练轮次的验证准确率
all_val_acc = history.history['val_accuracy']
# 获取最后一轮的验证准确率
final_val_acc = all_val_acc[-1]
print(f"最后一轮验证准确率: {final_val_acc:.4f}")

2. 训练后从保存的历史文件查看

如果之前训练时已经保存了training_history.json,后续可以随时加载查看:

import json
with open('training_history.json', 'r') as f:
    history_data = json.load(f)

print("所有轮次的验证准确率:", history_data['val_accuracy'])
print("最后一轮验证准确率:", history_data['val_accuracy'][-1])

内容的提问来源于stack exchange,提问作者Viper

火山引擎 最新活动