tensorflow - 为 Tensorflow.js 保存 TensorFlow 模型

标签 tensorflow tensorflow.js

我在 TensorFlow 中训练了一个聊天机器人,想保存模型以便使用 TensorFlow.js 将其部署到 Web。我有以下内容

checkpoint = "./chatbot_weights.ckpt"
session = tf.InteractiveSession()
session.run(tf.global_variables_initializer())
saver = tf.train.Saver()
saver.restore(session, checkpoint)


# Converting the questions from strings to lists of encoding integers
def convert_string2int(question, word2int):
    question = clean_text(question)
    return [word2int.get(word, word2int['<OUT>']) for word in question.split()]

# Setting up the chat
while(True):
    question = input("You: ")
    if question == 'Goodbye':
        break
    question = convert_string2int(question, questionswords2int)
    question = question + [questionswords2int['<PAD>']] * (25 - len(question))
    fake_batch = np.zeros((batch_size, 25))
    fake_batch[0] = question
    predicted_answer = session.run(test_predictions, {inputs: fake_batch, keep_prob: 0.5})[0]
    answer = ''
    for i in np.argmax(predicted_answer, 1):
        if answersints2word[i] == 'i':
            token = ' I'
        elif answersints2word[i] == '<EOS>':
            token = '.'
        elif answersints2word[i] == '<OUT>':
            token = 'out'
        else:
            token = ' ' + answersints2word[i]
        answer += token
        if token == '.':
            break
    print('ChatBot: ' + answer)

它提供了以下文件(我可以在控制台中测试机器人):

saved files

但是在文档中它说我应该使用 SaveModel 或 Frozen,有人可以帮忙吗?我不确定如何实现。谢谢。 https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/saved_model/README.md

最佳答案

要在浏览器中部署您的模型,您首先需要使用 tfjs-converter 对其进行转换.你可以看看下面的tutorial看看如何进行。

要成功转换模型,浏览器应该已经支持模型中使用的所有操作。这是完整的 list当前支持的操作。

一旦您的模型被转换并且您拥有模型和权重的文件,您可以使用 loadFrozenModel 加载它。 :

const model = await loadFrozenModel(MODEL_URL, WEIGHTS_URL);
...
model.execute({input: the_input_of_the_model});

关于tensorflow - 为 Tensorflow.js 保存 TensorFlow 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52206082/

相关文章:

python - 如何将任务分配给特定的 CPU 内核?

python - 自定义和预训练模型的集合给出了运行时错误

javascript - 从 Tensorflow.js 文本毒性检测模型返回 'predictions'

node.js - tensorflowjs中的decodePng抛出形状错误

javascript - model.predict 在使用 TensorflowJS 时不是一个函数

tensorflow - 为单个图像实现 CVAE

android - 运行 TensorFlow graph Android 的输出维度问题

image-processing - 使用 keras.preprocessing.image.ImageDataGenerator 的图像数据增强技术?

javascript - 如何在 Tensorflow.js 中保护(混淆/DRM)经过训练的模型权重?

tensorflow.js - tf.browser.fromPixels 只返回零