前言

其实像Java、C++也都有开源的深度学习框架,但大多数人选择Python的根本原因还是Python的深度学习生态太完备了。举几个例子:

  1. 对于大多数主流SOTA方法,你基本都能找到Python的开源代码,即使有一部分不是原作者贡献的,也有很多同学在努力复现;
  2. 对于一些主流任务,通常都有一些设计很好的框架可供使用。这些框架的便利程度甚至超乎想象。比如用于NLP预训练模型的transformers、用于目标检测的detectron;
  3. 高度便利的数据Pipeline处理方法。Python框架在这一点上远远优于Java和C++的框架;
  4. 优异的深度学习框架。

其实很多时候并不是我们选择了Python,而是做这个生态的大佬们选择了Python。

Python还有一个对新手很友好的地方是对第三方包的安装太简单了。基本就是一件安装所有依赖,偶尔出现冲突,但很容易解。

顺带回忆一下Java早期的机器学习、深度学习框架,大家可以略微感受下。

当时Python还没这么火,机器学习、数据挖掘社区用一个名叫Weka的Java框架的人很多。Weka至今都是我认为对学生非常友好的工具,因为它复现算法几乎是严格按照论文原文。这一点在后来的Spark上就差了很多。

但像Weka这种基于Java的框架最大问题就是对内存中数据的处理极为不灵活。只要你用了一次Pandas,你就无法原谅曾经花费巨量时间在Java框架中写各种set、get方法的自己

早期的DeepLearning4j更是灾难。我一度每天都在开发者论坛里面问问题。那几位大佬确实也耐心,我映像中我帮他们测出了很多Bug。

我现在已经记不得当年有什么具体Bug了,只记得每一次版本升级我们不止会去看他们的更新日志,还会去核对一些关键部分提交的代码(我们不是贡献者)。

还有,DeepLearning4j没有自动微分。 每写一个新模块,需要自己仔细写出它反向传播梯度计算的方法。我当年写过一个很复杂的用来做排序的网络,那个梯度计算真的是让人崩溃。

不过我自己也遇到过一些有趣的事情。比如,我在很早的时候在神经网络中套过一个PageRank(现在来看,我觉得它很像图神经网络)。PageRank的各个边有Embedding,需要端到端的训练。

PageRank本身是迭代算法,所以仔细想一下,可以发现训练很难成功。当时把这个完整梯度写出来的时候就发现可以强行给一个假设(比如PageRank已经收敛了),然后因为这个假设公式中有一个大项变常量(不用求导了!),梯度极大简化,并且work的很好。当时那个开心与激动! 现在有自动微分的情况下,这种快乐可能再也体会不到了。

Java的深度学习框架看起来是没多大希望了。但C++的依然很强势。这主要是因为一些终端低算力设备对深度学习的依赖仍然很强。比如手机、摄像头、智能手表等等。这些设备里基本还是跑C++的框架。

另外像一些芯片厂商,比如MTK、苹果,它们自己的框架也大多是C++的。

所以实验室里做研究、写paper用Python可以是第一选择;但工业界用C++的情况仍然很多。

读者福利:知道你可能对Python感兴趣,便准备了这套python学习资料

对于0基础小白入门:

如果你是零基础小白,想快速入门Python是可以考虑的。

一方面是学习时间相对较短,学习内容更全面更集中。
二方面是可以找到适合自己的学习方案

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习等学习教程。带你从零基础系统性的学好Python!

零基础Python学习资源介绍

👉Python学习路线汇总👈

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

👉Python必备开发工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

👉实战案例👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉100道Python练习题👈

检查学习结果。

👉面试刷题👈

在这里插入图片描述

在这里插入图片描述

资料领取

这份完整版的Python全套学习资料已为大家备好,朋友们如果需要可以微信扫描下方二维码添加,输入"领取资料" 可免费领取全套资料有什么需要协作的还可以随时联系我朋友圈也会不定时的更新最前言python知识。↓↓↓
或者

点此链接】领取

好文推荐

了解python的前景:https://blog.csdn.net/xiqng17111342931/article/details/127705925

了解python的副业:https://blog.csdn.net/xiqng17111342931/article/details/127872402

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