“ 一文概览Tensorflow方方面面。”
大家好,我是人工智能工程师Alpha浪。
今天,我们开始「动手学习Tensorflow - Tensorflow 综述」部分。
快速学习一门新技术的最好方法之一,就是首先对这门技术有着全局的认识,然后在深入了解每一部分的细节。
综述就是最好的给你全局认识的读物。
关注公众号“AI工程师成长之路”, 回复"Tensorflow知多少", 获取最新最全的自制tensorflow综述PPT。
01
—
什么是Tensorflow
Tensorflow 是Google在2015年发布的一个端到端开源机器学习平台。
它的前身是Google内部从2011年开始使用的Disbelief。
那么为什么叫做 Tensorflow 呢?
Tensor 表示多维数组,Flow表示流动,从字面上来看Tensorflow的意思为多维数组在流动。
Tensorflow将数值计算表达为一个计算图,图中的节点为算子,图中的边为多维数组。
一次数值计算由对应的多维数组 (Tensor) 流过相应的算子 (Operator)而表达,即Tensor 在Flow,所以叫做Tensorflow。
02
—
Why Tensorflow
03
—
Tensorflow核心库
Tensorflow中的两种模式
Tensorflow三种实现模型的方式
Tensorflow编程模型中的一些基本概念
Tensorflow中模型的三种存储格式
Tensorflow中模型可以有三种存储格式,分别是check point,saved model以及frozen graph格式。
Check point模型可能是我们接触最多的模型格式了,我们在Tensorflow中直接模型存储的方式就是以check point的格式来存储。
Check point将全部学到的Variable tensor值进行保存,但是不保存模型结构,因此只有在模型source code存在的时候才能对check point格式的模型进行加载。
Saved model是Tensorflow Serving加载的模型格式。除了保存变量Variable的值之外,它还保存模型的结构,因此没有模型的Source code也能对saved model进行加载。
Saved model格式常用在线上部署,例如通过Tensorflow serving来部署,或者通过tensorflow c++或者java api来进行模型的inference。
Frozen Graph格式目前在Tensorflow官方文档中已经看不到了,但是它在业界还是有一定的应用场景的。
Frozen Graph根据模型的输入和输出,只保留在infercne阶段和它们相关联的计算图中的节点和边,进而可以去除掉在Inference阶段用不到的tensor和operator,使得模型更小。
Tensorflow Dataset
Tensorboard
Tensorboard 是Tensorflow中提供的可视化工具。
它不仅可以可视化模型试验过程中模型的metrics,如accuracy,loss等;它还可以可视化计算图中的节点和边;同时它还可以可视化图片,可视化降维后embedding的低维空间等。
值得提的一点是,不仅Tensorflow可以使用Tensorboard进行可视化,像Pytorch等也可以使用它做可视化。
TfDebug
Tensorflow中GPU的使用
在这里要提一个在Tensorflow中使用GPU的好习惯。
Tensorflow默认会对GPU卡全部占用,即使是执行很少的运算。而如果这块卡被一个人全部占用,那么其他人就得不到使用。
因此在使用gpu的时候,一定要进行以下设置:
我们会在下一篇文章中完成剩下的Tensorflow综述部分。
关注公众号“AI工程师成长之路”, 回复"Tensorflow知多少", 获取最新最全的自制tensorflow综述PPT。
推荐阅读
From Word Embeddings To Document Distances 阅读笔记
模型压缩实践系列之——bert-of-theseus,一个非常亲民的bert压缩方法
可解释性论文阅读笔记1-Tree Regularization
关于AINLP
AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。