zoukankan      html  css  js  c++  java
  • 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 并行训练

    个性签名:时间会解决一切
  • 相关阅读:
    [LUOGU] 1364 医院设置
    [POJ] 3278 Catch That Cow
    [OpenJudge] 2727 仙岛寻药
    [POJ] 2386 Lake Counting
    [POJ]1118 Lining up
    [LUOGU]1141 01迷宫
    [POJ]1111 Image Perimeters
    python之路——初识函数
    python----------文件操作
    Python中的split()函数的用法
  • 原文地址:https://www.cnblogs.com/lfri/p/15418302.html
Copyright © 2011-2022 走看看