我在 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)
它提供了以下文件(我可以在控制台中测试机器人):
但是在文档中它说我应该使用 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/