reactjs - 导入 keras-js 将破坏相关功能和组件的单元测试

标签 reactjs redux keras jasmine jestjs

我正在使用 keras-js ( https://github.com/transcranial/keras-js ) 对前端的用户摘要进行一些情感分析。它对于预测结果效果很好。但是当我运行“yarn test”时,由于 keras-js 使用的 WebGL2 库,一些测试用例被破坏。

我尝试搜索类似的问题,但只发现:

它位于node_modules/gl/webgl.js。

函数 checkObject (对象) { 返回 typeof 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 训练的模型。 我也在使用 Tensorflow.js 它支持使用加载keras模型。 请查看。 :)

关于reactjs - 导入 keras-js 将破坏相关功能和组件的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57227482/

相关文章:

javascript - 在 NEXTjs 中使用 React-Moveable 时遇到问题 : TypeError: Cannot read property 'userAgent' of undefined

javascript - 为什么我的状态未定义,即使我默认将其设置为空数组?

reactjs - 如何使用fetch实现常用API调用功能

javascript - onChange 事件在 Mozilla 和 IE React js/Redux 中未触发

reactjs - 带自定义标志的 Redux-Form 6.8.0 远程提交

keras - 使用 keras 图像生成器平衡不平衡的数据集

python - 恢复keras seq2seq模型

Python keras 神经网络 (Theano) 包返回有关数据维度的错误

javascript - URLSearchParams 返回空对象

javascript - React 和 Redux 以及 Axios 中 API 的并行/顺序调用