首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在tensorflow.js中,如何计算模型输入的梯度wrt?

在tensorflow.js中,如何计算模型输入的梯度wrt?
EN

Stack Overflow用户
提问于 2020-10-23 00:55:17
回答 2查看 344关注 0票数 1

我想在TensorFlow.js中计算相对于输入向量的损失梯度。

以下是我尝试过的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function f(img) {
  return tf.metrics.categoricalCrossentropy(model.predict(img), lbl);
  // (Typo: the order of arguments should be flipped, but it does not affect the question here)
}

var g = tf.grad(f);

g(img).print();

img是1,784年形状的张量。lbl是1,10型张量,model是一种用tf.Sequential训练的普通MNIST。

g(img)的调用在堆栈跟踪中失败:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Uncaught TypeError: Cannot read property 'shape' of undefined
    at gradFunc (Concat_grad.js:29)
    at Object.s.gradient (engine.js:931)
    at a (tape.js:158)
    at tape.js:136
    at engine.js:1038
    at engine.js:433
    at e.t.scopedRun (engine.js:444)
    at e.t.tidy (engine.js:431)
    at e.t.gradients (engine.js:1033)
    at gradients.js:69

我遗漏了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-10-27 23:27:23

我的原始代码片段是正确的;在2.6.0和2.5.0版本的tf.grad 错误中有一个导致此错误的TensorFlow.js。

代码按照2.4.0或新版本2.7.0的要求工作。

票数 1
EN

Stack Overflow用户

发布于 2020-10-26 00:23:43

通过将model.predict移除在f范围之外,tf.grad将工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function f(img) {
  return tf.metrics.categoricalCrossentropy(img, lbl);
}


var g = tf.grad(f);
const output = model.predict(img);

g(output).print();

2.7 +版本中修复的顺序模型似乎有错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64496947

复制
相关文章
Javascript字符串处理
说明: 字符串替换字符还是replace()最强大~默认替换第一个符合条件的字符串,也可用正则做全局匹配
kif
2023/02/27
4910
字符串插值_让我们帮助QueryProvider处理插值字符串
QueryProvider的细节 (Specifics of QueryProvider)
用户7886150
2021/01/14
7630
javascript中遇到的字符串对象处理
在javascript中对参数处理: 1 <script> 2 function getParam() 3 { 4 urlInfo=window.location.href; //获取当前页面
Ryan-Miao
2018/03/13
1.3K0
JavaScript 超详细的字符串处理方法
仅供学习,转载请注明出处 1、字符串合并操作:“ + ” var iNum01 = 12; var iNum02 = 24; var sNum03 = '12'; var sTr = 'ab
Devops海洋的渔夫
2019/06/02
6780
shell 默认值设置 字符串处理
image.png image.png
用户5760343
2022/05/19
6750
shell 默认值设置 字符串处理
JavaScript条件运算三元运算符和四元运算符的写法
exprIfTrue 如果表达式 condition 的计算结果是 truthy(它和 true 相等或者可以转换成 true ),那么表达式 exprIfTrue 将会被求值。
德顺
2020/04/01
2.1K0
JavaScript中字符串运算符是什么?有哪些?
在JavaScript中,使用 + 和 += 这两个运算符对字符串进行连接运算,前者用于连接两个字符串,后者则连接两个字符串,并将结果赋给第一个字符串。
Javanx
2020/08/19
7640
JavaScript中字符串运算符是什么?有哪些?
JavaScript 字符串
字符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推。
陈不成i
2021/07/16
7020
JavaScript 字符串
toString() 方法,返回一个表示该对象的字符串,可以将所有的数据都转换为字符串,但是要排除掉 null 和 undefined
Nian糕
2018/08/21
7200
JavaScript 字符串
JavaScript 字符串
如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。
RiemannHypothesis
2022/10/06
5740
Bash处理字符串系列函数(三)
文章目录 反转字符串大小写 从字符串中删除引号 从字符串中删除模式的所有实例 反转字符串大小写 警告: 需要 bash 4+ 示例函数: reverse_case() { # Usage: reverse_case "string" printf '%s\n' "${1~~}" } 示例用法: $ reverse_case "hello" HELLO $ reverse_case "HeLlO" hElLo $ reverse_case "HELLO" hello 从字符串中删除引号 示
程序员小涛
2021/12/06
2400
Bash处理字符串系列函数(三)
@TOC 反转字符串大小写 警告: 需要 bash 4+ 示例函数: reverse_case() { # Usage: reverse_case "string" printf '%s\n' "${1~~}" } 示例用法: $ reverse_case "hello" HELLO $ reverse_case "HeLlO" hElLo $ reverse_case "HELLO" hello 从字符串中删除引号 示例函数: trim_quotes() { # Usage:
程序员小涛
2021/02/20
3370
Bash处理字符串系列函数(三)
Javascript字符串
## 定义 ``` var str = new String("abcdefg"); var str = "abcdefg"; ``` ## 常用方法 ### 字符方法 1.charAt(index):返回下标为index的字符 ``` //字符串“Hello World!”下标为1的字符 var str = "Hello World!"; console.log(str.charAt(1)); // e ``` 2.方括号[index]:返回下标为index的字符(IE8以前不支持,会返回undefin
用户1624346
2018/04/10
6220
javascript字符串
字符串是JavaScript中7种数据中的一种,用于表示由零个或多个16位的Unicode字符组成的字符序列。创建字符串有两种方式,一种是字面量,另一种是构造函数。
踏浪
2019/07/31
4990
条件运算符? : (三目运算符)
条件运算符? : (三目运算符) 条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下: Exp1 ? Exp2 : Exp3; 其中,Exp1、Exp2 和 Exp3 是表达
用户6755376
2020/03/23
1.8K0
条件运算符? : (三目运算符)
JavaScript字符串“三剑客”
JavaScript字符串方法有很多,其中有三个方法与字符串裁剪有关,他们分别是slice()、substring()和substr(),我把他们统称为“三剑客”。 由于他们都是用于裁剪字符串,很容易混淆,所以接下来我将结合具体实例来讲讲他们的共同点和区别。 一、共同点 接受一个或两个参数,其中第一个参数为裁剪的开始位置 都会返回被裁剪下来的子字符串,而原字符串不受影响 若不传第二个参数,则从开始位置(第一个参数)一直截取到字符串结尾。 可以看出,当只传入一个参数时,这三个方法的用法和作用都是一致的,都
企鹅号小编
2018/02/05
5920
JavaScript字符串“三剑客”
带有通配符的字符串匹配算法-C/C++
日前某君给我出了这样一道题目:两个字符串,一个是普通字符串,另一个含有*和?通配符,*代表零个到多个任意字符,?代表一个任意字符,通配符可能多次出现。写一个算法,比较两个字符串是否相等。 我花了四个小
一见
2018/08/07
2.2K0
JavaScript字符串
JavaScript 字符串是引号(单引号或双引号)中的零个或多个字符,用于存储和操作文本。
hotarugali
2022/03/01
6740
JavaScript字符串
JavaScript 字符串(String)就是由零个或多个 Unicode 字符组成的字符序列。零个字符表示空字符串。
用户3519280
2023/07/07
1760
shell 字符串处理的三个技巧
$mychar=`echo $mychar |awk -F "=" '{print $1}'`
力哥聊运维与云计算
2019/06/28
6060

相似问题

用三值条件运算符串联Python字符串

27

三值运算符条件语句不工作

20

三值条件运算符不返回true/false

11

F#中插值字符串中的三值条件运算符

16

(Javascript)三值运算符问题的多个条件集

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文