热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深度学习总结、资源与规划

终于可以放假回家了,虽然只有半个月,但是还是可以好好地做个休整(陪女朋友)。这学期作为一个学数学的咸鱼,从今年4月份开始入坑深度学习,4月初写了第一篇文章,4月

终于可以放假回家了,虽然只有半个月,但是还是可以好好地做个休整(陪女朋友)。

这学期作为一个学数学的咸鱼,从今年4月份开始入坑深度学习,4月初写了第一篇文章,4月初正式入坑github和PyTorch,过程中写了一些简单的教程和自己学习中的总结,非常感谢大家一路以来对我这个写作能力和表达能力都不是特别好的理工男的支持,万万没想到我写的PyTorch小白教程居然也在github上有了快70个star,真的是给了我这个初用github的小白极大的鼓励。

一晃都快4个月了,在学校里做的第一个跟深度学习有关的项目也接近尾声,从项目中深深地了解到了自己的不足,所以决定对机器学习、深度学习进行一次系统性的学习,下面准备开一些新坑,以前经常开很多坑,但是真正填完的没有几个,这次决定开几个大坑慢慢填。

第一个坑是关于编程的,作为学数学出生的人,没有受过太多计算机科学的训练,所以在写代码上一直存在一些问题,知乎编程大神萧井陌写过一个编程入门指南,这在我学习编程初期给了我莫大的帮助,通过学习MIT 6.00.1x(计算机科学与python编程导论)让我们在初期很快地爱上了编程。

之后由于时间的关系,后面的学习也就一直没有继续下去了,但是心里一直记着一本书,叫做SICP(Structure and Interpretation of Computer Programs)(计算机程序的构造和解释),这本书被称为神书。萧大神说过,学完此书编程能力会有一个巨大的飞跃,所以心里一直想着要找时间学完此书,但是美中不足的是这本书的教学语言是Scheme,虽然SICP会从头教你如何用Scheme,但是对于一门陌生的语言,还是一直拖着我开始这本书的学习。

直到最近我发现了一门神课,Berkeley开的暑期课程CS61A,这么课将以python作为教学语言学SICP,同时开课的教授还会针对python重新一本SICP的在线教材,这本教材还在不断地更新中,直到8月10号该课结束。这对于我来讲真的是雪中送炭,虽然没有课程的视频,但是有lecture和作业也是极好的,所以我决定开的第一个坑就是CS61A,如果之后有时间会开SICP的坑,将书学了,书后的习题做了。同时各位对编程痴狂的小伙伴不妨按着萧大神的编程指南,将里面的内容都学了,那么就达到萧井陌大神所谓的「入门」水平了,我觉得你会有「会当凌绝顶」的感觉。(我是暂时体会不到了)

第二个坑是关于深度学习和机器学习的系统性学习,此前只是零零散散看了一些内容,但是并没有做笔记,也没有深刻地进行理解,所以之后决定系统性的学一些课程,看一些书,当然在此之前肯定是要做一个合理的规划了,所以便有了Roadmap of DL and ML,这是我对目前我了解到的深度学习和机器学习的课程,书籍,论文的总结,里面有很出名的课程,如cs229,机器学习基石和技法,cs231n等等,也有最新的课程,比如Berkeley的 Deep Reinfrcement Learning, MIT的 Deep Learning for Self-Driving Cars 等,还有一些优化的课程和线性代数的课程。

除此之外还有一门极其牛逼的课程,这门课程牛逼到我单独拿出来说,那就是MXNet主要开发者之一的陈天奇在华盛顿大学开的一门课 Deep Learning System,陈天奇还开发了一个极其牛逼的框架,可能你已经用了很久了,只是你不知道是他开发的,那就是XGBoost,所以这门课可以说是一个系统设计的天才将他对系统设计的理解教给你。你说牛不牛逼,当你学完之后,你会对现在深度学习主流框架如tensorflow等有了完备的理解,当然学完之后距离你自己开发一套框架还是有一定的距离。(ps 我还没学呢,很想学……)。

另外github里面的内容还在不断更新,我会慢慢放上我的学习笔记,骗一波star啦。当然,也欢迎各位小伙伴上传一些自己推荐的学习资料和笔记,萧伯纳说:「你有一个苹果,我有一个苹果,我们交换一下,一人还是一个苹果;你有一个思想,我有一个思想,我们交换一下,一人就有两个思想。」

最后开第三个坑,这个坑纯属被骗入坑的,至于如何被骗入坑,且听我从今年CVPR2017慢慢道来。

