numpy - Pytorch 张量到 numpy 的转换不精确
问题描述
我正在使用 pytorch 构建一个输出概率分布的网络模型,在获得预测后,我想将它们转换为一个 numpy 数组以进行进一步处理,尽管这样做时,转换后的数组并不精确,即值不同从原始(见下面的例子)。这在我的情况下特别糟糕,因为考虑到不精确性,行的总和不再正好为 1,这导致我在代码中进一步出现问题,关于为什么会发生这种情况的任何想法?任何帮助将非常感激。
>> predictions
Out[34]:
tensor([[0.0155, 0.0260, 0.2671, 0.6820, 0.0093],
[0.1231, 0.1076, 0.1660, 0.5376, 0.0658],
[0.0734, 0.0501, 0.1683, 0.6602, 0.0480],
...,
[0.0260, 0.0287, 0.0465, 0.8830, 0.0159],
[0.0251, 0.0327, 0.3148, 0.5643, 0.0632],
[0.0105, 0.0116, 0.2723, 0.6702, 0.0354]], device='cuda:0',
grad_fn=<CopySlices>)
>> predictions.cpu().detach().numpy()
Out[33]:
array([[0.01549727, 0.02597333, 0.26714763, 0.68203545, 0.00934631],
[0.12310678, 0.10758312, 0.16596784, 0.53758585, 0.06575638],
[0.07338995, 0.05007047, 0.16834012, 0.6601813 , 0.04801816],
...,
[0.02603309, 0.02868567, 0.046453 , 0.8829591 , 0.01586908],
[0.02508399, 0.03266559, 0.31480333, 0.564255 , 0.06319207],
[0.01048695, 0.01161059, 0.2722554 , 0.6702131 , 0.03543395]],
dtype=float32)
解决方案
推荐阅读
- javascript - 你如何正确地声明一个DefinitelyTyped 库中的枚举类型?
- spring-boot - 是否可以将传真集成到 Web 应用程序项目(即 spring boot )?
- kubernetes - Kubernetes:如何在 k8s 的 cronjob pod 中运行 kubectl 命令?
- android - 有没有办法用 kotlin 扩展覆盖函数
- flutter - 如何在 sqflite 中进行操作(插入、更新、删除、查询)将外部数据库导入颤振?
- javascript - 在 Dynamics 365 中隐藏多选选项集字段
- django - 有没有办法在 Django 过滤器中优先考虑某些对象?
- linux - 2 个网络服务器的 Linux Haproxy 负载均衡器 haproxy.cfg 语法
- angularjs - 如何使用 ng-repeat 在 angularjs 中动态禁用单选按钮
- django - 填充表单时相关对象不存在