本港台开奖现场直播 j2开奖直播报码现场
当前位置: 新闻频道 > IT新闻 >

wzatv:【组图】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技(4)

时间:2017-03-10 02:41来源:118论坛 作者:118KJ 点击:
减少移动设备的内存占用,使用AOT编译子图来减少tensorflow执行时间, atv ,能够共享object/header file pair给其他应用,能够在Mobile Inference上减少几个数量级的

减少移动设备的内存占用,使用AOT编译子图来减少tensorflow执行时间,atv,能够共享object/header file pair给其他应用,能够在Mobile Inference上减少几个数量级的内存占用;

提高了程序的可移植性,能够在不改变大部分tensorflow源码的前提下,很容易地更改以适应新的硬件设备,

XLA主要包括两种使用方式:JIT(Just in time)能够自动将Graph中的部分子图通过XLA融合某些操作来减少内存需求提高执行速度;AOT(Ahead of time)可以提前将Graph转换为可以执行的源码,减少生成的可执行文件的大小,减少运行的时间消耗,一个很明显的应用场景是模型在移动设备上的Inference优化。

因为XLA原理涉及到编译器,这块不是我擅长的地方,所以这里就这样过了, 如果有兴趣的小伙伴可以关注下(https://www.tensorflow.org/versions/master/experimental/xla/)还有此次TensorFlowDev Submit上XLA的talk(https://www.youtube.com/watch?v=kAOanJczHA0&index=2&list=PLOU2XLYxmsIKGc_NBoIhTn2Qhraji53cv#t=108.706756)

最后贴几张XLA的一些评测性能:

  

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

  

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

  

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

  Keras与TensorFlow的集成

Keras 是一个可以在很多平台上应用的深度学习框架,"An API Specify for building deep learning models across many platforms"。

TensorFlow已经会在官方TensorFlow支持,1.1会在tf.contrib,1.2会tf.keras,而且会支持TensorFlow Serving,是不是很心动。

Keras的作者在TensorFlow Dev Submit上讲了以下内容:

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

所以之后Keras的用户可以更快的在TensorFlow的框架下做出相应地模型,能更方便地进行分布式训练,使用Google的Cloud ML, 进行超参,还有更更重要的:TF-Serving。这些feature现在好像还没有支持,不过应该很快了,大家可以期待下。

这里,Francois Chollet使用Keras构造了一个Video-QA的model,这个模型在Keras的官方文档也有描述,具体可以去那边看看,大概是这样一个场景:

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

这样一个场景,利用原生的python构造太难了,但是用Keras,只需要考虑设计你的模型,如何来完成类似的功能,完全不用担心coding的实现,如图是一个类似问题的一个简单地模型设计:

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

更详细一点:

wzatv:【j2开奖】史上最全:TensorFlow 好玩的技术、应用和你不知道的黑科技

而在Keras中如何实现呢?

  video = tf.keras.layers.Input(shape=(None, 150, 150, 3))cnn = tf.keras.applications.InceptionV3(weights='imagenet', include_top=False, pool='avg)cnn.trainable = Falseencoded_frames = tf.keras.layers.TimeDistributed(cnn)(video)encoded_vid = tf.layers.LSTM(256)(encode_frames)question = tf.keras.layers.Input(shape=(100), dtype='int32')x = tf.keras.layers.Embedding(10000, 256, mask_zero=True)(question)encoded_q = tf.keras.layers.LSTM(128)(x)x = tf.keras.layers.concat([encoded_vid, encoded_q])x = tf.keras.layers.Dense(128, activation=tf.nn.relu)(x)outputs = tf.keras.layers.Dense(1000)(x)model = tf.keras.models.Mode([video, question], outputs)model.compile(optimizer=tf.AdamOptimizer(), loss=tf.softmax_crossentropy_with_logits)

(责任编辑:本港台直播)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
栏目列表
推荐内容