首页
/ Microsoft DeepSpeedExamples 项目教程

Microsoft DeepSpeedExamples 项目教程

2026-01-16 09:35:35作者:史锋燃Gardner

1. 项目的目录结构及介绍

Microsoft DeepSpeedExamples 项目的目录结构如下:

DeepSpeedExamples/
├── README.md
├── bing_bert
│   ├── bert_config.json
│   ├── bing_config.json
│   ├── data
│   ├── deepspeed_config.json
│   ├── Dockerfile
│   ├── eval_distill.py
│   ├── inference.py
│   ├── LICENSE
│   ├── pretrain_bert.py
│   ├── requirements.txt
│   ├── run_squad.py
│   └── utils.py
├── cifar
│   ├── data
│   ├── deepspeed_config.json
│   ├── Dockerfile
│   ├── README.md
│   ├── requirements.txt
│   └── train.py
├── imagenet
│   ├── data
│   ├── deepspeed_config.json
│   ├── Dockerfile
│   ├── README.md
│   ├── requirements.txt
│   └── train.py
├── language-modeling
│   ├── data
│   ├── deepspeed_config.json
│   ├── Dockerfile
│   ├── README.md
│   ├── requirements.txt
│   └── train.py
├── reinforcement-learning
│   ├── data
│   ├── deepspeed_config.json
│   ├── Dockerfile
│   ├── README.md
│   ├── requirements.txt
│   └── train.py
└── transformer-xl
    ├── data
    ├── deepspeed_config.json
    ├── Dockerfile
    ├── README.md
    ├── requirements.txt
    └── train.py

目录结构介绍

  • bing_bert: 包含BERT模型的预训练和微调脚本。
  • cifar: 包含CIFAR-10数据集的训练脚本。
  • imagenet: 包含ImageNet数据集的训练脚本。
  • language-modeling: 包含语言模型的训练脚本。
  • reinforcement-learning: 包含强化学习模型的训练脚本。
  • transformer-xl: 包含Transformer-XL模型的训练脚本。

每个子目录通常包含以下文件:

  • deepspeed_config.json: DeepSpeed配置文件。
  • train.py: 训练脚本。
  • requirements.txt: 依赖包列表。
  • Dockerfile: Docker容器配置文件。

2. 项目的启动文件介绍

每个子目录中的train.py文件是项目的启动文件。例如,在cifar目录中,train.py是启动CIFAR-10训练的脚本。

启动文件示例

cifar目录中的train.py为例:

import deepspeed
import torch
import torchvision
import torchvision.transforms as transforms

# 数据加载
transform = transforms.Compose(
    [transforms.ToTensor(),
     transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))])

trainset = torchvision.datasets.CIFAR10(root='./data', train=True,
                                        download=True, transform=transform)
trainloader = torch.utils.data.DataLoader(trainset, batch_size=4,
                                          shuffle=True, num_workers=2)

testset = torchvision.datasets.CIFAR10(root='./data', train=False,
                                       download=True, transform=transform)
testloader = torch.utils.data.DataLoader(testset, batch_size=4,
                                         shuffle=False, num_workers=2)

classes = ('plane', 'car', 'bird', 'cat',
           'deer', 'dog', 'frog', 'horse', 'ship', 'truck')

# 模型定义
net = Net()

# DeepSpeed 配置
ds_config = {
    "train_batch_size": 32,
    "gradient_accumulation_steps": 1,
    "fp16": {
        "enabled": True,
        "loss_scale": 0,
        "loss_scale_window": 1000,
        "hysteresis": 2,
        "min_loss_scale": 1
    }
}

# 初始化 DeepSpeed
model, optimizer, _,
登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
docsdocs
暂无描述
Dockerfile
703
4.51 K
pytorchpytorch
Ascend Extension for PyTorch
Python
567
694
atomcodeatomcode
Claude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get Started
Rust
554
98
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
957
955
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
412
338
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
1.6 K
940
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
1.08 K
566
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
128
210
flutter_flutterflutter_flutter
暂无简介
Dart
948
235
Oohos_react_native
React Native鸿蒙化仓库
C++
340
387