点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

Google开源Swift for TensorFlow无疑是对热衷于喜爱Swift编程语言的开发者的一种特殊福利。这也不由得让我更加钦佩Swift之父Chris Lattner此举的伟大。

此前,Lattner在苹果领导开发的Swift不仅速度快,可用性高,在开发者群体中极受欢迎,随后,在Tesla短暂停留的六个月之后,Lattner于2017年8月选择加盟Google Brain,专攻机器学习和人工智能,目前来看,Swift for TensorFlow应该其加入Google之后的第一个大动作。

上个月底,在TensorFlow举办的开发者峰会上,Google重磅发布了许多产品。除了TensorFlow.js的发布之外,还有一个就是宣布了即将开源的Swift for TensorFlow。昨日,Google的承诺如期兑现,也再次将人工智能和深度学习相关项目研发的从业者对TensorFlow的喜爱推向高潮。据了解,Swift for TensorFlow在GitHub上开源,链接为:https://github.com/tensorflow/swift。

可以说截止目前,TensorFlow已经满足了包括Python、Java、Swift、Go、C等多种编程语言的支持。

据TensorFlow官方介绍,

“Swift for TensorFlow 为 TensorFlow 提供了一种新的编程模型,将 TensorFlow 计算图与 Eager Execution 的灵活性和表达能力结合在了一起,同时还注重提高整个软件架构每一层的可用性。

此外,TensorFlow还编写了一些文档,其中详细介绍了其理论和实现,存放在README 文件中,链接:https://github.com/tensorflow/swift/blob/master/README.md。

第一个必读文档是“Swift for TensorFlow 设计总览”,这里介绍了项目的主要组成部分以及结合方式。

另外,TensorFlow还详细介绍项目的几个重要领域,通过“Graph Program Extraction”的算法,可以让开发者用 Eager Execution 式的编程模型来实现代码,同时保留 TensorFlow 计算图的高性能优势。并且,这个项目还允许开发者直接通过Swift代码任意使用Python API。

当然,TensorFlow官方还提到,之所以选择Swift作为主语言,目的在于“实现可靠的 Graph Program Extraction 算法对于编程语言的设计有很高的要求”。

总的来讲,自从Tensorflow开源之后,其提供的API对搭建神经网络有着足够的自由度,很大程度上为开发者们搭建和实现功能解决了后顾之忧,但另一方面,鉴于使用TensorFlow的基本模型,Python作为数据科学家专用的最舒适的语言,与TensorFlow也是一个很自然的契合。甚至连fast.ai创始人、前任Kaggle总裁Jeremy Howard在看到此次项目之后曾在Twitter上评论:“我们是不是终于可以放下Python了?”

Jeremy Howard在Twitter上的回复

此前,TensorFlow官方曾给出一个特别的提示:“现在使用Swift for TensorFlow重写你的深度学习模型还为时尚早。”

那么,我们何时需要开始真得需要并投入到Swift中来呢?

近期,来自Fritz.ai联合创始人兼CEO Jameson Toole发表一篇标题为《为什么数据科学家应该开始开始学习Swift》(Why data scientists should start learning Swift),其中,他谈到了Swift for Tensorflow以及机器学习发展的未来。

他表示,不要将Swift视为TensorFlow的简单包装,以便其更易于在iOS设备上使用。其意义远不止如此。该项目改变的将是整个机器学习和数据科学生态系统使用的默认工具。

为什么这么讲呢?

他继续谈到:

“在此背景之下,可以看到两种趋势正慢慢渗透:一个是通过神经网络和深度学习掀起的人工智能复兴;一个是向数十亿智能手机和物联网设备上运行的移动为先应用的转变。这两种技术都需要高性能计算能力,这种情况下Python就显得尤为不适了。

一方面,深度学习在算力上非常昂贵,需要通过张量运算的长链传递巨大的数据集。为了快速执行这些计算,软件必须将数以千计的线条和内核与专用处理器进行编译。在移动设备的功耗和热量被得以真正关注的情况下,这些问题开始加剧了。相对来讲,以更少的内存换来更为高效的处理器以优化应用,这都是一个不小的挑战。显然,迄今为止,Python依然不再是一个很好的解决方案。

而对数据科学家和机器学习研究人员来讲,这就是很大的问题。因为,我们不再诉诸于让GPU承受大量工作负载,但多数人又深陷移动应用开发的泥潭,再耗费时间学习一门新的编程语言似乎不太现实,但这种转换成本实在太高了。例如Node.js这样的JavaScript项目和React Native这样的跨平台抽象工具。现在,我很难在Python的环境下完成项目。

在由机器学习和边缘计算主导的世界中,Python无法成为端到端语言,主要还是因为Swift for TensorFlow的推动。Chris Lattner认为,Python作为一种动态型语言,无法带领我们走得更远。用他的话来讲,工程师需要一种把机器学习当做‘一等公民’的编程语言。当然,虽然他深刻阐述了为什么采用新的编译分析与改变利用TensorFlow搭建项目的方式息息相关,但是他最为引人瞩目的还对编程过程的理解。”

Chris Lattner提出了构建机器学习系统的一种新的方式

Jameson Toole做出构想,任何一种能够方便机器学习的编程语言所具有的特征:

  1. 可读、高效语法

  2. 脚本功能

  3. 类似于Notebook界面

  4. 大型、活跃的社区可构建第三方机构

  5. 从TPU到移动芯片等专业硬件,可提供干净、自动化的编码方式

  6. 移动设备上的本机执行

  7. 性能更接近于C

