TensorFlow最新应用&资源集锦
这是一篇关于深度学习新库、新工具、新框架的总结。
深度学习正在成为企业和高校的热门研究领域之一。深度学习相关的工具和函数库也层出不穷。去年,谷歌开源了其深度学习库TensorFlow,正被广泛应用于深度学习产品中。谷歌最近又发布了一个新的TensorFlow图像识别库 —— Slim。TF-Slim是TensorFlow的一款轻量级的生成、训练和评估模型的工具库,很容易上手使用。TensorFlow也对Inception RESNET v2训练库做了更新。更新之后的准确率应该能更高。TensorFlow目前支持Android、Linux、Linux系统上的GPU以及MacOS。今后还会逐渐支持其他的平台。对于非Linux的用户,我推荐使用云服务器或是一台虚拟机。我自己在Hortonworks 2.5沙箱上安装了TensorFlow,Windows用户可以参考这种方案。我非常喜欢VirtualBox版本,VirtualBox是免费的,用起来也很顺手。
谷歌对TensorFlow的文本概括模块也做了更新。这项技术能够对文本切分,然后生成一段“吸引眼球”的内容概要。它确实需要训练数据集,并且执行一些复杂的处理流程,但结果很有意思。也许可以帮助人们自动地生成文章的摘要。也许这篇文章就是TensorFlow自己写的呢?你不也无法分辨吗?也许是人写的,也许是深度学习算法生成之后由人再次编辑。一切皆有可能。
谷歌TensorFlow的广度和深度学习有一份完整的python教程,以及许多可以模仿的示例。
作为非常强大的深度学习(机器学习)库,TensorFlow涵盖了许多可运行的示例、训练数据和教程。笔者写了两个教程,教大家如何在Apache NiFi上使用它:TensorFlow with Tweets和Using Parsey McParse Face。我已经告诉你了TensorFlow能做什么,接下去我们就来学习怎么做。
输入下列命令,来调用脚本:
/opt/demo/tensorflow/bazel-bin/tensorflow/examples/label_image/label_image
--image="/tmp/$@" --output_layer="softmax:0" --input_layer="Mul:0"
--input_std=128 --input_mean=128
--graph=/opt/demo/tensorflow/tensorflow/examples/label_image/data/tensorflow_inception_graph.pb
--labels=/opt/demo/tensorflow/tensorflow/examples/label_image/data/imagenet_comp_graph_label_strings.txt
安装的命令是:
sudo pip install --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.7.1-cp27-none-linux_x86_64.whl
学习TensorFlow
首先从这几个优秀的教程开始阅读:
- HVASS实验室的TensorFlow教程
- 谷歌的TensorFlow Python版教程
- TensorFlow与Nutshell
- TensorFlow在情感分析中的应用
- 基于TensorFlow的递归深度学习
- Python版TensorFlow深度学习教程
然后,多参与研讨会,比如Chris的Spark and Tutorial讨论会。我在普林斯顿也打算举办TensorFlow相关的活动。
学习TensorFlow的另一种学习途径就是将它用于你所熟悉的机器学习框架中,类似H2O。你需要学一点Python的知识,还需要完成一些复杂的按照过程,因为TensorFlow使用的是Google的Bezel编译工具,还需要许多其它的依赖和编译工具。
基础工作完成之后,就可以将TensorFlow融入到现有的机器学习流程中,用H2O是个不错的选择。H2O是一款机器学习和深度学习的框架和工具,可以在集群上用Hadoop和Spark并行处理大规模数据。TensorFlow + H2O -> Deep Water, Deep Water才刚刚推出,可能并不适合用于你的产品线中,但是数据科学家和数据工程师应该马上动手研究了。
这里有一份完整的教程和示例教你怎样用Python和H2O完成TensorFlow Image Inception。Deep Water支持一些深度学习框架,关于深度学习的教程可以参考这里。
当工具就绪之后,你可以用强大的TensorFlow以及集群资源做些事情了。最近一项比较有趣的项目是自动车辆驾驶挑战赛。从这里可以下载图片训练数据集,接下来就开始训练你的深度学习模型吧。在NVidia基于TensorFlow的自动导航和自动驾驶汽车的端到端学习。