From b447d988d3ce7a0fcad28e9f86f603e4d97e1d7b Mon Sep 17 00:00:00 2001
From: xiebing0331 <1193651869@qq.com>
Date: Fri, 8 Apr 2022 09:25:32 +0000
Subject: [PATCH] update README.md.
---
.../MiniGo_ID0629_for_TensorFlow/README.md | 571 ++++++++----------
1 file changed, 250 insertions(+), 321 deletions(-)
diff --git a/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow/README.md b/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow/README.md
index e24c17351..8f5c0e94e 100644
--- a/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow/README.md
+++ b/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow/README.md
@@ -1,47 +1,52 @@
-# MiniGo_for_TensorFlow
-## 目录
-* [基本信息](#基本信息)
-* [概述](#概述)
-* [训练环境准备](#训练环境准备)
-* [迁移学习指导](#迁移学习指导)
-* [快速上手](#快速上手)
-* [高级参考](#高级参考)
+- [基本信息](#基本信息.md)
+- [概述](#概述.md)
+- [训练环境准备](#训练环境准备.md)
+- [快速上手](#快速上手.md)
+- [迁移学习指导](#迁移学习指导.md)
+- [高级参考](#高级参考.md)
-
-## 基本信息
+
基本信息
**发布者(Publisher):Huawei**
-**应用领域(Application Domain):Image Classification
-**版本(Version):1.1
-**修改时间(Modified) :2021.07.16
-**大小(Size):5M
-**框架(Framework):TensorFlow 1.15.0
-**模型格式(Model Format):ckpt
-**精度(Precision):Mixed
-**处理器(Processor):昇腾910
-**应用级别(Categories):Official
-**描述(Description):基于TensorFlow框架,以Mupha为基础,以AlphaGo Zero为模型的极简Go引擎
-## 概述
+**应用领域(Application Domain):Image Classification**
+
+**版本(Version):1.1**
+
+**修改时间(Modified) :2021.07.16**
+
+**大小(Size)**_**:5M**
+
+**框架(Framework):TensorFlow 1.15.0**
+
+**模型格式(Model Format):ckpt**
+
+**精度(Precision):Mixed**
+
+**处理器(Processor):昇腾910**
+**应用级别(Categories):Official**
-Minigo基于Brian Lee的“ [MuGo](https://github.com/brilee/MuGo) ”(纯[自然的](https://github.com/brilee/MuGo)Python实现),这是AlphaGo发表于《 *自然*[》](https://www.nature.com/articles/nature16961)的第一篇论文[“用深度神经网络和树搜索掌握围棋游戏](https://www.nature.com/articles/nature16961)”的纯Python实现 。此实现增加了最新的AlphaGo Zero论文[“精通无人类知识的游戏”中](https://www.nature.com/articles/nature24270)存在的功能和体系结构更改。最近,在[“使用通用强化学习算法通过自学掌握象棋和将棋”中,](https://arxiv.org/abs/1712.01815)为Chess和Shogi扩展了此体系结构。这些论文通常会在Minigo文档中被删节为*AG*(对于AlphaGo),*AGZ*(对于AlphaGo Zero)和*AZ* (对于AlphaZero)。
+**描述(Description):基于TensorFlow框架,以Mupha为基础,以AlphaGo Zero为模型的极简Go引擎**
+
+概述
+
+- Minigo 基于 Brian Lee 的 “ [MuGo](https://github.com/brilee/MuGo) ”(纯[自然的](https://github.com/brilee/MuGo) Python实现),这是 AlphaGo 发表于《 *自然*[》](https://www.nature.com/articles/nature16961)的第一篇论文[“用深度神经网络和树搜索掌握围棋游戏](https://www.nature.com/articles/nature16961)”的纯Python实现 。此实现增加了最新的 AlphaGo Zero 论文[“精通无人类知识的游戏”中](https://www.nature.com/articles/nature24270) 存在的功能和体系结构更改。最近,在[“使用通用强化学习算法通过自学掌握象棋和将棋”中,](https://arxiv.org/abs/1712.01815) 为 Chess 和 Shogi 扩展了此体系结构。这些论文通常会在 Minigo 文档中被删节为*AG*(对于AlphaGo),*AGZ*(对于AlphaGo Zero)和*AZ* (对于AlphaZero)。
- 参考论文:
- https://github.com/brilee/MuGo
+ [https://github.com/brilee/MuGo](https://github.com/brilee/MuGo)
- 参考实现:
-
- https://github.com/tensorflow/minigo
+
+ [https://github.com/tensorflow/minigo](https://github.com/tensorflow/minigo)
- 适配昇腾 AI 处理器的实现:
- https://gitee.com/ascend/modelzoo/tree/master/built-in/TensorFlow/Research/cv/image_classification/MiniGo_ID0629_for_TensorFlow
-
+ [https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow](https://gitee.com/ascend/ModelZoo-TensorFlow/tree/master/TensorFlow/built-in/cv/image_classification/MiniGo_ID0629_for_TensorFlow)
- 通过Git获取对应commit\_id的代码方法如下:
-
+
```
git clone {repository_url} # 克隆仓库的代码
cd {repository_name} # 切换到模型的代码仓目录
@@ -50,10 +55,8 @@ Minigo基于Brian Lee的“ [MuGo](https://github.com/brilee/MuGo) ”(纯[自
cd {code_path} # 切换到模型代码所在路径,若仓库下只有该模型,则无需切换
```
-### 默认配置
-
-- 训练超参(单卡)
-
+## 默认配置
+- 训练超参(单卡):
- Batch size: 128
- Momentum: 0.9
- LR scheduler: cosine
@@ -63,251 +66,241 @@ Minigo基于Brian Lee的“ [MuGo](https://github.com/brilee/MuGo) ”(纯[自
- Label smoothing: 0.1
- Train_steps: 58500
-### 支持特性
-
-| 特性列表 | 是否支持 |
-|-------|------|
-| 分布式训练 | 是 |
-| 混合精度 | 是 |
-| 并行数据 | 是 |
-
-### 混合精度训练
-
-昇腾910 AI处理器提供自动混合精度功能,可以针对全网中float32数据类型的算子,按照内置的优化策略,自动将部分float32的算子降低精度到float16,从而在精度损失很小的情况下提升系统性能并减少内存使用。
-
-### 开启混合精度
-
-脚本已默认开启混合精度,设置precision_mode参数的脚本参考如下。
-
- ```
- run_config = NPURunConfig(
- model_dir=flags_obj.model_dir,
- session_config=session_config,
- keep_checkpoint_max=5,
- save_checkpoints_steps=5000,
- enable_data_pre_proc=True,
- iterations_per_loop=iterations_per_loop,
- log_step_count_steps=iterations_per_loop,
- precision_mode='allow_mix_precision',
- hcom_parallel=True
- )
- ```
-
-
-## 训练环境准备
-
-1. 硬件环境准备请参见各硬件产品文档"[驱动和固件安装升级指南]( https://support.huawei.com/enterprise/zh/category/ai-computing-platform-pid-1557196528909)"。需要在硬件设备上安装与CANN版本配套的固件与驱动。
-2. 宿主机上需要安装Docker并登录[Ascend Hub中心](https://ascendhub.huawei.com/#/detail?name=ascend-tensorflow-arm)获取镜像。
-
- 当前模型支持的镜像列表如[表1](#zh-cn_topic_0000001074498056_table1519011227314)所示。
-
- **表 1** 镜像列表
-
-
- 镜像名称
- |
- 镜像版本
- |
- 配套CANN版本
- |
-
-
-
- |
- 21.0.2
- |
- 5.0.2
- |
-
-
-
-
-## 快速上手
+## 支持特性
-### 数据集准备
+| 特性列表 | 是否支持 |
+| ---------- | -------- |
+| 分布式训练 | 否 |
+| 混合精度 | 是 |
+| 数据并行 | 否 |
-模型训练使用minigo网络自对弈(selfplay)生成数据集。
-- (Step1)初始化随机模型,生成预训练ckpt
+## 混合精度训练
-脚本位于 MiniGo_ID0629_for_TensorFlow/bootstrap.py ,示例如下:
+昇腾910 AI处理器提供自动混合精度功能,可以针对全网中float32数据类型的算子,按照内置的优化策略,自动将部分float32的算子降低精度到float16,从而在精度损失很小的情况下提升系统性能并减少内存使用。
-python3 bootstrap.py --work_dir=estimator_working_dir --export_path=outputs/models/000000-bootstrap
+## 开启混合精度
+相关代码示例。
-该步骤初始化随机模型,将 ckpt 保存在 --work_dir ,同时选择最后一个 ckpt 存入 --export_path 作为最新模型,名为 000000-bootstrap ,以便后续 selfplay 可以使用此随机模型。
+```
+config_proto = tf.ConfigProto(allow_soft_placement=True)
+ custom_op = config_proto.graph_options.rewrite_options.custom_optimizers.add()
+ custom_op.name = 'NpuOptimizer'
+ custom_op.parameter_map["use_off_line"].b = True
+ custom_op.parameter_map["precision_mode"].s = tf.compat.as_bytes("allow_mix_precision")
+ config_proto.graph_options.rewrite_options.remapping = RewriterConfig.OFF
+ session_config = npu_config_proto(config_proto=config_proto)
+```
+训练环境准备
-- (Step2)使用随机模型自我对弈,生成训练数据集
+- 硬件环境和运行环境准备请参见《[CANN软件安装指南](https://support.huawei.com/enterprise/zh/ascend-computing/cann-pid-251168373?category=installation-update)》
+- 运行以下命令安装依赖。
+```
+pip3 install requirements.txt
+```
+说明:依赖配置文件requirements.txt文件位于模型的根目录
-脚本位于 MiniGo_ID0629_for_TensorFlow/selfplay.py ,示例如下:
-python3 selfplay.py --load_file=outputs/models/000000-bootstrap --num_readouts 10 --verbose 3 --selfplay_dir=outputs/data/selfplay --holdout_dir=outputs/data/holdout --sgf_dir=outputs/sgf
+快速上手
-该步骤使用最新随机模型 000000-bootstrap 自我对弈,生成训练数据存入 --selfplay_dir ,SGF目录存入 --sgf_dir。
+## 数据集准备
-**注意:**
+1. 模型训练使用minigo网络自对弈(selfplay)生成数据集,数据集制作方法如下:
-**1. 该步骤运行一次,只可生成一个数据样本。若要生成多个数据,循环调用该步骤即可。耗时较长,请耐心等待。**
+ ```python
+ #(Step1)初始化随机模型,生成预训练ckpt
+ # 脚本位于 MiniGo_ID0629_for_TensorFlow/bootstrap.py ,示例如下:
+ python3 bootstrap.py --work_dir=estimator_working_dir --export_path=outputs/models/000000-bootstrap
+ # 该步骤初始化随机模型,将 ckpt 保存在 --work_dir ,同时选择最后一个 ckpt 存入 --export_path 作为最新模型,名为 000000-bootstrap ,以便后续 selfplay 可以使用此随机模型。
-**2. 另外基于minigo网络原理,建议一次生成最多2000个数据,投入训练后得到最新模型,然后使用该最新模型替换000000-bootstrap继续自对弈生成训练数据,再投入训练。。。如此循环往复,可有效提升模型训练效果。**
+ #(Step2)使用随机模型自我对弈,生成训练数据集
+ # 脚本位于 MiniGo_ID0629_for_TensorFlow/selfplay.py ,示例如下:
+ python3 selfplay.py --load_file=outputs/models/000000-bootstrap --num_readouts 10 --verbose 3 --selfplay_dir=outputs/data/selfplay --holdout_dir=outputs/data/holdout --sgf_dir=outputs/sgf
+ # 该步骤使用最新随机模型 000000-bootstrap 自我对弈,生成训练数据存入 --selfplay_dir ,SGF目录存入 --sgf_dir。
-**3. 参数说明:**
-
+ # 说明:
+ # 1. 该步骤运行一次,只可生成一个数据样本。若要生成多个数据,循环调用该步骤即可。耗时较长,请耐心等待。
+ # 2. 基于minigo网络原理,建议一次生成最多2000个数据,投入训练后得到最新模型,然后使用该最新模型替换 000000-bootstrap 继续自对弈生成训练数据,再投入训练。。。如此循环往复,可有效提升模型训练效果。
+ # 3. 参数说明:
--load_file:指定一个模型
-
--num_readouts:每次移动要进行多少次搜索
-
--verbose:每次移动会打印计时信息和统计数据。如果 >= 3 ,将在每次移动时打印一个 board
+ ```
+2. 生成数据集后,在训练脚本中指定数据集路径,即可正常使用。
-### 模型训练
-
+## 模型训练
- 单击“立即下载”,并选择合适的下载方式下载源码包。
+- 开始训练。
+
+ 1. 启动训练之前,首先要配置程序运行相关环境变量。
+
+ 环境变量配置信息参见:
+
+ [Ascend 910训练平台环境变量设置](https://gitee.com/ascend/modelzoo/wikis/Ascend%20910%E8%AE%AD%E7%BB%83%E5%B9%B3%E5%8F%B0%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE?sort_id=3148819)
+
+ 2. 单卡训练(仅测试性能&功能)
+
+ 2.1 设置单卡训练参数(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_performance_1p.sh),示例如下。
+
+
+ ```python
+ # 训练steps
+ train_steps=500
+ # 训练batch_size
+ batch_size=128
+ ```
+
+
+ 2.2 单卡训练指令(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_performance_1p.sh)
+
+ ```
+ 于终端中运行export ASCEND_DEVICE_ID=0 (0~7)以指定单卡训练时使用的卡
+ bash train_performance_1p.sh --data_path=xx
+ 数据集路径默认为 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay(即Step2自对弈的生成路径,不建议改动)
+ 数据集应有如下结构(数据切分可能不同),配置data_path时需指定为selfplay这一层,例:--data_path=./outputs/data/selfplay
+ ├─selfplay
+ ├─...
+ ├─...
+ ```
+
+ 3. 单卡训练
+
+ 3.1 设置单卡训练参数(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_full_1p.sh),示例如下。
+
+
+ ```python
+ # 训练steps
+ train_steps=80000
+ # 训练batch_size
+ batch_size=128
+ ```
+
+
+ 3.2 单卡训练指令(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_full_1p.sh)
+
+ ```
+ 于终端中运行export ASCEND_DEVICE_ID=0 (0~7)以指定单卡训练时使用的卡
+ bash train_full_1p.sh --data_path=xx
+ 数据集路径默认为 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay(即Step2自对弈的生成路径,不建议改动)
+ 数据集应有如下结构(数据切分可能不同),配置data_path时需指定为selfplay这一层,例:--data_path=./outputs/data/selfplay
+ ├─selfplay
+ ├─...
+ ├─...
+ ```
+
+ 4. 8卡训练
+
+ 4.1 首先检查 MiniGo_ID0629_for_TensorFlow/test 目录下是否有存在8卡IP的json配置文件 "8p.json"
+
+
+ 4.2 设置单卡训练参数(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_full_8p.sh),示例如下。
+
+
+ ```python
+ # 训练steps
+ train_steps=80000
+ # 训练batch_size
+ batch_size=128
+ ```
+
+
+ 4.3 单卡训练指令(脚本位于./MiniGo_ID0629_for_TensorFlow/test/train_full_8p.sh)
+
+ ```
+ bash train_full_8p.sh --data_path=xx
+ 数据集路径默认为 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay(即Step2自对弈的生成路径,不建议改动)
+ 数据集应有如下结构(数据切分可能不同),配置data_path时需指定为selfplay这一层,例:--data_path=./outputs/data/selfplay
+ ├─selfplay
+ ├─...
+ ├─...
+ ```
+
+ 5. 模型评估
+
+ 5.1 单卡评估指令(脚本位于./MiniGo_ID0629_for_TensorFlow/evaluate.py)
+
+ ```
+ python3 evaluate.py --eval_sgf_dir=outputs/evals --num_evaluation_games=3 black_model_file white_model_file
+ # 该步骤使用训练后的模型进行对弈(可视化),结果储存为 .sgf 文件。
+ # 参数说明:
+ --eval_sgf_dir:结果保存路径
+ --num_evaluation_games:游戏局数
+ black_model_file, white_model_file:黑白方所用模型文件
+ ```
+
+ 6. 交互式人机对弈
+
+ 6.1 单卡交互式人机对弈指令(脚本位于./MiniGo_ID0629_for_TensorFlow/gtp.py)
+
+ ```
+ python3 gtp.py --load_file=outputs/models/000001-first_generation --num_readouts=400 --verbose=3
+ # 该步骤借助GTP平台使用训练好的模型进行交互式人机对弈
+ # 在加载一些消息后,会显示 “GTP engine ready” , 此时它可以接收命令:
+ # (Step1) 打印棋盘
+ showboard
+ # (Step2) 黑方先行(我方) play 颜色 位置
+ play black K11
+ # (Step3) 将走棋权交给白方(电脑) genmove 颜色
+ genmove white
+ ```
+
+
+迁移学习指导
+
+- 数据集准备。
+
+ 1. 获取数据。
+
+ 1.1 方案一:自对弈(selfplay)生成数据集
+
+ ```
+ 参考 “快速上手” - 数据集准备。
+ ```
+
+ 1.2 方案二:使用.sgf格式围棋棋谱生成数据集
+
+ ```
+ 基于minigo网络原理,方案一 为首选方案,但 方案二 使用高质量围棋棋谱制作数据集,可有效提升模型训练效果。
+ 具体教程参考: MiniGo_ID0629_for_TensorFlow/sgf_DIY_Dataset.md
+ ```
+
+ 1.3 数据集存放路径
+
+ ```
+ 数据集生成后,建议将生成的数据集放入 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay
+ 也可自定义路径,但注意训练时 --data_path 需作相应修改。
+ ```
+
+- 模型训练
+
+ 请参考“快速上手”章节
+
+高级参考
+
+## 脚本和示例代码
+
+ ├── README.md //代码说明文档
+ ├── bootstrap.py //初始化随机模型
+ ├── selfplay.py //自对弈
+ ├── train.py //网络训练
+ ├── evaluate.py //模型评估
+ ├── gtp.py //GTP平台交互式人机对弈
+ ├── sgf_DIY_Dataset.md //自制数据集说明文档
+ ├── sgf_file_check.py //检查 sgf 文件内容
+ ├── sgf_to_tfrecord.py //制作数据集
+ ├── test
+ │ ├──train_full_1p.sh //单卡运行启动脚本(train_steps=80000)
+ │ ├──train_full_8p.sh //8卡执行脚本(train_steps=80000)
+ │ ├──train_performance_1p.sh //单卡运行启动脚本(train_steps=500)
+ │ ├──train_performance_8p.sh //8卡执行脚本(train_steps=500)
+ │ ├──env.sh //环境变量配置文件
+ │ ├──8p.json //8p配置文件
+
-- 启动训练之前,首先要配置程序运行相关环境变量。
-
- 环境变量配置信息参见:
-
- [Ascend 910训练平台环境变量设置](https://gitee.com/ascend/modelzoo/wikis/Ascend%20910%E8%AE%AD%E7%BB%83%E5%B9%B3%E5%8F%B0%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AE%BE%E7%BD%AE?sort_id=3148819)
-
-- 单卡训练
-
- 1. 配置训练参数。
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/test/train_full_1p.sh ,可配置的参数如下:
-
- --batch_size=128 // 训练的batch size
-
- --train_steps=80000 //训练的steps,实际训练steps取决于 数据集的样本个数 和 train_steps 的较小者
-
- --data_path="$./outputs/data/selfplay" //数据集路径默认为 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay(即Step2自对弈的生成路径),不建议改动
-
-
- 2. 启动训练。
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/test/train_full_1p.sh ,示例如下:
-
- bash train_full_1p.sh
-
-
-- 8卡训练
-
- 1. 配置训练参数。
-
- 首先检查 MiniGo_ID0629_for_TensorFlow/test 目录下是否有存在8卡IP的json配置文件“8p.json”
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/test/train_full_8p.sh ,可配置的参数如下:
-
- --batch_size=128 // 训练的batch size
-
- --train_steps=80000 //训练的steps,实际训练steps取决于 数据集的样本个数 和 train_steps 的较小者
-
- --data_path="$./outputs/data/selfplay" //数据集路径默认为 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay(即Step2自对弈的生成路径),不建议改动
-
-
- 2. 启动训练。
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/test/train_full_8p.sh ,示例如下:
-
- bash train_full_8p.sh
-
-
-- 模型评估
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/evaluate.py ,示例如下:
-
- python3 evaluate.py --eval_sgf_dir=outputs/evals --num_evaluation_games=3 black_model white_model
-
- 该步骤使用训练后的模型进行对弈(可视化),结果储存为 .sgf 文件。
-
- 参数说明:
-
- --eval_sgf_dir:结果保存路径
-
- --num_evaluation_games:游戏局数
-
- black_model white_model:黑白方所用模型
-
-
-- 交互式人机对弈
-
- 该步骤借助GTP平台使用训练好的模型进行交互式人机对弈
-
- 脚本位于 MiniGo_ID0629_for_TensorFlow/gtp.py ,示例如下:
-
- python3 gtp.py --load_file=outputs/models/000001-first_generation --num_readouts=400 --verbose=3
-
- 在加载一些消息后,会显示 “GTP engine ready” , 此时它可以接收命令:
-
- (Step1) 打印棋盘
-
- showboard
-
- (Step2) 黑方先行(我方) play 颜色 位置
-
- play black K11
-
- (Step3) 将走棋权交给白方(电脑) genmove 颜色
-
- genmove white
-
-
-## 迁移学习指导
-
-### 数据集准备
-
-数据集生成后,建议将生成的数据集放入 MiniGo_ID0629_for_TensorFlow/outputs/data/selfplay/ ,也可自定义路径,但注意训练时 --data_path 需作相应修改。
-
-- 方案一:自对弈(selfplay)生成数据集
-
- 参考 “快速上手” - 数据集准备。
-
-
-- 方案二:使用.sgf格式围棋棋谱生成数据集
-
- 基于minigo网络原理,方案一为首选方案,但方案二使用高质量围棋棋谱制作数据集,可有效提升模型训练效果。
-
- 具体教程参考: MiniGo_ID0629_for_TensorFlow/sgf_DIY_Dataset.md
-
-
-### 模型训练
-
- 参考 “快速上手” - 模型训练。
-
-### 模型评估
-
- 参考 “快速上手” - 模型评估。
-
-### 交互式人机对弈
-
- 参考 “快速上手” - 交互式人机对弈
-
-
-## 高级参考
-
-### 核心脚本和示例代码
-
-```
-├── README.md //代码说明文档
-├── bootstrap.py //初始化随机模型
-├── selfplay.py //自对弈
-├── train.py //网络训练
-├── evaluate.py //模型评估
-├── gtp.py //GTP平台交互式人机对弈
-├── sgf_DIY_Dataset.md //自制数据集说明文档
-├── sgf_file_check.py //检查 sgf 文件内容
-├── sgf_to_tfrecord.py //制作数据集
-├── test
-│ ├──train_full_1p.sh //单卡运行启动脚本(train_steps=80000)
-│ ├──train_full_8p.sh //8卡执行脚本(train_steps=80000)
-│ ├──train_performance_1p.sh //单卡运行启动脚本(train_steps=500)
-│ ├──train_performance_8p.sh //8卡执行脚本(train_steps=500)
-│ ├──env.sh //环境变量配置文件
-│ ├──8p.json //8p配置文件
-```
-
-### 脚本参数
+## 脚本参数
```
--work_dir 模型ckpt保存路径
@@ -326,71 +319,7 @@ python3 selfplay.py --load_file=outputs/models/000000-bootstrap --num_readouts 1
--rank_size 使用NPU卡数量,默认:1
```
-### 训练过程
-
-1. 通过 “模型训练” 中的训练指令启动单卡或者多卡训练。单卡和多卡通过运行不同脚本,支持单卡、8卡网络训练。
-
-2. 训练脚本log中包括如下信息(仅作参考):
-
-```
-INFO:tensorflow:loss = 3.6029148, step = 56401 (13.235 sec)
-INFO:tensorflow:global_step/sec: 7.58255
-INFO:tensorflow:loss = 3.2465415, step = 56501 (13.189 sec)
-INFO:tensorflow:global_step/sec: 7.58776
-INFO:tensorflow:loss = 3.657736, step = 56601 (13.179 sec)
-INFO:tensorflow:global_step/sec: 7.60866
-INFO:tensorflow:loss = 3.5327232, step = 56701 (13.143 sec)
-INFO:tensorflow:global_step/sec: 7.54431
-INFO:tensorflow:loss = 3.738246, step = 56801 (13.255 sec)
-INFO:tensorflow:global_step/sec: 7.61954
-INFO:tensorflow:loss = 3.2404513, step = 56901 (13.124 sec)
-INFO:tensorflow:global_step/sec: 7.39826
-INFO:tensorflow:loss = 3.4218066, step = 57001 (13.517 sec)
-INFO:tensorflow:global_step/sec: 7.51395
-INFO:tensorflow:loss = 3.3448925, step = 57101 (13.308 sec)
-INFO:tensorflow:global_step/sec: 7.54161
-INFO:tensorflow:loss = 3.2767594, step = 57201 (13.260 sec)
-INFO:tensorflow:global_step/sec: 4.71074
-INFO:tensorflow:loss = 3.64554, step = 57301 (21.228 sec)
-INFO:tensorflow:global_step/sec: 7.61293
-INFO:tensorflow:loss = 3.4691107, step = 57401 (13.136 sec)
-INFO:tensorflow:global_step/sec: 7.52592
-INFO:tensorflow:loss = 3.8170938, step = 57501 (13.287 sec)
-INFO:tensorflow:global_step/sec: 7.58268
-INFO:tensorflow:loss = 3.5368466, step = 57601 (13.188 sec)
-INFO:tensorflow:global_step/sec: 7.5716
-INFO:tensorflow:loss = 3.1940696, step = 57701 (13.207 sec)
-INFO:tensorflow:global_step/sec: 7.59141
-INFO:tensorflow:loss = 3.6414692, step = 57801 (13.173 sec)
-INFO:tensorflow:global_step/sec: 7.5387
-INFO:tensorflow:loss = 3.464244, step = 57901 (13.265 sec)
-INFO:tensorflow:global_step/sec: 7.3802
-INFO:tensorflow:loss = 3.649315, step = 58001 (13.550 sec)
-INFO:tensorflow:global_step/sec: 7.57948
-INFO:tensorflow:loss = 3.1356702, step = 58101 (13.193 sec)
-INFO:tensorflow:global_step/sec: 7.57194
-INFO:tensorflow:loss = 3.6425178, step = 58201 (13.207 sec)
-INFO:tensorflow:global_step/sec: 7.54483
-INFO:tensorflow:loss = 3.3034708, step = 58301 (13.254 sec)
-INFO:tensorflow:global_step/sec: 7.54207
-INFO:tensorflow:loss = 3.5668197, step = 58401 (13.259 sec)
-INFO:tensorflow:global_step/sec: 7.54808
-INFO:tensorflow:loss = 3.4597926, step = 58501 (13.248 sec)
-INFO:tensorflow:Saving checkpoints for 58545 into /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//estimator_working_dir/model.ckpt.
-I0706 17:13:54.296661 281473570541584 basic_session_run_hooks.py:606] Saving checkpoints for 58545 into /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//estimator_working_dir/model.ckpt.
-INFO:tensorflow:Loss for final step: 3.4745815.
-I0706 17:14:06.680798 281473570541584 utils.py:113] Training: 8057.882 seconds
-Copying /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//estimator_working_dir/model.ckpt-58545.index to /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//outputs/models/000001-first_generation.index
-Copying /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//estimator_working_dir/model.ckpt-58545.meta to /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//outputs/models/000001-first_generation.meta
-Copying /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//estimator_working_dir/model.ckpt-58545.data-00000-of-00001 to /npu/debug00274026/MiniGo_ID0629_for_TensorFlow/test/..//outputs/models/000001-first_generation.data-00000-of-00001
-```
-
-### 推理/验证过程
+## 训练过程
-1. 通过 “模型训练” 中的指令启动测试。
-
-2. 当前只能针对该工程训练出的checkpoint进行推理测试。
-
-```
-# 详细过程暂不提供 #
-```
\ No newline at end of file
+通过“模型训练”中的训练指令启动单卡训练。
+将训练脚本(train_full_1p.sh)中的data_path设置为训练数据集的路径。具体的流程参见“模型训练”的示例。
\ No newline at end of file
--
Gitee