内容发布更新时间 : 2025/1/23 13:33:08星期一 下面是文章的全部内容请认真阅读。
自然语言主要使用RNN、LSTM、GRU等,目前新推出的TensorFLowFold支持DynamicsBatching,计算效率大幅度提升,非常适合做自然语言处理。 2.TensorFlow在实际生产环境中,有什么特别适合的场景呢?
TensorFlow部署非常方便,可用在Android、iOS等客户端,进行图像识别、人脸识别等任务。常见的CTR预估,推荐等任务,也可以轻松地部署到服务器CPU上。
3.TensorFlow有在生产企业中应用的案例吗?
在Google用的特别多,所有会用到深度学习的场景,都可以使用TensorFlow,比如搜索、邮件、语音助手、机器翻译、图片标注等等。
4.TensorFlow在大数据行业的应用和运用怎么样?TensorFlow的源码使用了哪些设计模式?
应用非常广的,谷歌已经在很多项目上用了TensorFlow,比如说
Youtubewatchnext,还有很多研究型的项目,谷歌DeepMind以后所有的研究都会使用这个框架。如果对某段代码好奇,可以去参考参考源代码学习学习,很多的设计都是经过内部各种项目和用户的千锤百炼。
Google内部非常多team在使用TensorFlow,比如搜索、邮件、语音、机器翻译等等。数据越大,深度学习效果越好,而支持分布式的TensorFlow就能发挥越大的作用。
5.最近在学习TensorFlow,发现其分布式有in-graph和between-gragh两种架构模式,请问这两种架构的区别是什么?或者是不是应用场景不同? 其实一个in-graph就是模型并行,将模型中不同节点分布式地运行;between-graph就是数据并行,同时训练多个batch的数据。要针对神经网络结构来设计,模型并行实现难度较大,而且需要网络中天然存在很多可以并行的节点。因此一般用数据并行的比较多。
6.TensorFlow实现估值网络,作用和意义在哪里?有没有其他的方法实现估值网络?
估值网络是深度强化学习中的一个模型,可以用来解决常见的强化学习问题,比如下棋,自动玩游戏,机器控制等等。
7.想请问下TF有类似SparkStreaming的模块吗?TF在后端存储上和cassandra或者hdfs的集成上有没有啥需要注意的地方?Spark在集群上依赖Master,然后分发到Worker上,这样的架构感觉不太稳定,不知道TF在分布式是什么架构有没有什么特点?
目前没有类似Streaming的东西,Spark主要用来做数据处理。TensorFlow则更多是对处理后的数据进行训练和学习。
8.TensorFlow对初学者是否太难了?TensorFlow貌似都是研发要用的,对服务器运维会有哪些改变?
TensorFlow针对实际生产也是非常好的。应该是所有框架中最适合实际生产环境的,因为有Google强大的工程团队的支持,所以TensorFlow拥有产品级的代码,稳健的质量,还有适合部署的TensorFlowServing。
9.TensorFlow从个体学习研究到实际生产环境应用,有哪些注意事项? 个人研究的时候没有太多限制,实际上线生成可以使用TensorFlowServing,部署效率比较高。
10.TF的耗能是否可以使其独立工作在离线环境的嵌入式小板上,真正达到可独立的智能机器人。
可以的,使用TensorFlow的嵌入式设备很多。但做机器人涉及到很多步骤,核心部分都设计了机器学习,图像处理之类的,TensorFlow可以用来搭建那些。 11.互联网应用如何结合TensorFlow,能简单介绍一下吗?
互联网应用很多都是推荐系统,比如说Youtubewatchnext的推荐系统就是用到了TensorFlow,现在在tf.contrib.learn里面有专门的Estimator来做
WideandDeepLearning(可以查看官网上的例子,我们的书中也有更深一些的讲解),大家也都可以用的。
12.不知道有没有针对传统零售行业的实际案例,比如销售预测的案例。 用深度学习可以做销售预测模型,只要它可以转为一个分类预测的问题。
13.使用TensorFlow的产品有哪些?有比较有代表性的吗?
可以看看我之前的评论,Youtubewatchnext就是其中一个例子,还有很火的AlphaGo。
四、TensorFlow之实战篇
1.现在在用TensorFlow实现图像分类的例子,参考的是CIFAR-10,输入图片会被随机裁剪为24x24的大小,而且训练效率较慢(用了近20小时,已使用了GPU),是否有其他方法来提高效率?TensorFlow有分布式的处理方法吗,若采用分布式,是否要手动将每一台机器上的训练结果进行合并?若提高裁剪的大小,是否能提高准确率?另外,网上有评论说TensorFlow的C/C++接口没有Caffe友好,这个您怎么看?
提高裁剪的大小,会降低样本量,准确率不一定提高。训练20多小时是用了多少epoch?可以通过tensorboard观看准确率变化,不一定要训练特别多epoch。TensorFlow有分布式的训练,不需要手动,有比较好用的接口,在《TensorFlow实战》中有详细的例子如何使用分布式版本。TF的C/C++接口很完善,有没有caffe友好这个见仁见智。
2.想问一下TensorFlow和Spark结合的框架,例如TensorFlowonSpark,目前是否已经成熟可用?另外,TensorFlow新版本增加了对JavaAPI的支持,如果不使用Python语言,所有功能都直接使用Java语言进行相关开发是否已经可行? JavaAPI目前还不太成熟,很多还有待实现,TensorFlowOnSpark也挺有意思的,可以在现有的Spark/Hadoop分布式集群的基础上部署TensorFlow的程序,这样可以避免数据在已有Spark/Hadoop集群和深度学习集群间移动,HDFS里面的数据能够更好的输入进TensorFlow的程序当中。至于成熟不成熟我就不清楚了,毕竟自己还没有试过,不过稍微看了看雅虎自己有使用。
3.对其他的一些机器学习的库接触过一些,要出一个好的效果,对算法选取和参数设置及调节这些方面,希望能给些建议。算法比较多,该如何从分析维度去选取合适的算法?
我觉得最好的方法就是参加数据科学竞赛,比如说Kaggle,通过融入在大家的讨论当中,实际操作和锻炼,你可以很快的理解各种参数的意义和一些比较好的参数范围。
对于一般的数值、种类等特征的数据集,XGboost和Lightgbm都有很好的效果。如果你的数据量很大,或者是图片、视频、语音、语言、时间序列,那么使用深度学习将能获得很好的效果。
4.打算做个文章分析类的东东,比如,分析一篇新闻的要素(时间、地点、人物),用TensorFlow应该怎么着手?
这个问题应该先看看NLP(自然语言处理)相关的内容,TensorFlow是实现你算法的工具。但是前提是你得知道应该使用什么算法。
5.TensorFlow对于分布式GPU支持吗?如何选择TensorFlow和XGboost? TensorFlow支持分布式GPU,用于深度学习。XGBoost主要是做
gradientboosting这一块,最近也有人贡献了代码使它能够的GPU上跑,可以做一做实验比较一下。毕竟XGboost是经过kaggle用户的千锤百炼,很多都已经能够满足他们的需求了。
6.现在学习TensorFlow有没有合适的数据可以使用的?
TensorFlow中自带了MNIST和CIFAR数据的下载程序,其他常用的,比如ImageNet,Gigaword等数据集需要自己下载。 7.BNN分类器训练出的曲线是高次多项式吗?
你说的BNN是指?如果神经网络中没有激活函数,那输出的结果只是输入的线性变换。但是加入了激活函数后,就不是高次多项式了。
五、其他相关的问题
1.TensorFlow的发展趋势是怎么样的?
会集成越来越多的contrib模块,添加很多方便的上层接口,支持更多的语言绑定。同时新推出的XLA(JIT编译器),Fold(DynamicsBatching)都是未来的大方向。
2.个人开发者做TensorFlow应用和开发有前途吗?还是说数据和资料都在大公司,没有合适的、相当数量的数据喂养是无法训练好模型的?
不仅仅限制在深度学习领域,现在TensorFlow也提供很多机器学习的Estimators,我贡献的大部分都在这一块,可以了解一下tf.contrib.learn这个模块,书中有很多机器学习的例子。
另外就是具体要看你做什么任务,当然数据是需要的,但是现在也有很多公开的数据。大公司的数据虽多,但是质量也并不是非常高。 ————————
最后,安利一下两位老师的著作——《TensorFlow实战》。本书结合了大量代码实例,深入浅出地介绍了如何使用TensorFlow、深度剖析如何用TensorFlow实现主流神经网络、详述TensorBoard、多GPU并行、分布式并行等组件的使用方法。