看过我之前文章的人都知道我一直用的是PyTorch,当然用起来也非常的愉快,之前耳闻MXNet特别厉害,不仅在显存上更为节省,最主要的是速度更快,而是自动并行和分布式,听着就很牛逼,有木有。于是满眼星星准备入坑,谁知道文档做得太差了,很多API都找不到,而且也没有论坛,遇到问题大家都去issue里面提问,搞得issue里面也很混乱,同时对于issue也没有太多的人维护,所以没有办法,只好弃坑了。

就在我Pytorch用得好好的,我看到了李沐大神开了一个repo,发现了一个新的东西叫gluon。同时还出现了一张图片。

《深度学习总结、资源与规划》
《深度学习总结、资源与规划》

看着好牛逼,于是充满着极客精神的我手贱地点开了第一张slide,前面几页列出了目前主流的深度学习框架的优缺点,比如符号式编程的代表,tensorflow,caffe,虽然便携高效,但是不够直挂灵活,代码没有易读性,bug不好找;命令式编程的代表PyTorch,Chainer,灵活,但是对于复杂网络速度很慢。然后列出了MXNet的优势,在网络的定义上采用符号式编程,在tensor计算上采用命令式编程,用这种混合编程的方式完美的解决了前面两种框架的问题,看到这里你是不是觉得MXNet牛逼啊,准备入坑了。然而现实会残忍地打醒你,因为MXNet的文档对新手实在是太不友好了,所以你肯定入不了这个坑。

《深度学习总结、资源与规划》
《深度学习总结、资源与规划》

于是我想着李沐大神,别吹逼了,快去完善文档,修bug吧,MXNet是挺牛逼的,但是没有完善的教程和文档,新手怎么入坑啊。但是心细的读者肯定发现了右下角有一个’not good enough’。没错,这个时候主角gluon登场了。

《深度学习总结、资源与规划》
《深度学习总结、资源与规划》

最后总结一波gluon的优势,有下面的车做了一个形象的比喻,原来我以前开的一直是迷你电动车啊,虽然开不了F1,但是开个奥迪宝马应该没问题吧?

《深度学习总结、资源与规划》
《深度学习总结、资源与规划》

李沐大神确实很有煽动性,就几页slide,成功引起了我对gluon的关注,于是我去了gluon的文档看了看,现在gluon只是预览版,还没有出正式版,但是没有tutorial对新手还是不友好啊,于是我又发现一个repo,全套教程,惊呆了,从简单的线性回归到目标检测,自然语言处理,GANs,DQN,一应俱全,虽然目前这个repo的已经完成的内容比较少,但是在不断地更新中,非常期待全套教程的更新完成。

而且点进几个notebook看了看,发现定义网络的方式跟PyTorch简直不要太像,这样的话从PyTorch迁移过来的成本也不会太高,虽然目前听使用的人说还是有些bug,不稳定,但是我算是成功入坑了,希望MXNet的开发者不要辜负大家的期望,努力去完善与开发,给我们提供更方便和快捷的深度学习框架。(我应该找AWS要广告费)

写了这么多,逻辑都有些混乱了,最后希望我能够填完这些大坑吧,也祝各位读者生活、学习、工作、科研都顺利吧。

以上

欢迎关注我的github

欢迎访问我的博客

欢迎查看我的知乎专栏,深度炼丹


推荐阅读
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • CF:3D City Model(小思维)问题解析和代码实现
    本文通过解析CF:3D City Model问题,介绍了问题的背景和要求,并给出了相应的代码实现。该问题涉及到在一个矩形的网格上建造城市的情景,每个网格单元可以作为建筑的基础,建筑由多个立方体叠加而成。文章详细讲解了问题的解决思路,并给出了相应的代码实现供读者参考。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 【MicroServices】【Arduino】装修甲醛检测,ArduinoDart甲醛、PM2.5、温湿度、光照传感器等,数据记录于SD卡,Python数据显示,UI5前台,微服务后台……
    这篇文章介绍了一个基于Arduino的装修甲醛检测项目,使用了ArduinoDart甲醛、PM2.5、温湿度、光照传感器等硬件,并将数据记录于SD卡,使用Python进行数据显示,使用UI5进行前台设计,使用微服务进行后台开发。该项目还在不断更新中,有兴趣的可以关注作者的博客和GitHub。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了UVALive6575题目Odd and Even Zeroes的解法,使用了数位dp和找规律的方法。阶乘的定义和性质被介绍,并给出了一些例子。其中,部分阶乘的尾零个数为奇数,部分为偶数。 ... [详细]
author-avatar
vijay
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有