---
title: 训练模型
description: "训练ModelZoo模型包含获取模型、数据集和训练步骤指导。"
url: https://www.hikunpeng.com/document/detail/zh/SRA/perfEval/benchmarksra/kunpengmodelzoo_06_0014.html
sourcePath: /source/zh/SRA/perfEval/benchmarksra/kunpengmodelzoo_06_0014.html
indexId: 9c317423dd40124afa65fd138e0b5bab5198c5359fc02f03616b4d61dcf02cc765
---
# 训练模型

训练ModelZoo模型包含获取模型、数据集和训练步骤指导。

#### 获取模型与数据集

1. 下载ModelZoo源码。

```
git clone https://atomgit.com/openeuler/sra_benchmark.git -b v1.0.0
```


  目录结构如下图所示。

2. 下载数据集。

  - criteo-kaggle数据集（适合Wide_and_Deep，DLRM，DeepFM，DFFM模型使用）：    获取链接(https://www.kaggle.com/datasets/mrkmakr/criteo-dataset)

  - Taobao数据集（适合DSSM模型使用）：    获取链接(https://deeprec-dataset.oss-cn-beijing.aliyuncs.com/csv_dataset/taobao.tar.gz)

3. 修改数据集文件后缀为.csv格式。

```
mv test.txt test.csv
mv train.txt train.csv
```


4. 解压数据集，将解压后的Taobao数据集和criteo-kaggle数据集复制到“/path/to/dataset”路径下。
  1 2 tar -zxvf taobao.tar.gz cp train.csv eval.csv taobao /path/to/dataset


#### 训练阶段性能测试

1. 进入ModelZoo所在路径。
  1 cd /path/to/sra_benchmark/modelzoo

2. 训练并保存模型。
  1 python train_throughput_test.py --test_method single --meta_path /path/to/sra_benchmark --criteo_data_location /path/to/dataset --taobao_data_location /path/to/dataset/taobao

  命令参数如表1所示。

  训练并保存模型后，需要有如下图所示的结构目录（以下训练结果以Wide_and_Deep模型为例），“variables”文件夹和saved_model.pb文件分别为保存的已训练模型的数据和模型结构。

  AUC的值将在终端中打印输出。

**表1 训练模型命令参数说明**

| 参数名称 | 参数说明 |
| --- | --- |
| \-\-test\_method | 用于指定训练时所用的资源。 single：使用单NUMA，默认为单NUMA。 entire：使用整台服务器的所有NUMA。 |
| \-\-meta\_path | sra\_benchmark所在路径。 |
| \-\-criteo\_data\_location | criteo\-kaggle数据集所在位置。 |
| \-\-taobao\_data\_location | Taobao数据集所在位置。 |


#### 验证集AUC

ModelZoo集成多种常用的搜推模型，支持对模型的训练效果（如AUC）进行评估。AUC（Area Under the Curve）用于评估训练效果，是衡量二分类模型区分正负样本能力的核心指标。只有当模型在验证集上的AUC达到合理阈值时（参考表2），其训练过程的有效性才得以保证，后续性能评估才具备实际意义。


**表2 ModelZoo搜推模型效果指标AUC参考值**

| Wide\_and\_Deep模型 | DLRM模型 | DeepFM模型 | DFFM模型 | DSSM模型 |
| --- | --- | --- | --- | --- |
| 0.770489±0.02 | 0.787202±0.02 | 0.774716±0.02 | 0.762668±0.02 | 0.496895±0.02 |
