java 单机接口限流处理方案
372
2022-09-03
pytorch 第三方模块 GraphNAS 安装成功记录(pytorch教程)
实验室的小师妹要安装pytorch的第三方模块,经过多方努力没有安装上,后来我接手后也是感觉头疼。
该模块地址:
versions of PyTorch, numpy, scipy, sklearn, dgl, torch_geometric and networkx are required. Ensure that PyTorch 1.1.0 and CUDA 9.0 are installed. Then run:
pip install torch==1.1.0 -f install -r requirements.txt
If you want to run in docker, you can run:
docker build -t graphnas -f DockerFile . docker run -it -v $(pwd):/GraphNAS graphnas python -m eval_scripts.semi.eval_designed_gnn第一种安装方式, 使用 pip 的安装方式, 各种报错, 错误种类太多。不过看了看该模块的源代码后对报错的种类有了一些了解, 报错按照运行方式来分类的话可以分为CPU和GPU端上的 编译报错和运行报错,CPU端上 编译报错就是GCC, G++ 没有安装,或者安装版本不对, 运行报错就是python的版本和编译的版本各种不对。GPU端上 编译报错就是没有安装NVIDIA显卡的编译器 没有NVCC, 有了nvcc则是没有配置CUDA_HOME PATH 路径。环境变量 PATH 为:
PATH="/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
环境变量 LD_LIBRARY_PATH 为:
LD_LIBRARY_PATH="/usr/local/nvidia/lib:/usr/local/nvidia/lib64:/usr/local/cuda/lib64"
------------------------------------最为关键的就是GPU端编译后运行报错,显示版本不对应,最后终于安装上给出安装的详细配置。python==3.6.8 (系统原生Python 或者 conda创建的环境 均可)pytorch 选择pip方式安装的 pytorch==1.1.0 (cuda==9.0)运行及编译的环境为 cuda10.1 或 cuda10.2 均可。其中, pytorch 下载地址: -m eval_scripts.semi.eval_designed_gnn
python -m eval_scripts.sup.eval_designed_gnn
python -m graphnas.main --dataset Citeseer
python -m graphnas.main --dataset Citeseer --supervised True --search_mode micro
其实,之前好多种版本的python ,cuda 都已经试过,conda安装的Python还有Ubuntu自带原生的Python都试过,最后就这个成了。
之所以这个最后成功也是误打误撞的,首先电脑上系统自带的原生Python比较老,是3.6.8版本的,没有安装conda, 于是采用pip安装的方式安装pytorch,又由于网速问题选择安装wheel版本的, 然后记错了本地cuda版本,原以为是cuda9.0的,于是安装的pytorch是cuda9.0的, 但是实际上电脑系统的cuda是10.1版本的。于是乎就有了上面的这个成功的配置。中间过程用过各种版本,神奇的是采用conda安装的3.7版本Python和对应的pytorch无法成功安装该模块。这也是试过太多的版本,最后试的有些迷糊了,然后就这样胡乱的成功编译安装,运行了,这也是好神奇的事情,回顾整个安装这个模块的时间可以说一整天时间都用上也不为过。
------------------------------------------事后个人总结了一下,安装这个模块的难点主要是GPU上运行代码的编译,由于很多人都是使用conda来跑pytorch的,但是conda安装的cuda-toolkit只有runtime的api没有编译时候的api,所以一定要在电脑上手动安装cuda,并且配置好环境参数,同时不要使用conda下的pytorch,因为conda下安装pytorch会自动安装runtime版本的cuda,这样又会和主机的cuda版本造成冲突。所以,关键点在于主机上手动安装cuda,并配置环境,pytorch也只用pip方式安装wheel版本,这样就避免了编译代码的cuda和运行代码的cuda版本不一致问题。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~