javascript - Tensorflow.js 如何计算张量中每个值出现的次数?
问题描述
我有一个包含整数的一维张量,例如 [3,2,1,2,1,2,3,1,1,],我想计算每个整数出现的次数。我希望输出用另一个一维张量表示,即输出上方的张量将是 [0,4,3,2]。
我知道这可以在 Tensorflow 的 Python API 中完成,例如使用 tf.unique_with_counts,但我还没有找到在 Tensorflow.js API 中执行此操作的方法。
解决方案
我找到了一个解决方案,方法是使用 tf.oneHot 创建只有一维张量中每个元素给出的索引处的 1 和其他地方的零的张量,即“2”的 [0,0,1,0] 形式在一维张量中,然后沿第 0 轴对输出求和。
代码是
const amounts = tf.tensor1d([3,2,1,2,1,2,3,1,1,],'int32');
const counts = tf.oneHot(amounts, 4);
const axis = 0;
counts.sum(axis); // Outputs [0, 4, 3, 2]
推荐阅读
- .net-core - 从 (3.1.101 x64 ) 升级/迁移 dotnet core Blazor 解决方案
- flutter - 如何在 Flutter 中创建视差页面过渡?
- ag-grid - AG Grid自定义过滤器React组件在升级到版本22后第一次打开时不调用afterGuiAttached
- javascript - 渲染错误:“TypeError:无法读取未定义的属性‘split’”
- grails - grails 4 - 使用代码进行本地化绑定时,BindingFormat 注释不绑定日期
- python - 我不明白“ValueError:没有足够的值来解包”
- spring - 在 JBoss Web 服务器上运行 Spring Boot 应用程序
- mysql - mysql 驱动程序错误 - 将“字符串”值传递给 mysql“int”数据类型列不会出错,但会将其保存为 0
- html - 一个内的href
- mysql - 尝试使用获取错误代码的查询创建表时遇到问题:1292 Incorrectdate timevalue: '2020-00- 00:00:00'