一、什么叫人工智能学习框架?
深度学习框架也就像Caffe、tensorflow这些是深度学习的工具,简单来说就是库,编程时需要import caffe、import tensorflow。
二、初学深度学习选择哪个框架
大部分深度学习框架都包含以下五个核心组件:
1. 张量(Tensor)
2. 基于张量的各种操作
3. 计算图(Computation Graph)
4. 自动微分(Automatic Differentiation)工具
5. BLAS、cuBLAS、cuDNN等拓展包
三、为什么机器学习的框架都偏向于Python
Python有很多科学计算的库的支持,而且可以说非常全面。比较著名的有NumPy,Matplotlib
而且Python对函数式编程支持的很好,对于人工智能,机器学习这点很重要。
Python免费开源,学习成本很低,受到很多人的喜爱。
四、开发Python用哪些工具好
刚学python时,面对简陋的官方版idle和一大堆开发平台和发行版,不知道究竟如何下手。在进行多方尝试后,我最后的选择是Anaconda + Pycharm,用anaconda集成的ipython做工作台,做一些分析和小段程序调试的工作,用Pycharm写相应脚本和程序包的开发。这两个工具都是跨平台的,也都有免费版本。
具体来说Anaconda集成了几乎所有我需要的包库,包含了我整个工作流程,做数据分析的pandas\scipy\numpy、绘图的matplotlib、读写Excel文档的xlrd/xlwt,链接SQL数据库的SQLalchemy、机器学习框架sklearn等。对于Anaconda集成的两个工作平台,Spyder——一个类似于Matlab和Rstudio的IDE,是专注于面向数据的分析的,因为其特点也主要是数据区的存在,可以即时知道变量值的变化;Ipython——一个基于cell的shell界面,可以理解为python自带shell的增强版,它将程序分成一块一块的cell,每个cell可以包含多条语句,可以单独调试运行,并将结果保存在内存中,cell之间可以相互调用,并保持一定的相互独立。
五、学完python都能做哪些职业?
从入门级选手到专业级选手都在做的——爬虫
用 Python 写爬虫的教程网上一抓一大把,据我所知很多初学 Python 的人都是使用它编写爬虫程序。小到抓取一个小黄图网站,大到一个互联网公司的商业应用。通过 Python 入门爬虫比较简单易学,不需要在一开始掌握太多太基础太底层的知识就可以很快上手,而且很快可以做出成果,非常适合小白一开始想做出点看得见的东西的成就感。
除了入门,爬虫也被广泛应用到一些需要数据的公司、平台和组织,通过抓取互联网上的公开数据,来实现一些商业价值是非常常见的做法。当然这些选手的爬虫就要厉害的多了,需要处理包括路由、存储、分布式计算等很多问题,与小白的抓黄图小程序,复杂度差了很多倍。
Web 程序
除了爬虫,Python 也广泛应用到了 Web 端程序,比如你现在正在使用的知乎,主站后台就是基于 Python 的 tornado 框架,豆瓣的后台也是基于 Python。除了 tornado (Tornado Web Server),Python 常用的 Web 框架还有 Flask(Welcome | Flask (A Python Microframework)),Django (The Web framework for perfectionists with deadlines) 等等。通过上述框架,你可以很方便实现一个 Web 程序,比如我认识的一些朋友,就通过 Python 自己编写了自己的博客程序,包括之前的 zhihu.photo,我就是通过 Flask 实现的后台(出于版权等原因,我已经停掉了这个网站)。除了上述框架,你也可以尝试自己实现一个 Web 框架。
桌面程序
Python 也有很多 UI 库,你可以很方便地完成一个 GUI 程序(话说我最开始接触编程的时候,就觉得写 GUI 好炫酷,不过搞了好久才在 VC6 搞出一个小程序,后来又辗转 Delphi、Java等,最后接触到 Python 的时候,我对 GUI 已经不感兴趣了)。Python 实现 GUI 的实例也不少,包括大名鼎鼎的 Dropbox,就是 Python 实现的服务器端和客户端程序。
人工智能(AI)与机器学习
人工智能是现在非常火的一个方向,AI热潮让Python语言的未来充满了无限的潜力。现在释放出来的几个非常有影响力的AI框架,大多是Python的实现,为什么呢?因为Python足够动态、具有足够性能,这是AI技术所需要的技术特点。比如基于Python的深度学习库、深度学习方向、机器学习方向、自然语言处理方向的一些网站基本都是通过Python来实现的。
机器学习,尤其是现在火爆的深度学习,其工具框架大都提供了Python接口。Python在科学计算领域一直有着较好的声誉,其简洁清晰的语法以及丰富的计算工具,深受此领域开发者喜爱。
早在深度学习以及Tensorflow等框架流行之前,Python中即有scikit-learn,能够很方便地完成几乎所有机器学习模型,从经典数据集下载到构建模型只需要简单的几行代码。配合Pandas、matplotlib等工具,能很简单地进行调整。
而Tensorflow、PyTorch、MXNet、Keras等深度学习框架更是极大地拓展了机器学习的可能。使用Keras编写一个手写数字识别的深度学习网络仅仅需要寥寥数十行代码,即可借助底层实现,方便地调用包括GPU在内的大量资源完成工作。
值得一提的是,无论什么框架,Python只是作为前端描述用的语言,实际计算则是通过底层的C/C++实现。由于Python能很方便地引入和使用C/C++项目和库,从而实现功能和性能上的扩展,这样的大规模计算中,让开发者更关注逻辑于数据本身,而从内存分配等繁杂工作中解放出来,是Python被广泛应用到机器学习领域的重要原因。
科学计算
Python 的开发效率很高,性能要求较高的模块可以用 C 改写,Python 调用。同时,Python 可以更高层次的抽象问题,所以在科学计算领域也非常热门。包括 scipy、numpy 等用于科学计算的第三方库的出现,更是方便了又一定数学基础,但是计算机基础一般的朋友。