谷歌算法研究员:我为什么钟爱PyTorch?

老铁们好!我是一名前谷歌的算法研究员,处理深度学习相关项目已有三年经验,接下来会在平台上给大家分享一些深度学习,计算机视觉和统计机器学习的心得体会,当然了内推简历一定是收的。
这篇文章,不想说太多学术的东西,和大家简单谈一谈深度学习框架的选择,这几年在辅导的过程中,见过了太多同学在无意义的事情上浪费了太多精力,而如果第一个demo始终无法顺利跑动,这无疑是非常fraustrated的。

1. 操作系统

这个是最好说明的,使用Ubuntu或是OS系统,在笔者看来Windows本身的设计逻辑使得它非常不适合进行希望得到快速反馈的行为。而Unix-base的模型可以对输入进行快速应答,而且Windows的注册表文件实在是非常反人类。考虑到Mac的高昂成本,那么笔者实际上是在推荐Ubuntu,win本下载vmware使用Ubuntu虚拟机即可,如有需要可在评论提出,会给出Ubuntu的相关安装和配置说明。

2. 深度学习框架

笔者接触过不少的深度学习框架,也就是说,放弃过很多框架。在工作中踩的坑,有些现在回想起来,依然没法解决。

最早使用的是Caffe,如果是有过一些工作经验的AI从业者,一定对这个名字记忆犹新,早期几乎所有的classic模型都是caffe-base的,而且它的可读性很好,在进行了一定的基础学习后,可以轻松理解模型。但是caffe最大的缺点在于,它的安装较其他的框架而言更加繁琐,配置起来很麻烦,甚至出现过公司里所有做object detection的实习生都要使用同一台服务器跑模型,因为他们自己的电脑上都有着各种各样的错误提示,而且mentor们也看不出来问题。

从使用的广度来看,谷歌公司给出的TensorFlow在这几年独占鳌头,它使用的静态图是一种很有趣的思路,我们知道,在进行一系列的运算时一定有办法可以将步骤和计算损耗进行简化。

现在我们手上有一个长度为n的向量,记为(x1,x2,...xn)(x_1, x_2, ...x_n)(x1?,x2?,...xn?)。现在在某个模型中需要对模型进行缩放之后的加和,巧合的是缩放系数是1n\frac{1}{n}n1?。那么如果需要对模型分别缩放再逐个求和,需要的计算次数是2n2n2n,而如果我们将其先求和再缩放,即∑xin=1n∑xi\sum \frac{x_i}{n}=\frac{1}{n}\sum x_i∑nxi??=n1?∑xi?,计算次数变为n+1n+1n+1,减少了接近一半的计算量。在进行了这样的优化之后,需要对模型进行对应的变换,这在第一次运算时会损耗一定的时间,但是之后的每一次操作都会从中受益。当然这是个小学级别的例子,实际运用不会是这么简单的情况。
Keras本质上就是TensorFlow的一个高级封装,所以TensorFlow有的缺点它都有,但是封装保证了它的便捷性,只需要不多的几行就能完成模型的搭建,不过,灵活性较差,工业领域一般没人用这个。
那么,终于可以给出My Favorite了!

PyTorch是Python+Torch的结果,其中Torch和numpy十分类似,所以这也是data scientist转行AI的首选框架。它以Python为主,与TensorFlow相比,对于GPU的接口更加友好,实乃学习工作必备之良药。
相较于TensorFlow而言,PyTorch是一个动态的框架,不需要每次操作时使用相同的计算图,这也就使得

不过对于有一定基础的同学,只要在电脑上安装了anaconda,就可以直接通过

pip install torch

即可完成PyTorch的安装工作,除此之外FAIR的大学霸们还贴心的帮我们完成了很多经典模型的搭建,都存在torchvision库里了,通过

pip install torchvision

即可完成。深度学习很多时候都像是搭积木,通过torchvision可以快速将已有的模型作为模块添加到整体中。

如果使用OS系统进行具有CUDA支持的PyTorch安装,则需要如下指令:

export CMAKE_PREFIX_PATH=[anaconda root directory]
conda install numpy pyyaml mkl mkl-include setuptools cmake cffi typing

接下来进行源码安装

git clone --recursive https://github.com/pytorch/pytorch
cd pytorch
MACOSX_DEPLOYMENT_TARGET=10.9 CC=clang CXX=clang++ python setup.py install

接下来就尽情享受PyTorch的快乐吧!!


最近有很多的老铁跟我说:什么时候分享人工智能的TensorFlow框架深度学习、CNN卷积神经网络、解析几何、线性代数等等技术点的文章。

这方面的学习资料我倒是整理出来了,但是发文章,我想说老铁们我这要发到猴年马月呀!每个人的 “口味” 都不一样。

最后我给大家创建一个能够领取这些知识点的公众号!!

前一百个名额可以免费领取!!!先到先得。。。

原文地址:https://www.cnblogs.com/t198520/p/10444306.html

时间: 2024-08-30 18:27:01

谷歌算法研究员:我为什么钟爱PyTorch?的相关文章

企鹅算法你知多少?

继“熊猫算法”以后,Google又推出了命名为“企鹅”的新算法,其目标直指那些过度优化.垃圾以及没有实质内容的网站. 什么是企鹅算法(Penguin Update) 近日,Google又对企鹅算法进行了升级,目前谷歌企鹅算法3.0的推出并未普及全球,仍需一段时间(几周)方可全面发布,此外,据不完全统计显示,目前企鹅算法3.0仅对1%的搜索查询有所影响,未来将呈上升趋势. 一.什么是企鹅算法? 企鹅算法是美国时间2012年4月24号Google推出的新算法更新方案,代号“Penguin Updat

