将 Python Keras NLP 模型转换为 Tensorflowjs

2024-03-16

我正在尝试了解有关 Tensorflowjs 的更多信息,但遗憾的是我无法将 Keras NLP 模型转换为 Tensorflowjs。

这就是我想要转换的:

from keras.models import load_model

from keras.preprocessing.sequence import pad_sequences

import pickle

list_classes = ["toxic", "severe_toxic", "obscene", "threat", "insult", "identity_hate"]

model = load_model('Keras_Model/m.hdf5')
with open('Keras_Model/tokenizer.pkl', 'rb') as handler:
    tokenizer = pickle.load(handler)

list_sentences_train = ["I need help Stackoverflow"]

list_tokenized_train = tokenizer.texts_to_sequences(list_sentences_train)
maxlen = 200
X_t = pad_sequences(list_tokenized_train, maxlen=maxlen)


pred = model.predict(X_t)[0]

Tensorflowjs 端:

import tf = require('@tensorflow/tfjs-node')

async function processModel(){
  const model = await tf.loadLayersModel('Server_Model/model.json');
}

如何让 Tokenizer 运行并做出正确的预测?


实际上,我在 Android 上对文本进行分类时遇到了同样的问题。我已经准备好使用模型 ( tflite ),但是如何像 Keras 在 Python 中那样对句子进行标记。

我找到了一个我已经讨论过的简单解决方案here https://link.medium.com/SaBG73mXZW(适用于安卓)。

简单的想法是将keras.preprocessing.text.Tokenizer词汇表到 JSON 文件。该 JSON 文件可以用以下任何一种方式解析: 包括 JavaScript 在内的编程语言。

Tokenizer 持有一个名为word_index.

index = tokenizer.word_index

word_index 对象是一个字典,可以转换为 JSON,例如:

import json 
with open( 'word_dict.json' , 'w' ) as file:    
    json.dump( tokenizer.word_index , file )

JSON 文件包含单词和索引对。您可以像本文中提到的那样用 JavaScript 解析它link https://stackoverflow.com/a/4935684/10878733.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Python Keras NLP 模型转换为 Tensorflowjs 的相关文章

