c++ - C++ Xtensor 增加浮点有效数
问题描述
我正在构建一个神经网络并在前馈中使用 xtensor 进行数组乘法。网络接收xt::xarray<double>
并输出一个介于 0 和 1 之间的十进制数。我得到了一张预期输出的表格。当我将我的输出与提供的表格进行比较时,我发现所有结果在 7 位数字后都不同。例如,如果所需的值是0.1234567890123456
,我得到的值是0.1234567-garbage-numbers-so-that-total-numbers-equal-16
, 0.1234567993344660
, 0.1234567221155667
。
0.1234567890123456
我知道由于浮点数学,我无法得到那个确切的数字。但是我怎样才能调试/提高精度以接近所需的数字。谢谢
更新:
xt::xarray<double> Layer::call(xt::xarray<double> input)
{
return xt::linalg::dot(input, this->weight) + this->bias;
}
对于代码,我只是在数组中多次调用此方法call
。weight
bias
xt::xarray<double>
解决方案
推荐阅读
- css - ng-select multiple - 改变高度
- javascript - 在谷歌电子表格中更新单元格时通过电子邮件通知
- java - 如何解决清单合并失败的问题?
- multithreading - 关于单主任务控制的worker任务实现的问题
- android - RxJava Chain 请求并从任何请求更新到 Observer
- batch-file - 批处理脚本 - findstr 用结果覆盖 csv 文件
- php - Laravel Blade 中的字符串替换
- replication - 什么是数据复制框架?它的用途是什么?
- reactjs - Material-ui Button onClick 提交 Dialog 未更新 FormData。FormData.append 未附加
- image - FFMPEG:sws_scale 在目标帧中不产生任何数据