土堆学习笔记——P28完整的模型训练套路(二)

怎么知道模型有没有训练好?有没有达到想要的需求?
解决方法:在每轮训练之后加一个测试,在测试数据集上看效果(看损失之类的)。
注意:在测试时候不调优,仅为看效果。

下面的都在某一轮训练里
例如,他们都在for i in range(epoch):里面,具体看上一节代码
#测试步骤开始
total_test_loss = 0
with torch.no_grad():#取消梯度,不调优
	for data in tes_dataloader:
		img, targets = data
		outputs = tudui(imgs)
		loss = loss_fn(outputs, targets)
		#截止到现在,loss只是一部分数据也就是data在网络模型上的损失
		total_test_loss = total_test_loss+loss
		#accuracy看后面准确率那里的讲解
		accuracy = (outputs.argmax(1)==targets).sum()
		#targets在上面img, targets = data
		total_accuracy = total_accuracy + accuracy
print("整体数据集上的Loss:{}".format(total_test_loss))
print("整体数据集上的正确率:{}".format(total_accuracy/total_test_size))
torch.save(tudui,"tudui_{}.pth".format(i))

还可以用tensorboard可视化损失

预测的准确率(针对分类问题)

在这里插入图片描述截图最后一行没写完[false, true].sum()=1
这个值/个数

Argmax使用
Argmax(1)表示横着看,Argmax(0)表示竖着看。同样一组数,输出结果不同。
在这里插入图片描述

在这里插入图片描述

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-01-18 02:38:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-18 02:38:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-18 02:38:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-18 02:38:01       18 阅读

热门阅读

  1. React16源码: React中调度之batchedUpdates的源码实现

    2024-01-18 02:38:01       24 阅读
  2. WebFlux中使用WebSocket的拓展功能分析

    2024-01-18 02:38:01       36 阅读
  3. 使用Spring Boot和JPA实现多数据源的方法

    2024-01-18 02:38:01       33 阅读
  4. 互联网程序员面试方向有哪些

    2024-01-18 02:38:01       38 阅读
  5. CSAPP - bomblab phase_2 分析

    2024-01-18 02:38:01       20 阅读
  6. vue脚手架,路由,过滤器,自定义指令

    2024-01-18 02:38:01       31 阅读
  7. DevOps与测试、左移的方法

    2024-01-18 02:38:01       25 阅读
  8. Pandas实战100例 | 案例 46: 列重新排序

    2024-01-18 02:38:01       27 阅读
  9. 学习记录1.13

    2024-01-18 02:38:01       33 阅读
  10. jackson null值 序列化

    2024-01-18 02:38:01       36 阅读
  11. 组件v-model

    2024-01-18 02:38:01       29 阅读
  12. logback日志记录器

    2024-01-18 02:38:01       35 阅读