From 1c36ecdab40d3755a772cab29d71c89bfd492c38 Mon Sep 17 00:00:00 2001 From: x54-729 <17307130121@fudan.edu.cn> Date: Sat, 7 May 2022 09:50:48 +0000 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E8=B0=83=E6=96=87=E6=A1=A3=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- fastNLP/core/controllers/evaluator.py | 2 +- fastNLP/core/controllers/trainer.py | 8 ++++---- fastNLP/envs/set_backend.py | 2 +- fastNLP/envs/set_env_on_import.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/fastNLP/core/controllers/evaluator.py b/fastNLP/core/controllers/evaluator.py index 2114e23b..4583bae2 100644 --- a/fastNLP/core/controllers/evaluator.py +++ b/fastNLP/core/controllers/evaluator.py @@ -58,7 +58,7 @@ class Evaluator: 是否在 evaluate 的时候将 model 的状态设置成 eval 状态。在 eval 状态下,model 的 dropout 与 batch normalization 将会关闭。默认为True。如果为 False,fastNLP 不会对 model 的 evaluate 状态做任何设置。无论 该值是什么,fastNLP 都会在 evaluate 接受后将 model 的状态设置为 train 。 - TODO 还没完成。 + TODO 还没完成。 * *auto_tensor_conversion_for_metric* (``Union[bool]``) -- 是否自动将输出中的 tensor 适配到 metrics 支持的。例如 model 输出是 paddlepaddle 的 tensor ,但是想利用 torchmetrics 的metric对象,当 auto_tensor_conversion_for_metric 为True时,fastNLP 将 diff --git a/fastNLP/core/controllers/trainer.py b/fastNLP/core/controllers/trainer.py index e4c21964..49a54a07 100644 --- a/fastNLP/core/controllers/trainer.py +++ b/fastNLP/core/controllers/trainer.py @@ -68,13 +68,13 @@ class Trainer(TrainerEventTrigger): :param model: 训练所需要的模型,目前支持 pytorch; :param driver: 训练模型所使用的具体的驱动模式,应当为以下选择中的一个:["torch", "torch_ddp", ],之后我们会加入 jittor、paddle 等 - 国产框架的训练模式;其中 "torch" 表示使用 cpu 或者单张 gpu 进行训练 + 国产框架的训练模式;其中 "torch" 表示使用 cpu 或者单张 gpu 进行训练 :param train_dataloader: 训练数据集,注意其必须是单独的一个数据集,不能是 List 或者 Dict; :param optimizers: 训练所需要的优化器;可以是单独的一个优化器实例,也可以是多个优化器组成的 List; :param device: 该参数用来指定具体训练时使用的机器;注意当该参数为 None 时,fastNLP 不会将模型和数据进行设备之间的移动处理,但是你 - 可以通过参数 `input_mapping` 和 `output_mapping` 来实现设备之间数据迁移的工作(通过这两个参数传入两个处理数据的函数);同时你也 - 可以通过在 kwargs 添加参数 "data_device" 来让我们帮助您将数据迁移到指定的机器上(注意这种情况理应只出现在用户在 Trainer 实例化前 - 自己构造 DDP 的多进程场景); + 可以通过参数 `input_mapping` 和 `output_mapping` 来实现设备之间数据迁移的工作(通过这两个参数传入两个处理数据的函数);同时你也 + 可以通过在 kwargs 添加参数 "data_device" 来让我们帮助您将数据迁移到指定的机器上(注意这种情况理应只出现在用户在 Trainer 实例化前 + 自己构造 DDP 的多进程场景); device 的可选输入如下所示: 1. 可选输入:str: ['cpu', 'cuda', 'cuda:0', 'cuda:1', ...] 依次为'cpu'中, 可见的第一个GPU中, 可见的第一个GPU中, 可见的第二个GPU中; 2. torch.device:将模型装载到torch.device上; diff --git a/fastNLP/envs/set_backend.py b/fastNLP/envs/set_backend.py index 944314c2..b75a9610 100644 --- a/fastNLP/envs/set_backend.py +++ b/fastNLP/envs/set_backend.py @@ -95,7 +95,7 @@ def _set_backend(): def set_env(global_seed=None): """ set_env 用于显式告知 fastNLP 将要使用的相关环境变量是什么,必须在代码最开端运行。以下的环境变量设置,优先级分别为:(1)在代码开始 - 的位置显式调用设置;(2)通过环境变量注入的;(3)通过读取配置文件(如果有)。 + 的位置显式调用设置;(2)通过环境变量注入的;(3)通过读取配置文件(如果有)。 :param backend: 目前支持的 backend 有 torch, jittor, paddle 。设置特定的 backend 后,fastNLP 将不再加载其它 backend ,可以 提高加载速度。该值对应环境变量中的 FASTNLP_BACKEND 。 diff --git a/fastNLP/envs/set_env_on_import.py b/fastNLP/envs/set_env_on_import.py index 8b5f6394..f35f8e54 100644 --- a/fastNLP/envs/set_env_on_import.py +++ b/fastNLP/envs/set_env_on_import.py @@ -9,7 +9,7 @@ import datetime def remove_local_rank_in_argv(): """ 通过 torch.distributed.launch 启动的时候,如果没有加入参数 --use_env ,pytorch 会默认通过 rank 注入 rank,这就 - 要求代码中必须有能够 parse rank 的parser,这里将 rank 删除掉,防止后续报错。 + 要求代码中必须有能够 parse rank 的parser,这里将 rank 删除掉,防止后续报错。 :return: """