是否可以将tenserflow.js与本地反应一起使用?

时间:2018-04-11 14:25:19

标签: react-native tensorflow

我正在尝试为基于人工智能的应用程序添加离线支持,我在React Native上构建,该应用程序类似于硅谷的Not Hotdog。我最近发现了Tenserflow.js,并试图用React本机实现它,甚至将我的python模型输出到Tenserflow.js支持的模型,但是当我尝试使用{{在一个React Native组件中导入Tenserflow.js时1}}这个语法但是React Native会抛出错误,错误截图附有问题。

Screenshot of the error message from React Native

谢谢!!!

2 个答案:

答案 0 :(得分:9)

简短回答 no ,如in the description of the project所述。

  

WebGL加速,基于浏览器的 JavaScript库

您收到的错误表明它正在尝试使用window,这是浏览器中DOM API的一部分。 React Native没有这样的API,因为它不是浏览器。您可以看到他们在Core API的多个位置使用window

长答案是一个可能,但是超出了StackOverflow答案的范围,因为它类似于要求教程。详细说明,我可以看到两种可能使TensorFlow.js起作用的方法:

  1. 填充缺少的所有内容:
    • 这可能是可能的,但它可能不会像你期望的那样工作,因为它利用了WebGL。我不熟悉TensorFlow.js,但我相信使用WebGL是因为它允许访问GPU加速,从而使工作负载在浏览器中可行。您需要执行类似操作才能在移动设备上正常
  2. 利用WebView。但是,您可能会再次遇到WebGL /性能问题as indicated in older questions such as this
  3. 由于您没有发布任何代码,因此我无法就此问题向您提供其他指导。一个建议是查看可能是react-native-tensorflow等原生模块以及人们围绕它进行的讨论。

答案 1 :(得分:1)

@tensorflow/tfjs-react-native自2019年8月下旬开始在npm(alpha版)上可用。