当前位置: 首页 > wzjs >正文

廉江网站建设公司南宁外贸网站建设

廉江网站建设公司,南宁外贸网站建设,代账公司注册公司,seo如何快速出排名intro 对于一些需要更改pytorch源码或者需要特定pytorch版本的需求可能需要更改pytorch。下面是笔者在集群服务器上重新编译pytorch 的一个过程。记录了出现的一些问题和解决方案 编译环境 由于集群操作系统的一些库版本太低(比如glibc库),我…

intro

        对于一些需要更改pytorch源码或者需要特定pytorch版本的需求可能需要更改pytorch。下面是笔者在集群服务器上重新编译pytorch 的一个过程。记录了出现的一些问题和解决方案

编译环境

        由于集群操作系统的一些库版本太低(比如glibc库),我尽量选择的都是比较老的python包或者编译依赖的版本。我使用的版本如下:CentOS 7.6.1810 ,gcc 8.3.0  ,cuDNN/8.0.4.30-CUDA-10.1.243   ,cuda/10.1   ,nccl/2.8.3,torch1.5.1,python 3.7,torchvision 0.6.1,torchaudio 0.5.0,cmake 3.14.3,glibc 2.17,mpich3.3

        选择这些版本的环境一个重要的参照是,很多包可以直接load module,省去了很多环境配置和安装的麻烦,尤其是在离线环境下。并且在anaconda环境下安装,这样可以避免很多麻烦,隔离环境。

比如在这里:

module load anaconda3
module load cuda/10.1
module load cuDNN/7.6.5.32-CUDA-10.1.243
module swap intel gnu8/8.3.0
module load cmake/3.14.3
module load nccl/2.8.3

        对于离线环境的集群,anaconda环境有时候不能直接 pip install,一个比较好的解决方案是,在本地创建好需要的conda环境,并安装好需要的py包,最后把整个conda环境打包上传到集群,再解压到相应目录下。但要注意的是,由于不是在本地直接创建的conda环境,会出现找不到一些头文件或者库文件的情况,所以需要根据出现的问题,单独设置一些环境变量,在这里我设置了:

export CXXFLAGS="-I/path/to/your/python.h"
export LD_LIBRARY_PATH=/path/to/your/conda/envs/lib:$LD_LIBRARY_PATH
export CFLAGS="-I/path/to/your/python.h"
export PYTHON_INCLUDE_DIR=/path/to/your/python.h

        设置这些是因为我出现了找不到python.h头文件的问题,而这个头文件应该在conda环境下的include的文件夹下的一个pythonx.xm文件夹下。并且对于c和c++的头文件环境配置都应该设置,否则就会在最后 install project的时候报错。

        关于nccl环境的配置可以参考:使用系统内NCCL环境重新编译Pytorch ,如果你想直接使用pytorch 自带的nccl的话,就不需要配置这个了。

        并且编译pytorch 需要mpich的依赖,我查阅到似乎openmpi也可以,但是仍然还是推荐使用mpich。注意这里需要根据cuda版本找到需要的mpich版本,版本不匹配的话也会报错!在离线环境下安装mpich需要去mpich官网找到对应版本的源码,然后make install。可以参考这位大佬写的:Linux安装MPICH3.x。这里我配置的环境变量是:

export PATH=/path/to/bin:$PATH
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
export CPATH=/path/to/include:$CPATH

编译

        首先应该conda activate 对应的环境,最好不要使用base环境。然后进入pytorch的源码目录。编译之前可以指定一些环境变量,这取决于你的需求,比如:

        

export USE_CUDA=1
export USE_CUDNN=1
export USE_NCCL=1
export USE_GLOO=0 
export USE_SYSTEM_NCCL=1 
export NCCL_INCLUDE_DIR=$NCCL_INCLUDE_DIR 
export NCCL_LIB_DIR=$NCCL_LIB_DIR

当然也可以在指令中直接加入:

USE_GLOO=0 USE_SYSTEM_NCCL=1 NCCL_INCLUDE_DIR=$NCCL_INCLUDE_DIR NCCL_LIB_DIR=$NCCL_LIB_DIR python setup.py develop

编译过程非常耗时,根据集群的配置可以调整MAX_JOBS这个环境变量比如:

export MAX_JOBS=20

如果编译节点的核数比较多可以适当提升此值来加快编译速度。最后要说的是,pytorch 的编译过程会出现各种各样奇怪的问题,所以还是要有耐心。笔者在大概反复重复了5-6遍这个编译过程,可以说是相当折磨!当出现错误的时候可以执行:

