为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?
来源:互联网 发布:oracle。sql存储表 编辑:程序博客网 时间:2024/06/06 16:48
其实TensorFlow大部分内核并不是用Python编写的 :它是高度优化了C++和CUDA(Nvidia用于编程GPU的语言)的组合。 相反,通常它是使用了Eigen (高性能C ++和CUDA库)和NVidia的cuDNN (用于NVidia GPU的非常优化的DNN库,用于卷积等功能)。
TensorFlow的模型是程序员用“一种语言”(很可能是Python!)来表达。 这个模型,是写在TensorFlow结构中的,如:
h1 = tf.nn.relu(tf.matmul(l1, W1) + b1)
h2 = ...
当Python运行时,实际上并没有被执行。 相反,实际创建的是一个数据流图 ,表示采取特定输入,应用特定操作,将结果提供给其他操作的输入,等等。 该模型由快速C ++代码执行,并且在大多数情况下,操作之间的数据不会被复制回Python代码 。
然后,程序员通过拉扯节点来驱动这个模型的执行,通常用Python进行训练,有时在Python中,有时是在原始的C ++中:
sess.run(eval_results)
这一个Python程序(或C ++函数调用)使用C ++的进程内调用或分布式版本的RPC调用C ++ TensorFlow服务器来告诉它执行,然后复制结果。
所以说,我们再说一下这个问题:为什么TensorFlow选择Python作为表达和控制模型训练而且支持的非常好的语言?
答案很简单:Python可能是大量数据科学家和机器学习专家用的最舒适的语言,也是易于集成和控制C ++后端的语言,同时也是广泛使用与谷歌的公司内外和他们的开源产品。 鉴于使用TensorFlow的基本模型,Python的性能并不重要,这是一个很自然的契合。 NumPy也是一个巨大的加分,它可以很容易地在Python中进行预处理(也是高性能),然后将它们提供给TensorFlow,以获得真正CPU-heavy的东西。
TensorFlow的模型是程序员用“一种语言”(很可能是Python!)来表达。 这个模型,是写在TensorFlow结构中的,如:
h1 = tf.nn.relu(tf.matmul(l1, W1) + b1)
h2 = ...
当Python运行时,实际上并没有被执行。 相反,实际创建的是一个数据流图 ,表示采取特定输入,应用特定操作,将结果提供给其他操作的输入,等等。 该模型由快速C ++代码执行,并且在大多数情况下,操作之间的数据不会被复制回Python代码 。
然后,程序员通过拉扯节点来驱动这个模型的执行,通常用Python进行训练,有时在Python中,有时是在原始的C ++中:
sess.run(eval_results)
这一个Python程序(或C ++函数调用)使用C ++的进程内调用或分布式版本的RPC调用C ++ TensorFlow服务器来告诉它执行,然后复制结果。
所以说,我们再说一下这个问题:为什么TensorFlow选择Python作为表达和控制模型训练而且支持的非常好的语言?
答案很简单:Python可能是大量数据科学家和机器学习专家用的最舒适的语言,也是易于集成和控制C ++后端的语言,同时也是广泛使用与谷歌的公司内外和他们的开源产品。 鉴于使用TensorFlow的基本模型,Python的性能并不重要,这是一个很自然的契合。 NumPy也是一个巨大的加分,它可以很容易地在Python中进行预处理(也是高性能),然后将它们提供给TensorFlow,以获得真正CPU-heavy的东西。
阅读全文
0 0
- 为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?
- python与其他语言相比有什么优势?
- 现在学习Java语言有什么优势呢,学完后可以做哪些工作?
- Python语言进行机器学习的开源项目
- TensorFlow 为什么选择 PyThon 作为开发语言?| 社区问答
- sklearn:Python语言开发的通用机器学习库
- python语言优势
- 为什么要选择Python语言实现机器学习算法
- 为什么要选择Python语言实现机器学习算法
- Swift比Objective-C有什么优势?
- Swift比Objective-C有什么优势
- Python语言下的机器学习库
- Python语言下的机器学习库
- Python语言下的机器学习库
- Python是机器学习的首选语言
- Python 语言下的机器学习库
- Python语言下的机器学习库
- 除了 Python,为什么机器学习还需要一种新的编程语言?
- CGI/FastCgi/PHP-FPM
- macOS10.13.1 上编译wxWidgets
- php函数系列 array函数相关一
- 部署和应用程序没有匹配的安全区域错误
- 设计模式之状态模式(State)
- 为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?
- C小知识点 :sizeof和strlen的异同
- 除了Type-C转HDMI,华为Mate10支持VGA和DP线投屏吗?
- 深入理解分布式事务,高并发下分布式事务的解决方案
- 使用electron开发桌面音乐播放器
- Jquery获取鼠标位置和判断鼠标是否在DIV中
- Struts2学习01
- 程序员的双十一:别人都在托单,我们却在脱发
- Java Volatile 关键字详解