(转载)年终总结 & 算法数据的思考 & 结尾彩蛋

来自豆瓣 真心不错的好文章 原文链接 从前东家离职已经一个多月的时间了,在这一个月,前前后后也和几家公司做了技术交流,自己也第一次静下来这么久来思考总结.今年是我毕业的第五年,也正巧赶上年底,就把这些凑到一起写个小总结吧,也没有什么主题,没有主次,纯粹记录,想到哪儿写到哪儿. 1. 推荐系统 在最近的三四年时间里,我的主要工作就是搭建推荐系统,这几年来不说看了上千篇论文也有数百篇了,这种专注让我自认为在推荐系统领域至少处在一个业界相对领先的水准,但是也恰恰是这段经历让我被打上了深深的标签:他是一

谷歌的黑客梦之队

谷歌广纳黑客奇才,组建了黑客“梦之队”Project Zero,然而它的使命却不只是提高谷歌产品的安全性,它还会帮助其他公司寻找最易被黑客利用的零日漏洞 2007年,17岁的乔治·霍茨成为世界上第一个破解iPhone的AT&T锁的人,当时,各家公司都没有理会他,只是忙着修补他披露出来的漏洞.之后,他又对Playstation 3进行了逆向工程开发,索尼起诉了霍茨,最终他答应永远不再攻击索尼的产品. 今 年早些时候,当霍茨再次破解了谷歌Chrome的操作系统防护时,谷歌却给了他150,000美元,

超人学院机器学习

超人学院机器学习精英班第三期 2014年,百度从google挖走了行业顶尖的人工智能专家吴恩达,这是迄今中国最大的互联网人才引进计划.吴恩达是当今机器学习界的炙手可热的大牛,目前身为百度首席科学家与“百度大脑”的负责人.吴恩达加盟百度足以说明百度对机器学习重视程度.势必掀起国内机器学习应用的热潮.2015年7月,国务院发布推进“互联网+”11个具体行动计划,其中有一个就是人工智能,而且其他领域都涉及到人工智能.国家高度重视人工智能,而企业巨头抢滩布局人工智能产业链,大家都在找前景,说明它很火.互

深度学习的黄金搭档:GPU正重塑计算方式(转载)

转载:原文链接 深度学习的黄金搭档:GPU正重塑计算方式 OFweek电子工程网讯 随着神经网络和深度学习研究的不断深入——尤其是语音识别和自然语言处理.图像与模式识别.文本和数据分析,以及其他复杂领域——研究者们不断在寻找新的更好的方法来延伸和扩展计算能力. 几十年来,这一领域的黄金标准一直是高性能计算(HCP)集群,它解决了大量处理能力的问题,虽然成本有点过高.但这种方法已经帮助推动了多个领域的进步,包括天气预测.金融服务,以及能源勘探. 然而,2012 年,一种新的方法出现了.伊利诺伊大学

从计算机体系结构方面思考深度学习

今年 1 月,谷歌人工智能负责人 Jeff Dean(当时还是谷歌大脑负责人)与 2017 年图灵奖得主.体系结构巨擘 David Patterson(当时获奖结果尚未公布)联合发表了题为<计算机体系结构黄金时代:赋能机器学习革命>的文章.文章指出,机器学习算法正在革命性地着手解决人类社会最为巨大的一些挑战,因此,不难想象,在不远的将来,无论是数据中心还是终端设备,都将会出现专用于机器学习计算的硬件.这样的硬件会具有什么特性?在文章中,作者列出了一系列硬件设计者需要考虑到的关键问题,这些问题对

一箭N雕:多任务深度学习实战

1.多任务学习导引 多任务学习是机器学习中的一个分支,按1997年综述论文Multi-task Learning一文的定义:Multitask Learning (MTL) is an inductive transfer mechanism whose principle goal is to improve generalization performance. MTL improves generalization by leveraging the domain-specific inf

Linux中Bash发现重大安全漏洞修改方法

北京时间9月25日消息,Linux用户今天又得到了一个“惊喜”!Red Hat安全团队在 Linux 中广泛使用的Bash shell中发现了一个隐晦而危险的安全漏洞.该漏洞被称为“Bash Bug”或“Shellshock”. 当用户正常访问,该漏洞允许攻击者的代码像在Shell中一样执行,这就为各种各样的攻击打开了方便之门.而且,更糟糕的是,该漏洞已经在Linux中存在很长时间了,所以修补某个Linux机器很容易,但是要全部修补,几乎不可能实现. Red Hat和Fedora已经发布了针对该

为何爱发朋友圈的人容易瘦下来?

减肥的时候总靠自己的意识力去抗衡美食的诱惑?面对美食,开动前先拍照,现在不少人有这样的习惯.而据报道称,最近美国科学家公布了一项新研究,他们发现吃饭前先给食物拍照上传或有助于减肥,因为这个做法可以监控你的进食分量. 研究人员表示,基于图片的膳食评价使得想要减肥的人们能记录最近的饮食消耗.营养师就可以更有效地监控肥胖患者,指出哪些地方还有改善的余地.专家称这个方法能帮助降低传统节食方法中可能出现的任何不准确性.目前,很多肥胖患者做记录或是填调查问卷来记下他们最近吃过些什么.但是这要依赖于他们正确回