当前位置:   article > 正文

anaconda环境下配置Pytorch+CUDA+transformers_安装transformers==4.36.0

安装transformers==4.36.0

目前博0,刚开始接触NLP相关的任务(目前在学习NER任务,后续可能还会继续更新NER相关的内容),记录一下自己成功配置环境的流程,希望能够帮助到正在对相关环境配置焦头烂额的人。

需求:针对anaconda下不同环境安装不同版本的CUDA。

一、版本说明

  • python 3.8
  • pytorch 1.31.1
  • CUDA 11.6
  • transformers 4.36.1

ps:如下图,版本主要根据github上面transformers的说明,链接:github_transformers。pytorch1.13.1是2.0.0版本的前一个。

二、配置过程

1、anaconda创建虚拟环境

这个部分比较基础,这边直接给出代码,方便直接使用。env_name用自己的名字替代。

  1. # 创建环境
  2. conda create -n env_name python=3.8
  3. # 激活环境
  4. conda activate env_name

2、安装Pytorch

这边直接给出代码:

  1. # torch=1.13.1;cu116代表CUDA11.6
  2. pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

如果你想要其他版本:pytorch各版本链接

为了避免网络连接问题,pip需要更换源,可以参考pip换源

在使用过程中,pip有时候还是会出现连接问题。多试几次就好了

你也可以使用conda

  1. # CUDA 11.6
  2. conda install pytorch==1.13.1 torchvision==0.14.1 torchaudio==0.13.1 pytorch-cuda=11.6 -c pytorch -c nvidia

3、配置CUDA

本地配置CUDA的方法网上有很多教程,如CUDA配置

本文中的CUDA配置主要是考虑在anaconda的环境下单独配置CUDA,方便满足不同项目的环境需求。参考:pip安装CUDA

先准备一个requirements.txt文档,然后用pip安装

requirements.txt:

  1. --extra-index-url https://pypi.ngc.nvidia.com
  2. nvidia-pyindex
  3. nvidia-cuda-runtime-cu116
  4. nvidia-cuda-cupti-cu116
  5. nvidia-cuda-nvcc-cu116
  6. nvidia-nvml-dev-cu116
  7. nvidia-cuda-nvrtc-cu116
  8. nvidia-nvtx-cu116
  9. nvidia-cuda-sanitizer-api-cu116
  10. nvidia-cublas-cu116
  11. nvidia-cufft-cu116
  12. nvidia-curand-cu116
  13. nvidia-cusolver-cu116
  14. nvidia-cusparse-cu116
  15. nvidia-npp-cu116
  16. nvidia-nvjpeg-cu116

cu116的116代表1.16版本的CUDA。如果你需要安装其他版本的CUDA,你可以更改为cux,x即使你想要的版本。为了保险起见,你可以去pypi查是否有对应的版本。

然后安装:

pip install -r requirements.txt

安装完成之后,可以测试一下是否已经可以用GPU:

  1. import torch
  2. print(torch.cuda.is_available())

若结果为True则没问题。

4、安装Transformers

直接上指令:

  1. # 安装必要组件
  2. pip install transformers datasets
  3. # 安装Transformers
  4. pip install transformers==4.36.1

我使用的是4.36.1版本的的Transformers,如果大家有需要也可以在pypi的transformers列表中找想要的版本。

安装完毕后进行测试。

  1. from transformers import pipeline
  2. classifier = pipeline('sentiment-analysis')
  3. output = classifier('We are very happy to introduce pipeline to the transformers repository.')
  4. print(output)
  5. >>[{'label': 'POSITIVE', 'score': 0.9996980428695679}]

如果可以成功运行并且输出,那么就代表所有安装都完成了。

该部分主要参考transformers的官方文档(需要科学上网)。

三、可能会碰到的问题

1、urllib3.exceptions.SSLError: TLS/SSL connection has been closed (EOF) (_ssl.c:1131)

首先conda env list查看自己的urllib3版本,一般是因为urllib3版本过高导致, 只要降低其版本就行:

pip install urllib3==1.25.11

2、 We couldn't connect to 'https://huggingface.co' ...

因为国内网没法访问该网页。

1)本地可以采用科学上网,然后再次运行代码。

2)先把模型下载下来,然后离线使用。(如:参考

ps:本人采取的是1)办法,验证可行,但是2)没有试验过。

四、总结

本篇博客主要记录分享自己学习过程中遇到的一些问题和心得,帮助遇到类似问题的人。

科研长路漫漫,学海无涯,我也是刚开始学习的小白,如果文中有什么问题,欢迎大家在评论区指出。也欢迎大家在评论区记录自己遇到的问题以及相应的解决方案,以更好地帮助遇到类似问题的人。

如果文章对你有帮助,请点赞哦。后续会继续更新NER相关的内容。

本人在知乎也会发布相应的内容:游学者粥酌 - 知乎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/887050
推荐阅读
相关标签
  

闽ICP备14008679号