如今深度学习框架尤其多,几乎每个科技公司巨头都有其深度学习框架,Google的TensorFlow是目前用户最多的框架,几乎所有人都在用。另外在2019年的3月6日-7日TensoFlow开发者大会上,TensorFlow 2.0 Alpha正式发布。
1 30秒了解TensorFlow
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,自2015年问世,并在去年11月迎来三周岁生日,已经发展为世界上最受欢迎和被广泛采用的机器学习平台之一。
TensorFlow等于Tensor+Flow,即数据+流动。
TensorFlow中的计算可以表示为一个有向图(directed graph),或称计算图(computation graph),其中每一个运算操作将作为一个节点(node),节点与节点之间的连接称为边(edge),而在计算图的边中流动(Flow)的数据被称为张量(tensor),所以形象的看整个操作就好像数据张量(tensor)在计算图(computation graphy)中沿着边(edge)流过(flow)一个个节点(node)。
从发布至今TensorFlow已经有三年了,里程碑事件主要如下图所示:
当前TensorFow在全球已被下载超过4100万次,并在全球拥有超过1800多名贡献者。
以上就是Tensorflow如今取得的辉煌成就,这是当前没有任何一个深度学习框架可以与其媲美的。
2 TensorFlow2.0有什么不同
全新的TensorFlow 2.0 Alpha已经于2019年3月被发布,这次的升级力度可以说空前,如果说以往的TensorFlow升级改动仅仅是从上海话变成粤语,那么TensorFlow2.0的升级改动就像是从中文变成了日文,已经完全不一样了,虽然名字只是变成了2.0。
另外我们从其下面的Logo也可以看出,TensorFlow2.0和1.X绝对不一样。
那么有什么不同呢?主要包括三大新变化,同时架构也有所改变。
在TensorFlow 2.0中,核心功能是动态图机制Eager execution,且作为默认模式。它允许用户像正常程序一样去编写、调试模型,使TensorFlow更易于学习和应用。也就是说我们不必再构建以后再运行的计算图,而是马上就会返回具体的值。对于这个你可以用2.0版本和1.X版本做个下面的对比小实验。
#TensorFlow2.0
import tensorflow as tf
a = tf.constant([[1, 2],
[3, 4]])
print(a)
#TensorFlow1.X
import tensorflow as tf
a = tf.constant([[1, 2],
[3, 4]])
sess = tf.Session()
result = sess.run(a)
print(result)
另外TensorFlow 2.0通过清理废弃的 API 和减少重复来简化API。如tf.contrib退出历史舞台,其中有维护价值的模块会被移动到别的地方,剩余的都将被删除。
也正是由于上面这些简化,利用TensorFlow 2.0训练的流程将变得十分简洁:
总之,TensorFlow2.0的宗旨就是简易性、扩展性、更清晰。
3 TensorFlow2.0专栏
正是因为TensorFlow2.0更新变化太大,从今天开始我们正式推出TensorFlow2.0专栏,下面是我们这个专栏的更新计划大纲。
本专栏我们会着重突出2.0和1.x的不同,带您从数据读取与使用、模型定义、高级API等方面深刻掌握TensorFlow2.0。
希望这个专栏能够帮助您更好的掌握TensoFlow2.0,如果您之前一直再使用TensorFlow1.X,它可以帮您更好的过渡到2.0;如果您刚刚接触TensorFlow,那么它可以带你更加系统的掌握TensorFlow2.0。这就是本专栏的意义所在,希望您能喜欢。
总结
全新的TensorFlow无论是否继续再创辉煌,只要Google大佬在,它都会一直站是高处。因此对于处于深度学习行业的我们,它都是我们必须掌握的。
有三AI生态
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删