---
title: 启动单卡训练
description: "我们暂时略过了分布式训练脚本适配（兼容单卡）的分布式适配，初步验证下单卡迁移的结果。"
url: https://www.hiascend.com/document/detail/zh/TensorFlowCommercial/latest/migration/tfmigr2/tfmigr2_000096.html
sourcePath: /source/zh/TensorFlowCommercial/900/migration/tfmigr2/tfmigr2_000096.html
indexId: 084d56c16b9bd34106f81a8b749f0221ee81c227f1a1af770962b7741b4f548a73
---
# 启动单卡训练

我们暂时略过了分布式训练脚本适配（兼容单卡）的分布式适配，初步验证下单卡迁移的结果。

首先，我们需要确定启动脚本的参数，为了以CPU单卡形式启动脚本，我们传入distribution_strategy的策略为one_device。

在启动前，我们需要按照official/vision/image_classification/resnet/README.md中的说明，将models路径设置到PYTHONPATH中，例如当前所在目录是/path/to/models，则应当设置环境变量：

```
export PYTHONPATH=$PYTHONPATH:/path/to/models
```

训练中，我们通常每次循环下沉执行一个epoch数据的训练，steps_per_loop值则应当设置为样本总数除以batch大小的结果，为了快速验证功能，我们假定样本总数为64，训练的batch大小为2，同时跳过eval过程。所以此时steps_per_loop的大小为64/2=32，因此我们需要设置环境变量export NPU_LOOP_SIZE=32。最终我们的启动参数如下（其中/path/to/imagenet_TF/需要替换为您的数据集路径），需要注意的是，通常您应当以epoch为单位组织训练，这里入参中写入train_steps是为了使训练尽快结束进行基本的功能验证。

```
cd official/vision/image_classification/resnet/
export PYTHONPATH=$PYTHONPATH:/path/to/models
export NPU_LOOP_SIZE=32
python3 resnet_ctl_imagenet_main.py \
--data_dir=/path/to/imagenet_TF/ \
--train_steps=128 \
--distribution_strategy=one_device \
--use_tf_while_loop=true \
--steps_per_loop=32 \
--batch_size=2 \
--epochs_between_evals=1 \
--skip_eval
```