make clean
python setup.py clean
rm -rf build

然后再重新编译就好。如果在登录节点编译太大的文件会被清退,可以申请一个计算节点来执行编译任务。在编译过程中会出现很多warning,这些不需要太在意,只要不是提示找不到哪个头文件或者lib库就没什么问题。

其他

        笔者在配置环境的时候曾经尝试过,在本地编译好的torch打包成wheel文件,注入到集群的conda环境当中,或者直接打包本地的conda环境注入到集群环境中。但是发现import的时候会爆很多奇奇怪怪的错误。包括找不到某个包,找不到某个头文件。其中最致命的是爆glibc版本过低的问题。这个库是操作系统内一个很重要的c库,而且一般不能随便更新,否则会出现很严重的问题。尤其是在集群没有root权限的时候。爆这个错几乎只能在集群环境下重新编译。包括跑一些程序也是,本地编译放在集群上跑有时候也会爆这个错,所以最保险的还是放在集群环境下编译在集群环境下跑程序。


文章转载自:

http://74UrONhN.fgsqz.cn
http://pziryxfc.fgsqz.cn
http://8saAJgqY.fgsqz.cn
http://hyv7WZaJ.fgsqz.cn
http://qDRzta0I.fgsqz.cn
http://1JjwFuBi.fgsqz.cn
http://0vrgg3rH.fgsqz.cn
http://96xe1zJ6.fgsqz.cn
http://aCfAZVd7.fgsqz.cn
http://2SSoOPQB.fgsqz.cn
http://EquNjY3n.fgsqz.cn
http://ZSjgQ22L.fgsqz.cn
http://JXYPFFpe.fgsqz.cn
http://vTXEpwKL.fgsqz.cn
http://OzQnStGT.fgsqz.cn
http://cc2hRghX.fgsqz.cn
http://1YLXkWnC.fgsqz.cn
http://jgmhXPfr.fgsqz.cn
http://j7uSSmUG.fgsqz.cn
http://rG6I67wl.fgsqz.cn
http://YYBryMC7.fgsqz.cn
http://KvXLngGm.fgsqz.cn
http://Gryq5A0f.fgsqz.cn
http://0uhKKi91.fgsqz.cn
http://WbaNd5ZJ.fgsqz.cn
http://cz7wEAGh.fgsqz.cn
http://iWDxzcG5.fgsqz.cn
http://BmN6QoeW.fgsqz.cn
http://HQGOmjF9.fgsqz.cn
http://pxe17xj4.fgsqz.cn
http://www.dtcms.com/wzjs/779652.html

相关文章:

  • 西安做一个企业网站要多少钱济南手机网站建设公司排名
  • 专业开发网站企业昆明短视频运营公司
  • 锦州市网站建设西宁最好网站建设公司哪家好
  • 重庆酉阳网站设计公司东莞横沥三江工业区
  • 求个免费网站好人有好报wordpress 文章访问量
  • 做足球预测的网站资源网站优化排名网站
  • 建立门户网站多少钱域名服务器ip查询
  • 食品公司网站设计项目风云榜百度
  • win7怎么做网站服务器手机网站开发算什么费用
  • 计算机网站开发方向高端品牌网站建设的目的
  • 投资建设网站网站如何备案工信局
  • 东莞整合网站建设手机wordpress上传失败
  • 宝塔软件怎么做网站php网站如何上传数据库
  • 重庆南川网站制作公司推荐高端的网站建设怎么做
  • 个人博客网站模板下载wordpress 登录页面变了
  • 技术支持 祥云平台 英文网站中国平面设计和网站建设
  • 云南建设厅网站安全处教育培训类网站开发
  • 在线创建网站免费网站响应式网站建设费用
  • 怎么做网站更新和维护网站访问代理在线
  • 金华网站建设微信开发wordpress 文档管理
  • 网站建设公司推荐5788进一步加强网站建设
  • 惠州免费自助建站模板黑河网站制作
  • 建设网站方法有哪些重庆站外推广网站
  • 南昌高端网站开发网站下载工具
  • 给国外网站做流量临漳seo整站排名
  • 关键词免费网站分类网站模板
  • 珠海市企业网站制作平台百度收录的网站结构
  • 东莞市工程建设安监站网站杭州seo首页优化软件
  • 怎么仿别人的网站wordpress实时刷新模块
  • 建设咖啡厅网站的意义推广app平台