随机推荐

  • 有时会话变量停止工作

    我已经经历过两次这样的事了 突然 我的登录系统停止工作 通过调试我发现 SESSION 变量在登录过程中无法生存 然后 在没有明显原因的情况下 它会恢复工作 这是流程 用户登录于index html 表单提交至login php login
  • 如何先保存粘贴板内容然后再恢复它们?

    我有一个不露面的 Mac OS X 应用程序 需要从其他应用程序复制选择 我通过模拟 CMD C 击键来实现这一点 它工作完美 但我认为有一个至关重要的副作用 它会在未经用户许可的情况下覆盖用户的粘贴板 所以我想在复制选择之前我应该 保存粘
  • 使用 nuget 包添加自定义构建步骤

    我正在开发一个 nuget 包 它将设置当前项目以使用我公司的程序集版本控制标准 除了添加自定义构建步骤之外 我已经让它顺利地完成了我想要的所有事情 到目前为止 从历史上看 这是通过直接编辑 csproj 文件并在 xml 中添加几个新标签
  • 在 Haskell 中获取列表最后一个元素的最快方法

    在 Haskell 中获取列表最后一个元素的最快方法是什么 同样在下一次迭代中 我想删除列表的第一个和最后一个元素 最优雅的方法是什么 我正在尝试列表理解 但这看起来不是很有效 您可以使用the last功能 http hackage ha
  • 为什么 Thread.Sleep() 在 SerialPort.Open 和 Close 之前?

    我注意到我在 SerialPort 关闭和打开时读到的示例代码 人们会在 SerialPort Open 和 Close 之前添加 Thread Sleep 1000 就像下面这样 Thread Sleep 1000 serialPort1
  • jqgrid更改列标题属性

    当我将鼠标悬停在特定单元格值上时 悬停值与单元格值相同 我可以更改与单元格值不同的悬停文本吗 Thanks 您可以在列的 colModel 中使用 cellattr 属性来设置自定义工具提示 例如 cellattr function ret
  • QMenu 中 QActions 的 QTooltip

    我希望能够显示工具提示QMenu items QActions 我取得的最好成绩是连接悬停信号QAction to a QTooltip show connect action QAction hovered QToolTip showTe
  • Nodejs Express fs 将文件迭代到数组或对象失败

    因此 我尝试使用 Nodejs Express FS 模块来迭代我的应用程序中的目录 将每个文件名存储在一个数组中 我可以将其传递到我的 Express 视图并迭代列表 但我很难做到这一点 当我在 files forEach 函数循环中执行
  • Sql Server Case 语句在用户定义函数中给出错误

    我想在用户定义的函数中使用 case 语句 因为我需要匹配多个术语 我可以使用表格进行匹配 但随后我无法将其放入计算列定义中 这适用于 IF 语句 CREATE FUNCTION MaraSizeNumber ms varchar RETU
  • 将 auto_ptr<> 与数组一起使用

    我在用着auto ptr lt gt 它使用类指针类型的数组 那么如何为其赋值 e g auto ptr
  • Rails ruby​​ - 未找到 cap 命令

    我正在尝试使用 Rubber 将示例应用程序部署到 Amazon EC2 我也在关注 Rubber 的 Railscasts 剧集 到目前为止 我已经安装了 gem 运行了 vulcaznize 命令 并对rubber yml 文件进行了修
  • 如何防止tinyMCE粘贴事件?

    如果编辑器当前内容的长度加上要粘贴的单词的长度超过指定的限制 我需要阻止tinyMCE的粘贴事件 我该怎么做 谢谢 我错了 我不需要阻止或禁用tinyMCE 中的粘贴来执行此操作 我用了他们的paste插件并在粘贴之前修改了内容 funct
  • 显式 int 类型作为参数

    是否可以将函数写为 void func uint64 t val template
  • 如何使用 jQuery 设置动态文本框的只读属性?

    我正在尝试从数据库值填充文本框 并且我想将文本框值设置为只读 当用户单击 编辑 选项时 将所有文本框设置为可编辑 我没能做到这一点 这是我的 HTML 代码
  • 使用 Immutable 对普通对象进行深度访问

    考虑以下示例 const stickers new OrderedMap set 1 hero batman name Bruce stickers getIn 1 gt hero batman name Bruce stickers ge
  • REST 服务返回错误的内容类型并解组

    我正在使用 RESTEasy 更具体地说 是他们框架的客户端 我正在调用第三方 Web 服务 它会返回一些 JSON 代码 但是 出于某些充分的原因 他们响应中的内容类型是 text javascript 我如何告诉 RESTEasy 它应
  • 带撇号的单词的正则表达式 (Java)

    我正在尝试找出正则表达式来匹配仅包含字母和撇号的字符串 如果一个字符串包含撇号 我只想匹配它两边都有一个字母 到目前为止我所拥有的是 a zA Z a zA Z 我想匹配如下字符串 a a aa a a aaa But not bb bb
  • 将 Service Fabric 应用程序发布到 Azure 时操作超时

    当我尝试将 Service Fabric 应用程序发布到 Azure 群集时 收到以下错误消息 3 gt Copy ServiceFabricApplicationPackage Operation timed out 3 gt At C
  • Mongodb concat int 和 string

    我正在尝试为我的集合中大小为 50 mb 及以上的所有文件投影 FileName 和 FileSize 但我无法连接 FileSize 类型 因为它的类型为 Int 我希望投影是 result id ObjectId 5652c399a21
  • 将 Python Keras NLP 模型转换为 Tensorflowjs

    我正在尝试了解有关 Tensorflowjs 的更多信息 但遗憾的是我无法将 Keras NLP 模型转换为 Tensorflowjs 这就是我想要转换的 from keras models import load model from k