| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> 【迁移学习(Transfer L)全面指南】不需要时关闭autograd的方法:torch.no_grad -> 正文阅读 |
|
[人工智能]【迁移学习(Transfer L)全面指南】不需要时关闭autograd的方法:torch.no_grad |
从训练循环中,你注意到只能在train_loss上调用backward。因此,误差只会根据训练集来进行反向传播。验证集用于在未用于训练的数据上对模型输出的准确性进行独立的评估。 好奇的读者此时可能会有一个问题。我们对模型进行了两次评估(一次在train_t_u上,一次在val_t_u上),然后调用一次backward。这不会使autograd变得混乱吗?验证集评估过程中生成的值不会影响backward吗? 幸运的是,事实并非如此。训练循环中的第一行在train_t_u上对模型进行评估以产生train_t_p。然后用train_t_p计算train_loss,创建一个链接从train_t_u到train_t_p再到train_loss的计算图。当在val_t_u上再次评估模型然后生成val_t_p和val_loss时,将创建一个单独的计算图,该图链接从val_t_u到val_t_p再到val_loss。单独的张量通过相同的函数model和loss_fn运行,生成了单独的计算图,如下图所示。
这两个图唯一的共同点是参数。当在train_loss上调用backward时,backward函数将在第一个图上运行。换句话说,你是基于train_t_u来累积 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 8:24:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |