我目前正在尝试让训练有素的 TF seq2seq 模型与 Tensorflow.js 一起使用。我需要为此获取 json 文件。我的输入是几句话,输出是“嵌入”。当我在检查点中阅读时,该模型正在工作,但是我无法将其转换为 tf.js。转换过程的一部分是将我的最新检查点冻结为 protobuf (pb) 文件,然后将其转换为 tensorflow.js 预期的 json 格式。
以上是我的理解,由于我以前没有这样做过,可能是错误的,所以如果我从阅读中推断出的内容有误,请随时纠正。
当我尝试转换为 tensorflow.js 格式时,我使用以下命令:
sudo tensorflowjs_converter --input_format=tf_frozen_model
--output_node_names='embeddings'
--saved_model_tags=serve
./saved_model/model.pb /web_model
然后显示这篇文章中列出的错误:
ValueError:节点变量/分配的输入 0 从变量传递 int32:0 与预期的 int32_ref 不兼容。
我遇到的问题之一是我真的不知道如何解决这个问题。所以我希望你们中的一个人可能有一些指导,或者你知道我的问题可能是什么。
我在下面的链接中升级了用于将检查点文件转换为 protobuf 的代码。然后,我在笔记本底部添加了该文件的导入,然后提供了我在尝试转换为 tensorflowjs 格式时遇到的相同错误。(只需滚动到笔记本底部)
https://github.com/xtr33me/textsumToTfjs/blob/master/convert_ckpt_to_pb.ipynb
任何帮助将不胜感激!