2017年2月16日,Google正式对外发布Google TensorFlow 1.0版本,并保证本次的发布版本API接口完全满足生产环境稳定性要求。这是TensorFlow的一个重要里程碑,标志着它可以正式在生产环境放心使用。在国内,从InfoQ的判断来看,TensorFlow仍处于创新传播曲线的创新者使用阶段,大部分人对于TensorFlow还缺乏了解,社区也缺少帮助落地和使用的中文资料。InfoQ期望通过深入浅出TensorFlow系列文章能够推动Tensorflow在国内的发展。欢迎加入QQ群(群号:183248479)深入讨论和交流。下面为本系列的前四篇文章:
\\深入浅出Tensorflow(一):深度学习及TensorFlow简介
\\深入浅出TensorFlow(二):TensorFlow解决MNIST问题入门
\\深入浅出Tensorflow(三):训练神经网络模型的常用方法
\\ \\ \\在前面的几篇文章已经介绍了如何使用原生态TensorFlow API来实现各种不同的神经网络结构。虽然原生态的TensorFlow API可以很灵活的支持不同的神经网络结构,但是其代码相对比较冗长,写起来比较麻烦。为了让TensorFlow用起来更加方便,可以使用一些TensorFlow的高层封装。
\\目前对TensorFlow的主要封装有4个:
\\第一个是TensorFlow-Slim;
\\第二个是tf.contrib.learn(之前也被称为skflow);
\\第三个是TFLearn;
\\最后一个是Keras。
\\本文将大致介绍这几种不同的高层封装的使用方法,并通过其中常用的三种方式在MNIST数据集上实现卷积神经网络。
\\TensorFlow-Slim
\\TensorFlow-Slim是一个相对轻量级的TensorFlow高层封装。通过TensorFlow-Slim,定义网络结构的代码可以得到很大程度的简化,使得整个代码更加可读。下面的代码对比了使用原生态TensorFlow实现卷积层和使用TensorFlow-Slim实现卷积层的代码:
\\\# 直接使用TensorFlow原生态API实现卷积层。\with tf.variable_scope(scope_name):\ weights = tf.get_variable(\"weight\
1万+

被折叠的 条评论
为什么被折叠?



