In [ ]:
from google.colab import drive
drive.mount('/content/gdrive')
import os
os.chdir('/content/gdrive/My Drive/finch/tensorflow1/free_chat/chinese_lccc/main')
In [2]:
%tensorflow_version 1.x
TensorFlow 1.x selected.
In [3]:
import tensorflow as tf
import time

from pathlib import Path

print("TensorFlow Version", tf.__version__)
print('GPU Enabled:', tf.test.is_gpu_available())
TensorFlow Version 1.15.2
GPU Enabled: False
In [4]:
def get_vocab(f_path):
  word2idx = {}
  with open(f_path) as f:
    for i, line in enumerate(f):
      line = line.rstrip('\n')
      word2idx[line] = i
  return word2idx


def parse_fn(text):
  parse = lambda text: [[params['char2idx'].get(c, len(params['char2idx'])) for c in list(text)]]
  return {'words': parse(text)}
In [5]:
params = {'export_dir': '../model/lstm_pointer_export'}

params['char2idx'] = get_vocab('../vocab/char.txt')

params['idx2char'] = {idx: char for char, idx in params['char2idx'].items()}

subdirs = [x for x in Path(params['export_dir']).iterdir()
           if x.is_dir() and 'temp' not in str(x)]
latest = str(sorted(subdirs)[-1])

predict_fn = tf.contrib.predictor.from_saved_model(latest)
WARNING:tensorflow:
The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
  * https://github.com/tensorflow/io (for I/O related ops)
If you depend on functionality not listed there, please file an issue.

WARNING:tensorflow:From /tensorflow-1.15.2/python3.6/tensorflow_core/contrib/predictor/saved_model_predictor.py:153: load (from tensorflow.python.saved_model.loader_impl) is deprecated and will be removed in a future version.
Instructions for updating:
This function will only be available through the v1 compatibility library as tf.compat.v1.saved_model.loader.load or tf.compat.v1.saved_model.load. There will be a new function for importing SavedModels in Tensorflow 2.0.
INFO:tensorflow:Restoring parameters from ../model/lstm_pointer_export/1599195155/variables/variables
In [ ]:
while True:
  text_inp = input('Input:')
  t0 = time.time()
  predictions = predict_fn(parse_fn(text_inp))
  for j in range(3):
    indices = [params['idx2char'].get(idx, len(params['idx2char'])) for idx in predictions['output'][0, :, j] if (idx != 0 and idx != 2)]
    print('Rank_{}:'.format(j+1), ' '.join(indices))
  print('%.2f sec' % (time.time() - t0))
  print()
Input:你好
Rank_1: 你 好
Rank_2: 你 好 !
Rank_3: 你 也 好
1.08 sec

Input:早上好
Rank_1: 早 上 好
Rank_2: 早 上 好 !
Rank_3: 早 安
0.05 sec

Input:晚上好
Rank_1: 晚 上 好
Rank_2: 晚 上 好 !
Rank_3: 早 上 好
0.05 sec

Input:再见
Rank_1: 再 见
Rank_2: 再 见 !
Rank_3: 哈 哈
0.19 sec

Input:好久不见
Rank_1: 好 久 不 见
Rank_2: 是 啊
Rank_3: 好 久 不 见 了
0.22 sec

Input:想死你了
Rank_1: 我 也 是
Rank_2: 来 吧 来 吧
Rank_3: 我 也 想 死
0.19 sec

Input:谢谢你
Rank_1: 不 客 气
Rank_2: 不 用 谢
Rank_3: 客 气
0.20 sec

Input:爱你
Rank_1: 爱 你
Rank_2: 我 也 是
Rank_3: 我 也 爱 你
0.20 sec

Input:你叫什么名字
Rank_1: 你 猜
Rank_2: 不 知 道
Rank_3: 我 不 知 道
0.24 sec

Input:你几岁了
Rank_1: 问 女 孩 子 年 龄 可 不 是 绅 士 所 为 哦 ~
Rank_2: 小 女 子 年 方 二 八 你 猜 我 多 大
Rank_3: 怎 么 能 问 一 个 淑 女 这 么 私 密 的 问 题 除 非 你 先 说
0.16 sec

Input:现在几点了
Rank_1: 1 1 点
Rank_2: 不 知 道
Rank_3: 一 点 多
0.22 sec

Input:今天天气怎么样
Rank_1: 下 雨 了
Rank_2: 今 天 下 雨 了
Rank_3: 今 天 天 气 很 好
0.16 sec

Input:我们现在在哪里
Rank_1: 在 这 里
Rank_2: 在 家
Rank_3: 在 哪 里
0.08 sec

Input:你能给我讲个笑话吗
Rank_1: 不 能
Rank_2: 可 以
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.24 sec

