美文网首页我爱编程
Swift for TensorFlow 来啦!

Swift for TensorFlow 来啦!

作者: LucasJin | 来源:发表于2018-04-27 20:48 被阅读1986次

    Swift for TensorFlow 来啦!

    斗大的标题,其实它很早就来了,只是今天TensorFlow官方开源了这个swift版本。作为一位在传销的路上渐行渐远的人工智能吃瓜群众,还是第一时间感受了一下,只能说两个字: 二妹子英!Amazing!

    很多吃瓜群众跟我一样可能觉得这没啥啊?不就是一个语言的binding么?错了错了,大错特错!各位吃瓜朋友,今天这篇博客就是让你抛弃你以前学的所有东西,准备东山再起的第一篇!闲话不多说,我们先来说一下由来:

    Why Swift?

    首先我们要想一下,为什么tensorflow官方团队要发起一个这样的项目?朋友们,你们还记得今年年初的时候发布的那个Egar Execution吗?当时还是preview,我玩了一下感觉并没有什么卵用。tf团队也考虑到了这个问题,他们提出了这么一个问题:

    搞个JB python的Egar Execution,有点强人所难啊,python从语言层面本身就不支持立即执行啊,为了实现它,我们还得再封装一下tensorflow变成tensor_egar,重点是每次还得判断一下当前的操作是不是tensor,是的话就不执行,这很蛋疼,而且速度很慢,并没有我们宣传的那么牛逼,至于吃瓜群众为什么大赞特赞,我们也搞不懂,那有没有什么办法解决它呢?干脆一不做二不休,RTMD,老子们重写一个语言

    吃瓜朋友们,请注意官方团队的用词:老子们重写一个语言,重点是重写不是老子们。。重写啊朋友们!不是简单的wrapper噢!好了,tf的作者们决定干一件大事了,但是好像这么多牛逼的语言,我不知道选哪个啊,万一选错了,可能就误了tensorflow的大事啊!最后tf作者们苦思冥想,突然灵机一动:

    What the fu*k! 真的是好语言远在天边近在眼前啊!直接用苹果他们家的swift不就可以了吗??swift你不是牛逼吗?你牛逼我就用用看络,如果吃瓜群众们都说不牛逼,看你们还怎么吹牛逼!

    于是tf的作者们开始搞事情了,他们做的第一件事情就是打开github,搜索了一下apple,从apple的官网fork了一下swift。。。苹果开发者们内心os:

    我的哥奶奶,这他妈tf作者们是要搞事情啊!fork我们的swift代码干什么?!莫非NM不是要抄我的语言,编程一个gwift?我日了,真的是光脚的不怕穿鞋的,公然剽窃语言!哦不对….我他妈swift本来就是开源的啊。。。。算了不管它了。。让tf这帮吃瓜群众去搞事情去吧。。

    事件发展到这里,鸡哥难免新村狐疑,为毛是swift?为什么不是Rust呢?为什么不?Rust按道理是完全可以完败C++的啊!鸡哥内心os:

    chishi的tf作者,用脚思考一下好吗?Rust比swift强很多倍好吗?Rust是最可能在底层完败所有语言的潜力股好吗?你用swift考虑过谷歌爸爸的感受吗?shi好吃吗?(不要被tf作者们看到)

    跟我一样心存疑问的朋友们欢迎在下面给我留言。

    Swift for TensorFlow到底是什么?

    好了,很多人还是不明白,这tm的swift for tensorflow到底是个什么玩意儿呢?鸡哥再此给大家捋清除一下思路:

    • Swift for TF是tensorflow的作者们专门针对tensorflow而优化后的swift。听起来很拗口,但是这的的确确可以看做是,一门新的语言!
    • Swift for TF重写了swift的编辑器,所有的优化都是针对tensorflow编译进行的;
    • 使用Swift for TF,妈妈再也不用担心你TM写了三个小时代码,结果发现Tensor的维度不对,尺度不对,大小不对等问题!!
    • Swift 里面可以直接调用Python API!!直接调用Python!!
    • 我当前还不知道swift for tf到底要不要依赖原始的C++代码,如果不依赖,那你就直接编译你的人工智能程序!!请注意,是编译!!

    Swift for Tensorflow安装

    吃瓜朋友们以为在看长篇小说吗?鸡哥可没有时间给你们写长篇小说哦,关注专栏的朋友们路过觉得点赞,我们接下来要安装下swift for tensorflow。朋友们,请注意,这是人工智能从入门到逆天杀神的首发文章。记得点赞,切记切记。

    目前swift for tensorflow只支持macOS 和Ubuntu,不支持iOS以及watchOS!下载链接:https://github.com/tensorflow/swift/blob/master/Installation.md

    幸好鸡哥有一台85年的mac,可以撮合着用。mac下下载是一个pkg的包,里面193M,真GB大!

    我日了,不安装不知道,一安装吓一跳,居然要614M空间!算了算了为了写这篇教程还是安装一下吧。

    如果你还没有安装xcode,可能需要安装一下。

    安装完了,接下来要搞毛呢?记得添加一下swift-tf的path:

    $ export PATH=/Library/Developer/Toolchains/swift-latest/usr/bin:"${PATH}"
    

    OK, 进入REPL,我们看看能不能import TensorFlow:

    image-20180427203131762

    Tada!导入成功。

    朋友们,吃瓜的朋友们,接下来是骚操作了!!!

    直接在REPL里面执行tensor的相加操作!!这个如果你在python里面只能初始化一个session,C++也是,而在swift里面,都不需要!

    image-20180427203438987

    朋友们!完全没有错!这是一个全新的语言!可以直接运行tensor的操作!

    吃瓜朋友们可能会嗤之以鼻了,其实也不是什么新的语言,tf的作者们只是改了swif的编译器,但是语法都是相同的。不过最牛逼最骚的一点事:swift可以在你的写代码的时候直接检测出你的tensor维度错误!!

    怎么样,准备好迎接新一代深度学习编程语言了吗?

    相关文章

      网友评论

        本文标题:Swift for TensorFlow 来啦!

        本文链接:https://www.haomeiwen.com/subject/eliilftx.html