![d6ba49fb2e4eb8846c686a1d0de3945a.png](https://i-blog.csdnimg.cn/blog_migrate/79e9ecb172b060f530a66ca5f4c766ab.jpeg)
题图 "JavaScript Logo"byb0neskullis licensed underCC BY-NC-SA 2.0
几个提前知识
- TensorFlowJS可以简单认为有Browser和NodeJS两个版本,前者可以运行在浏览器,后者可以运行在NodeJS环境下
- NodeJS版本的模型推理速度比Python快哦!参考官方这个博客 https://blog.tensorflow.org/2020/05/how-hugging-face-achieved-2x-performance-boost-question-answering.html
- NodeJS版本理论上也是可以用GPU的
- 文本以NodeJS为基础,给出一个文本分类例子œ
- 按照当前的情况,NodeJS版本其实更适合直接调用Python训练好的模型使用,因为加载速度和推理速度都比Python版本快的原因,如果不是必须要用GPU的话对于小模型更是可以适合配合FaaS等工具更好的实现云AI函数
更多内容和代码可以参考这个REPO https://github.com/qhduan/bert-model/
TensorFlowJS/NodeJS的限制
- 一些算子不支持,例如python版本有的tf.strings.*下面的算子
- 虽然NodeJS版本可以加载TensorFlow 2.x saved model格式,但是不能继续训练(python是可以的)
- 训练速度还是比python的慢
测试环境准备
数据方面这里我们用之前ChineseGLUE https://github.com/ChineseGLUE/ChineseGLUE 的测试数据机LCQMC。这是一个判断两个问题是否等价的数据集,例如“喜欢打篮球的男生喜欢什么样的女生”和“爱打篮球的男生喜欢什么样的女生”等价。
注:新版本ChineseGLUE已经变为CLUEBenchmark https://github.com/CLUEbenchmark/CLUE ,并没有这个数据集了。
$ curl --output train.json https://deepdialog.coding.net/p/