写到最后,Jameson Toole还表示:Lattner和他的团队正在用Swift for TensorFlow一一核实这些特性。首先,其语法几乎与Python一模一样。有一个用于脚本和笔记本的编译器。最重要的是,它们能通过运行任意Python代码来帮助迁移,而且由于Swift现在是iOS应用开发的默认选项,因此部署到移动端非常容易。Swift的开放源代码编译器和静态类型使得定位特定AI芯片组成为可能。

————— 推荐阅读 —————

点击图片即可阅读

可以抛弃 Python 了?Google 开源 Swift for TensorFlow 意味着什么相关推荐

  1. Swift For TensorFlow终于开源,但先别急着用

    问耕 发自 凹非寺 量子位 出品 | 公众号 QbitAI 上个月底的TensorFlow开发者峰会上,Google宣布将在四月开源发布Swift for TensorFlow. 就在这个月即将过去的 ...

  2. 初学python还是swift-iOS 将来 Swift 也许会取代 Python

    @All Developer,如果你准备研究深度学习,提高自己的能力,个人建议你开始学习 Swift 语言.(因为 Swift 是世界上最好的语言,开玩笑的.:laughing::laughing:: ...

  3. google开源数学引擎_Google的开源PDF引擎,开放无线运动等

    google开源数学引擎 开源新闻让您阅读愉快. 2014年6月21日至6月27日 在本周的开放源代码新闻摘要中,我们介绍了Google的新开放源代码PDFium引擎,开放无线运动等. Google开 ...

  4. 开源巨献:2017 年 Google 开源了这些超赞的项目

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 春节小长假,走亲访友之余,还可以利用一些零碎的时间收集学习资料,给自己充充电,好在 2018 ...

  5. Python:***测试开源项目

    sql注入工具:sqlmap DNS安全监测:DNSRecon 暴力破解测试工具:patator XSS漏洞利用工具:XSSer Web服务器压力测试工具:HULK SSL安全扫描器:SSLyze 网 ...

  6. 开源公司黄页之 Google 开源软件推荐

    在企业使用开源和贡献开源方面,Google一直是行业的典范.一直以来,Google都在极力推广和倡导开源,并发布了一系列开源项目.如果没有开源软件,Google也难以达到今日的成功.开源中国社区目前收 ...

  7. 1分钟插入10亿行数据!抛弃Python,写脚本请使用Rust

      新智元报道   来源:Avinash 一位程序员急需在一分钟之内生成十亿行的测试数据库,然而在用Python写了脚本之后发现「大失败」.怎么办?当然是用Rust了! 于是,他做了一个所有程序员都会 ...

  8. Google 开源的项目集合

    原链接 文为大家整理了 Google 开源的项目,看看有没有感兴趣的,排名顺序按照 Github ★Star 数排列. 0.机器学习系统 TensorFlow★Star 62533 TensorFlo ...

  9. python工作流引擎 开源_7 款 Python 开源框架的优劣总结

    学习任何一门开发语言都离不开框架,一个框架就好比是一个毛坯房,只需要我们装修就可以入住.如果没有框架我们就只能一砖一瓦的去盖楼房了.框架的种类很多,具体选择要根据实际的业务情况.下面就简单的介绍一下P ...

最新文章

  1. 测试嵌套JavaScript对象键的存在
  2. Autolisp:利用AuoCAD之Lisp编程案例之自动智能绘制枫叶玫瑰
  3. java url接口_javaweb 后台使用url接口
  4. MySQL性能指标及计算方法
  5. django2自动发现项目中的url
  6. [算法] 已知前序和中序遍历,建立二叉树
  7. 二十年的编程,教会我的五件事!
  8. java项目学习_一个Java项目的学习
  9. 使用Delphi创建,解析,操纵XML文档
  10. php工厂模式计算器,php设计模式之工厂模式(工厂模式实现计算器功能)
  11. C语言多人对战贪吃蛇,双人对战贪吃蛇
  12. 情感驿站005:为什么大多数人永远不会真正成功?
  13. 在游戏界,就有了些游戏界的理解。不过本文是对某游戏开发商的信
  14. 素问—渗透测试的简介
  15. Unity Shader(一) Lowpoly动态低多边形 (QQ登录界面低边动画)
  16. vscode之plantUML流程图
  17. 理解ALSA(二):概览
  18. python flask简单使用
  19. 由一个骂评引发的作者产品体验报告-----我要集气
  20. [TPAMI-2023] Towards Improved and Interpretable Deep Metric Learning via Attentive Grouping

热门文章

  1. sql between的用法的意思_SQL 宝典——SQL 语法速成手册
  2. leetcode题库221-- 最大正方形
  3. 强化学习的数学基础3---Q-Learning
  4. Linux下的进程池(2)
  5. 计算机图形学-----齐次坐标、空间变换矩阵和通用的建模方法
  6. Flutter进阶—创建有状态控件
  7. 以太网交换芯片行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  8. 2021年中国单硝酸异山梨酯市场趋势报告、技术动态创新及2027年市场预测
  9. 云计算创业在美国真是如火如荼。
  10. 谷歌再遭反垄断起诉:曾试图“扼杀”三星应用商店!