机器学习领域有许多流行的框架,适用于不同的任务和需求。以下是一些常见的机器学习框架及其特点:
1. TensorFlow
- 简介:由 Google 开发的开源深度学习框架,广泛用于研究和生产环境。
- 特点:
- 支持静态和动态计算图(通过
tf.function
)。 - 强大的模型部署能力,支持多种平台(如 TensorFlow Serving 和 TensorFlow Lite)。
- 生态系统丰富,包括 TensorBoard(可视化工具)、TensorFlow Extended(TFX)等。
- 支持静态和动态计算图(通过
2. PyTorch
- 简介:由 Facebook 开发的深度学习框架,以其灵活性和易用性受到欢迎。
- 特点:
- 动态计算图,适合研究和实验。
- 自动微分功能强大,支持复杂的模型构建。
- 有丰富的生态系统,包括 Torchvision、Torchaudio 和 Torchtext。
3. Scikit-learn
- 简介:基于 NumPy、SciPy 和 Matplotlib 的机器学习库,主要用于传统的机器学习任务。
- 特点:
- 提供简单易用的 API,适合初学者。
- 包含多种算法(分类、回归、聚类等)和预处理工具。
- 不支持深度学习。
4. Keras
- 简介:一个高级神经网络 API,可以与 TensorFlow 和其他后端一起使用。
- 特点:
- 简单易用,适合快速构建和实验。
- 支持多种后端(如 TensorFlow、Theano 和 CNTK)。
- 适合初学者和快速原型开发。
5. MXNet
- 简介:由 Apache 基金会支持的深度学习框架,适合大规模分布式训练。
- 特点:
- 支持多种编程语言(Python、R、Scala 等)。
- 动态和静态计算图混合使用。
- 对于 AWS 的深度集成,适合在云上部署。
6. Caffe
- 简介:一个深度学习框架,主要用于图像分类任务。
- 特点:
- 高效,适合生产环境。
- 支持多种预训练模型,容易进行迁移学习。
- 不如 PyTorch 和 TensorFlow 灵活。
7. LightGBM
- 简介:由 Microsoft 开发的梯度提升框架,专注于高效的树模型。
- 特点:
- 在处理大规模数据时效率高。
- 支持分类、回归和排序任务。
- 易于与其他工具结合使用(如与 Scikit-learn 结合)。
8. XGBoost
- 简介:一个高效的梯度提升算法实现,广泛应用于 Kaggle 和数据竞赛。
- 特点:
- 高性能,具有灵活性和可扩展性。
- 支持多种任务(分类、回归等)。
- 提供丰富的参数调优选项。
9. CatBoost
- 简介:由 Yandex 开发的梯度提升库,特别针对类别特征优化。
- 特点:
- 自动处理类别特征,无需手动转换。
- 易于使用,适合大规模数据集。
- 在多种任务上表现良好。
10. Fastai
- 简介:基于 PyTorch 的高层次深度学习库,旨在简化训练过程。
- 特点:
- 简化的 API,适合快速实验和开发。
- 提供预训练模型和迁移学习功能。
- 适合初学者和研究者。
PyTorch 是一个开源的深度学习框架,由 Facebook 的人工智能研究小组开发。它因其灵活性、易用性和强大的功能而广受欢迎,特别是在研究和开发领域。以下是 PyTorch 的一些主要特性和功能:
1. 动态计算图
PyTorch 使用动态计算图(Dynamic Computation Graph),这意味着计算图在运行时构建。与静态计算图相比,动态计算图允许更高的灵活性,使得模型的构建和调试更加直观。用户可以在每个前向传播中修改图形结构,适应不同的输入数据。
2. 张量(Tensor)
张量是 PyTorch 的基本数据结构,类似于 NumPy 的数组,但具有 GPU 加速的能力。张量可以是一维、二维或多维的,支持自动微分和各种数学操作。
3. 自动微分(Autograd)
PyTorch 的 autograd
模块支持自动求导,这使得计算梯度变得简单。用户只需定义前向传播过程,框架会自动计算反向传播的梯度,便于进行优化。
4. 模块化设计
PyTorch 的模块化设计允许用户轻松构建和训练复杂的神经网络。它提供了多种预定义的层(如卷积层、全连接层、激活函数等),用户也可以根据需要创建自定义层。
5. 丰富的库和工具
PyTorch 提供了多种扩展库和工具,例如:
- Torchvision:用于计算机视觉任务,提供数据集、模型和图像转换工具。
- Torchaudio:用于音频处理。
- Torchtext:用于自然语言处理。
6. 社区和生态系统
PyTorch 拥有一个活跃的社区,提供大量的文档、教程和示例代码。此外,许多前沿的研究和项目都是基于 PyTorch 开发的,推动了其快速发展。
7. 与其他库的兼容性
PyTorch 可以与许多其他深度学习库和工具兼容使用,如 TensorBoard(用于可视化训练过程)和 ONNX(用于模型转换)。
PyTorch的安装
查看python版本
查看当前的 Anaconda有多少虚拟环境
conda env list
看到base(root),这个就是Anaconda默认的一个虚拟环境
利用 conda create 指令创建新的虚拟环境
• conda create –n 虚拟环境名字 python=版本
创建结束
查看发现创建成功
添加镜像下载地址
conda config --add channels 想要添加的通道地址
用于创建环境镜像地址 | |
---|---|
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --set show_channel_urls yes conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/ |
使用conda config --get命令查看是否添加成功
删除已经添加的镜像地址
conda config --remove channels 通道地址
安装pytorch前想清楚一个问题,想把pytorch安装到那个环境里
默认是在基础环境下(base),也可以安装到自己创建的这个虚拟环镜
输入下面命令进入想安装pytorch的虚拟环境,在pytorch1这个虚拟环境中安装pytorch
conda activate pytorch1
查看pytorch版本
conda search pytorch
下载命令:
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
解析
检测安装是否成功
import torch
torch.__version__
卸载掉CPU版本的Pytorch包命令:
conda uninstall pytorch