Tensorflow-hub 是 google 提供的机器学习模组打包函式库,帮开发者把TensorFlow的训练模型发布成模组,方便再次使用或是与社交共享。
打包用来发布机器学习中可重复使用的部分,包括TensorFlow_Graph、权重以及外部档案等所需资源。这些模组包含了大量资料集预训练后取得的变量,可以供类似任务使用。这样的成果可以使后续开发者,用更少的资料集训练精准模型、改进泛化或是大幅提升模型训练速度。
1、安装
和其他包没什么区别,可以直接 pip 安装,但注意要求已安装 tensorflow 包且版本在1.7以上。
pip install tensorflow-hub
可惜在 anaconda 下安装没有成功- 貌似还没有加入 channels。
2、使用
目前官网上已经发布了不少模组,可以直接下载使用,比如 NLP 中的 universal-sentence-encoder,试用了下,第一次下载比较慢,大概800多 M,不过缓存后,后续使用快多了
import tensorflow as tf
import tensorflow_hub as hub
def test():
embed = hub.Module("https://tfhub.dev/google/universal-sentence-encoder-large/1")
embeddings = embed(["The quick brown fox jumps over the lazy dog."])
sess = tf.Session()
sess.run(tf.initialize_all_variables())
sess.run(tf.initialize_all_tables())
print(sess.run(embeddings))
if __name__ == "__main__":
test()