机器学习与深度学习入门环境安装
- 1、编程语言
- 2、开发平台
- 3、机器学习工具包
- 4、深度学习框架
1、编程语言
- Python:“胶水语言”,集成度高,简单实用,受众面广,开发者社区和资源丰富,功能强大,
十分适合新手入门与科研工作者使用
。但运行速度较慢,多线程机制不完善。
- R:为高级统计和数据可视化而构建的语言。在数据分析和可视化方面优于Python,且可作为商业软件Matlab的替代品。
- C/C++:常用作高性能算法编写的底层语言,可控制CPU和内存的资源使用。但是利用C/C++语言调试研究ML算法时会较为困难。
- Scalar:比Python快得多,将面向对象和函数式编程的优点集成到了一个高级语言中,允许使用企业代码中经常使用的JVM库。但Scalar当前的受众面比较小,开发者社区和资源有限。
2、开发平台
一款使用广泛,功能齐全的Python IDE(Integrated Development Environment,集成开发环境)。用过IntelliJ IDEA(Java语言开发的集成环境)的朋友对它上手将会很快,因为Pycharm和IntelliJ IDEA皆由JetBrains公司开发。
PyCharm官网链接:https://www.jetbrains.com/pycharm/
PyCharm安装与使用教程:https://zhuanlan.zhihu.com/p/346299274
- VsCode
Microsoft于2015年发布的一个运行于各种OS(Linux、Mac OS、Windows)之上的跨平台源代码编辑器。支持C++、Python、Java、Go等编程语言,轻量便捷,插件资源丰富,生态系统较为完整。
VsCode官网链接:https://code.visualstudio.com/
VsCode安装与使用教程: https://blog.csdn.net/Passerby_Wang/article/details/122179913
一个基于网页的交互式式计算环境,支持多种语言的开发,但常用于Python开发。适用于需要频繁修改、实验的场景,比如数据分析、可视化、测试机器学习模型性能等任务,是一款非常适合数据科学家与科研工作者的神器
。
Jupyter Notebook官网链接:https://jupyter.org/
Jupyter Notebook的安装教程: https://zhuanlan.zhihu.com/p/242524977
Jupyter Notebook的入门教程: https://zhuanlan.zhihu.com/p/75402607
3、机器学习工具包
- numpy:Numeric Python,即基于Python的一个开源数值计算扩展工具。常用于处理大型矩阵的存储与计算,且其性能比Python自带的嵌套列表结构要高效的多(得益于其底层使用C/C++语言编写)。
- sklearn:基于Python语言的机器学习工具包,
是目前做机器学习研究或项目开发的当之无愧的第一工具
。sklearn自带了大量数据集,集成了绝大多数主流的机器学习算法,如SVM、决策树、K-Means、PCA等,并提供了数据集预处理、数据特征选择、模型评估等功能函数接口以供使用者调用。
- matplotlib:基于Python的2D绘图库,能让使用者以较轻松的方式对待分析数据进行可视化。可用于绘制各种静态、动态、交互式的图表,通过Matplotlib,用户可以仅用几行代码便可生成柱状图、折线图、饼状图、散点图、热力图、等高线图、功率谱图等图形。
- pandas:基于numpy的一种为解决数据分析与处理任务而创建的一种工具,纳入了大量库和一些标准的数据模型,提供了大量能使我们快速便捷地处理数据的函数与方法。在机器学习中常用于分析与处理csv文件格式的数据(表格类型数据)。
4、深度学习框架
- pytorch:由Facebook人工智能研究院(FAIR)于2017年推出的基于torch的开源深度学习框架,用于图像识别、语音识别、自然语言处理等应用任务的研究。它是一个基于Python语言的计算包,提供了两个高级功能:1、具有强大的GPU张量计算。2、包含自动求导系统的神经网络。除此之外,Pytorch与Numpy联系紧密,可将Pytorch看作为加入了GPU支持的Numpy。Pytorch因其简洁而又高效的优点,常受到广大开发人员与科研工作者的青睐,
是目前最热门的深度学习框架之一
。
pytorch官网链接:https://pytorch.org/
pytorch的安装教程: https://blog.csdn.net/JB_JIANGBIN/article/details/115731402
pytorch的入门教程: https://blog.csdn.net/qq_48314528/article/details/121604848
- tensorflow:由谷歌人工智能团队Google Brain研发的机器学习与深度学习框架,于2015年11月发行初始版本。是一个集成数据流编程的符号数学系统,广泛应用于各类机器学习与深度学习的算法编写,并拥有多层次的结构,可部署于各类服务器、PC终端与网页,并支持GPU和TPU的高性能数值计算。与Pytorch不同的是,tensorflow支持多种客户端语言下的安装与运行,如C++、JavaScript、Java、Go、Swift等,是pytorch出现之前最热门的深度学习框架之一,也是当前最主流的深度学习框架之一,知名的围棋达人Aplha Go就是基于Tensorflow开发出来的。
tensorflow官网链接:https://www.tensorflow.org/
tensorflow的安装教程: https://www.cnblogs.com/zhjblogs/p/14645057.html
tensorflow的入门教程: http://c.biancheng.net/tensorflow/
- mxnet:MXNet是由深度学习专家李沐及其团队推出的一个轻量的深度学习框架,旨在提高效率和灵活性。它允许用户混合使用符号与命令式编程,以最大限度地提高效率和生产力。MXNet的核心是一个动态依赖调度程序,可以动态地自动并行化符号与命令操作,可移植性很强,能扩展到各种GPU与机器。值得一提的是,李沐老师B站《动手深度学习》课程中的各章节代码均提供了MXNet版本(共包含pytorch、tensorflow、mxnet三个版本)。
mxnet官网链接:https://mxnet.incubator.apache.org/versions/1.9.0/
mxnet的安装教程: https://blog.csdn.net/cvpatient/article/details/121212784
mxnet的入门教程: 建议直接上B站观看李沐老师视频