Paddle和PaddleNLP的简介与使用

安装

// 首先,创建一个虚拟环境
conda create -n my_paddle python=3.8

// 安装Paddle GPU版
// 没有加版本号会自动下载最新版
pip install paddlepaddle-gpu
// 安装PaddleNLP
pip install paddlenlp

例子:

以官方的Example: sentence_transformers为例

// 下载源码
git clone https://github.com/PaddlePaddle/PaddleNLP.git
// 进入项目根目录
cd PaddleNLP/examples/text_matching/sentence_transformers

// 运行
// 先指定gpu 编号, 从0开始的
export CUDA_VISIBLE_DEVICES=2 
// 训练 由于只有一个GPU可见,默认用可用列表中的第一个
python train.py --device gpu --save_dir ./checkpoint
// 预测
python predict.py --device gpu --params_path checkpoint/model_9900/model_state.pdparams

paddle还支持多gpu并行训练,使用 paddle.distributed.launch

paddle.distributed.launch 启动多卡训练时,设置 --log_dir 参数会将每张卡的日志保存在设置的文件夹下。

// 训练
python -m paddle.distributed.launch train.py --device gpu --save_dir ./checkpoint
// 预测
python -m paddle.distributed.launch predict.py --device gpu --params_path checkpoints/model_9900/model_state.pdparams

用的默认的 ernie-tlny 模型和 LCQMC 数据集,

离谱,每次预测结果都不相同xs

 

 

最后记录一下GPU的使用

为了不让自己霸占所有的GPU,要手动指定GPU

先看看GPU使用情况: nvidia-smi<c/ode>

设置GPU可见情况:  export CUDA_VISIBLE_DEVICES=2 或者多个 export CUDA_VISIBLE_DEVICES=0,2  等等

查看CUDA_VISIBLE_DEVICES: echo $CUDA_VISIBLE_DEVICES

用pytorch查看可用的gpu列表:

>>> import torch
>>> available_gpus = [torch.cuda.device(i) for i in range(torch.cuda.device_count())]
>>> available_gpus
[<torch.cuda.device object at 0x7f2585882b50>]

# 获取可用数量
print(torch.cuda.device_count())

监控系统资源:htop,比top更直观一点

监控GPU使用情况: watch -n 1 nvidia-smi,这里是1s打印一次

 

 

参考链接:

1. stack overflow_Change default GPU in TensorFlow

2. paddle_使用预训练模型Fine-tune完成中文文本匹配任务

3. Paddle 如何使用多块GPU 并行训练

posted @ 2021-10-17 21:38  Rogn  阅读(3432)  评论(0编辑  收藏  举报