reactjs - 导入 keras-js 会破坏相关功能和组件的单元测试
问题描述
我正在使用 keras-js ( https://github.com/transcranial/keras-js ) 对前端的用户摘要进行一些情绪分析。它可以很好地预测结果。但是当我运行“纱线测试”时,由于 keras-js 使用了 WebGL2 库,一些测试用例被破坏了。
我试图搜索类似的问题,但只发现:
它位于 node_modules/gl/webgl.js 中。
function checkObject (object) { return typeof object === 'object' || !object } 我所做的只是将 void 检查从 object === void 0 放松到 !object。现在它运行了,至少它可以创建一个 gl 上下文。
当我在 keras-js webgl 文件中更改上述代码时,所有测试都通过了。
import KerasJS from 'keras-js';
let model = new KerasJS.Model({
filepath: 'imdb_bidirectional_lstm.bin',
gpu: false
});
await processPredict(modelArr, caseData, model);
即使将 keras-js 导入我的应用程序,测试用例也应该通过。但现在,它显示如下错误消息:
类型错误:gl.getExtension 不是函数
8 | filepath: 'imdb_bidirectional_lstm.bin',
9 | gpu: false
> 10 | });
| ^
11 | await processPredict(modelArr, caseData, model);
12 | // for (let k = 0; k < caseData.notes.length; k++) {
13 | // let model = new KerasJS.Model({
at new WebGL2 (node_modules/keras-js/lib/WebGL2.js:22:12)
at Object.<anonymous> (node_modules/keras-js/lib/WebGL2.js:320:16)
at Object.<anonymous> (node_modules/keras-js/lib/Layer.js:8:14)
at Object.<anonymous> (node_modules/keras-js/lib/layers/InputLayer.js:10:37)
at Object.<anonymous> (node_modules/keras-js/lib/layers/index.js:16:42)
at Object.<anonymous> (node_modules/keras-js/lib/Model.js:28:38)
at Object.<anonymous> (node_modules/keras-js/lib/index.js:22:37)
at Object.<anonymous> (src/utils/getSentimentAnalysis.ts:10:39)
at Object.<anonymous> (src/redux/actions/anomalyDataActions.ts:12:29)
at Object.<anonymous> (src/redux/actions/anomalyDataActions.test.js:11:50)
解决方案
我使用了由 Keras 训练的网络模型。而且我还在使用它支持使用加载 keras 模型的 Tensorflow.js。请查看。:)
推荐阅读
- r - 解析字符串以在 R 中列出
- visual-studio-code - 在 Visual Studio 代码中创建局部变量调试电子应用程序
- java - 以字符串格式评估随机生成的数学方程并得到答案
- git - Windows10 git clone https://github.com/ktbyers/netmiko” 致命错误
- c# - 使用颜色矩阵更改与 Photoshop 相同的图像亮度
- kubernetes - Kubernetes on Kafka on Kubernetes,liveness probe 失败
- javascript - Dates and times are wrong in MongoDB
- c - 调用 localtime 函数后 *stamp 发生了什么?
- bash - 如何使用 Bash 根据不同的白天无限期地运行命令?
- mesos - 在 minidcos 上部署 apache spark 时,在“/sys/**”“没有用于挂载的子系统””处将“cgroup”挂载到 rootfs“/var/lib/docker/overlay2”