
# 训练迁移适配
完成环境准备之后，本节将详细介绍Dit模型训练迁移过程。
1. 执行以下命令，下载代码。 
   ```
   git clone https://github.com/facebookresearch/DiT.git
   cd DiT
   ```
   
   
2. 执行以下命令，安装依赖项。 
   ```
   pip install diffusers==0.28.0 accelerate==0.30.1 timm==0.9.16
   ```
   
   
3. 准备数据集。 
   下载[Kaggle](https://www.kaggle.com/datasets/ifigotin/imagenetmini-1000/data)官网提供的imagenet-mini数据集，解压之后文件大小4.1GB。该数据集是从[\[imagenet-2012\]](https://www.image-net.org/challenges/LSVRC/2012/index.php)数据集中筛选的少量数据集。
   
   
4. 准备预训练权重。 
   下载[Hugging Face](https://huggingface.co/stabilityai/sd-vae-ft-mse)权重。
   
   
5. 迁移适配。 
   1. 入口函数train.py导入自动迁移接口。 执行以下命令，导入自动迁移接口。
      ```
      import torch_npu
      from torch_npu.contrib import transfer_to_npu
      ```
      ![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002132191369.png "点击放大")
      
   
   2. 将预训练模型指定为实际下载路径。 ![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002342150112.png "点击放大")
      
   
   3. 开始训练。 单卡训练启动方式：
      ```
      torchrun --nnodes=1 --nproc_per_node=1 train.py --model DiT-XL/2 --data-path imagenet/train --global-batch-size 16
      ```
      多卡训练启动方式：
      ```
      torchrun --nnodes=1 --nproc_per_node=8 train.py --model DiT-XL/2 --data-path imagenet/train --global-batch-size 128
      ```
      正常训练回显日志：
      ![](https://support.huaweicloud.com/bestpractice-modelarts/figure/zh-cn_image_0000002096552044.png "点击放大")
      
   
   
   
   
 