Input:你是男孩还是女孩呀
Rank_1: 我 是 萌 妹 纸
Rank_2: 我 是 萝 莉 的 外 表 女 神 的 身 材 女 博 士 的 头 脑 女 汉 子 的 内 心
Rank_3: 我 是 萌 妹 纸 !
0.20 sec

Input:你会几种语言呀
Rank_1: 你 猜
Rank_2: 不 会
Rank_3: 我 不 会
0.12 sec

Input:你能陪我玩吗
Rank_1: 可 以 啊
Rank_2: 不 能
Rank_3: 可 以
0.22 sec

Input:说话可以大声一点吗
Rank_1: 可 以
Rank_2: 不 可 以
Rank_3: 可 以 的
0.21 sec

Input:天气真好
Rank_1: 是 的
Rank_2: 是 啊
Rank_3: 嗯 嗯
0.15 sec

Input:天气太糟糕了
Rank_1: 是 啊
Rank_2: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.21 sec

Input:下雨了
Rank_1: 是 的
Rank_2: 是 啊
Rank_3: 下 雨 了
0.10 sec

Input:雨好大
Rank_1: 是 啊
Rank_2: 是 的
Rank_3: 今 天 下 雨 了
0.10 sec

Input:我讨厌艳阳天
Rank_1: 我 也 是
Rank_2: 我 也 讨 厌
Rank_3: 我 也 讨 厌 艳 阳 天
0.21 sec

Input:好晒啊
Rank_1: 是 啊
Rank_2: 是 的
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.18 sec

Input:今天好冷
Rank_1: 多 穿 点
Rank_2: 是 啊
Rank_3: 多 穿 点 衣 服
0.09 sec

Input:今天好热
Rank_1: 是 啊
Rank_2: 热 死 了
Rank_3: 今 天 热 死 了
0.12 sec

Input:风好大
Rank_1: 是 啊
Rank_2: 是 的
Rank_3: 是 的 呢
0.21 sec

Input:雾太大了看不清路
Rank_1: 雾 太 大 了
Rank_2: 雾 太 大
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.24 sec

Input:打雷了好可怕
Rank_1: 可 怕
Rank_2: 哈 哈
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.20 sec

Input:下雪了诶
Rank_1: 是 的
Rank_2: 下 雪 了
Rank_3: 下 雪 了 ?
0.19 sec

Input:好烦啊
Rank_1: 我 也 是
Rank_2: 怎 么 了 ?
Rank_3: 我 也 好 烦
0.18 sec

Input:好开心
Rank_1: 开 心 就 好
Rank_2: 哈 哈
Rank_3: 我 也 是
0.19 sec

Input:太激动了
Rank_1: 哈 哈
Rank_2: 激 动 什 么
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.21 sec

Input:我好难过
Rank_1: 我 也 是
Rank_2: 怎 么 了 ?
Rank_3: 我 也 难 过
0.24 sec

Input:我想哭
Rank_1: 抱 抱
Rank_2: 我 也 想 哭
Rank_3: 我 也 是
0.19 sec

Input:太好笑了
Rank_1: 哈 哈
Rank_2: 笑 死 我 了
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.19 sec

Input:我好伤心
Rank_1: 我 也 是
Rank_2: 怎 么 了
Rank_3: 怎 么 了 ?
0.20 sec

Input:心好痛
Rank_1: 抱 抱
Rank_2: 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱 抱
Rank_3: 怎 么 了
0.23 sec

Input:好累啊
Rank_1: 我 也 是
Rank_2: 加 油
Rank_3: 怎 么 了 ?
0.20 sec

Input:我好疲惫
Rank_1: 我 也 是
Rank_2: 我 也 疲 惫
Rank_3: 我 也 好 疲 惫
0.19 sec

Input:我爱你
Rank_1: 我 也 爱 你
Rank_2: 我 爱 你
Rank_3: 我 也 是
0.18 sec

Input:我讨厌你
Rank_1: 我 讨 厌 你
Rank_2: 我 也 讨 厌 你
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.19 sec

Input:你真是太棒啦
Rank_1: 谢 谢
Rank_2: 嘿 嘿
Rank_3: 谢 谢 你
0.20 sec

Input:你好厉害啊
Rank_1: 哈 哈
Rank_2: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.22 sec

Input:吓死我了
Rank_1: 哈 哈
Rank_2: 吓 死 我 了
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.20 sec

Input:我想回家
Rank_1: 我 也 想 回 家
Rank_2: 我 也 想
Rank_3: 我 也 是
0.20 sec

Input:我想爸妈了
Rank_1: 我 也 是
Rank_2: 我 也 想 爸 妈
Rank_3: 我 也 想
0.20 sec

Input:不知道小孩在家有没有听话
Rank_1: 我 也 是
Rank_2: 我 也 不 知 道
Rank_3: 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈 哈
0.22 sec

Input:想回家撸猫
Rank_1: 我 也 想 回 家
Rank_2: 我 也 是
Rank_3: 我 也 想
0.19 sec