其实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的东西。

为什么 Python被Google选为TensorFlow的开发语言呢?使用 Python比C++语言进行机器学习有什么优势?相关推荐

  1. python 生成exe anaconda_Anaconda 搭建 Tensorflow 2 开发环境

    最近更新:2020/02/16 1 anaconda 下载 anaconda Anaconda Python/R Distribution - Free Download​www.anaconda.c ...

  2. python画兔子代码_【后端开发】如何用Python画一只兔子——turtle库circle()画圆函数的详细用法介绍...

    周末学习了一下turtle库的基本函数,试着画了一只大耳朵小兔子,灵感来源是jellycat邦尼兔.turtle库中circle()函数用来画弧,但和通常先确定原点,再根据半径.夹角画弧的方法有所不同 ...

  3. 学python后还要学什么语言_除了 Python,为什么机器学习还需要一种新的编程语言?...

    原标题:除了 Python,为什么机器学习还需要一种新的编程语言? 编者按:任何足够复杂的机器学习系统都需要一个特定的.非强制要求.优弊共存的编程语言.如今 Python 虽然在人工智能领域应用广泛, ...

  4. 做python项目需要知道什么_一文带你了解python是什么?能做什么?为什么要学?(文末附学习资源)...

    什么是 Python? Python 是一门流行的编程语言.它由 Guido van Rossum 创建,于 1991 年发布. 它用于:1.Web 开发(服务器端) 2.软件开发 3.数学 4.系统 ...

  5. python调用公共方法_common: 这是一个Python的公共工具类,集成了各种主要的python常用方法...

    common 介绍 这是一个Python的公共工具类,集成了各种主要的python常用方法. 本人是做java开发的,学习python很多情况下是把他当做一个脚本来使用,在使用的过程中,发现很多的功能 ...

  6. 自主开发编程语言被指Python套壳,中科院开发者道歉

    中科院计算所团队"完全自主设计.开发和实现"的"木兰"编程语言是Python语言的套壳产品?针对近日这一网络质疑,1月17日,项目负责人.中科院计算所编译实验室 ...

  7. 用 Python 使用 Google Colab?岂止是炫酷

    选自Medium 作者:Towards AI Team 机器之心编译 机器之心编辑部 Google Colab 是一个免费的 Jupyter 环境,用户可以用它创建 Jupyter notebook, ...

  8. 用Python一键批量将任意结构的CSV文件导入 SQLite_用 Python 使用 Google Colab?岂止是炫酷...

    选自Medium 作者:Towards AI Team 机器之心编译 机器之心编辑部 这篇文章教你如何使用 Google Colab,更好地利用免费资源. Google Colab 是一个免费的 Ju ...

  9. Google人工智能平台TensorFlow介绍

    Google人工智能平台TensorFlow介绍 作者:雨水/家辉 日期:2016年6月19日 CSDN博客:http://blog.csdn.net/gobitan TensorFlow是什么 官方 ...

最新文章

  1. 架构师必备技能:Maven Archetype生成项目模板
  2. python参数类型检查_Python中的类型检查
  3. Linux命令之tar等
  4. Java:对double值进行四舍五入,保留两位小数的几种方法
  5. linux下载gcc yarm,修改Yarn的全局安装和缓存位置
  6. java知识总结-25
  7. Leetcode动态规划:300.longest-increasing-subsequence(最长递增子序列)
  8. php168 discuz论坛贴子调用设置,Z-blog调用Discuz论坛最新帖子的方法
  9. 医疗系统流程软件测试用例,医疗管理系统案例测试用例.doc
  10. html5 统计图 等值线,浅谈WebGIS等值线模态前端展示生成绘制(算法经验)
  11. 漫谈可视化Prefuse(五)---一款属于我自己的可视化工具
  12. (cf)Codeforces Round #807 (Div. 2)A--C思维题
  13. 计算机无法识别建行网银盾,建行网银盾无法识别怎么办 几招办法教你轻松解决...
  14. java爬虫新浪微博_java爬虫(爬新浪新闻) 如何从零开始
  15. DSPE-PEG-TAT,磷脂-聚乙二醇-靶向穿膜肽TAT,一种磷脂PEG肽
  16. linux内核源码分析之proc文件系统(二)
  17. 一个曾经失眠九年的工程师告诉你怎样拥有更好的睡眠
  18. jdk,jre,jvm的包含关系
  19. WIN_DOS经典大全
  20. 1998年图灵奖--詹姆斯·格雷简介

热门文章

  1. cocos2dx 自定义动画
  2. PXE网络装机之centos7(批量自动装机)
  3. Mac 安装HomeBrew 出错
  4. [日常]总结2016年7月入职至2016年7月26号微盘所遇bug
  5. Android .9.png图片的处理
  6. 想拥有最新的微软嵌入式技术 就赶快加入微软嵌入式专家社区吧!
  7. SDN和SD-WAN有本质区别—Vecloud微云
  8. OpenCV神经网络ANN代码编译运行与解读(二)
  9. Qt vlc视频开发libvlc_new返回空的问题
  10. ORACLE网络连接配置与文件:listener.ora、sqlnet.ora、tnsnames.ora