zoukankan      html  css  js  c++  java
  • pytorch 第三方模块 GraphNAS 安装成功记录

    实验室的小师妹要安装pytorch的第三方模块,经过多方努力没有安装上,后来我接手后也是感觉头疼。

    该模块地址:

      https://github.com/GraphNAS/GraphNAS

    该模块主页给出两种安装方式:

    Requirements

    Recent 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 https://download.pytorch.org/whl/cu90/torch_stable.html
    pip 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 下载地址: https://download.pytorch.org/whl/cu90/torch-1.1.0-cp36-cp36m-linux_x86_64.whl



    采用以上配置,可以成功编译模块,安装,然后运行。

    验证是否成功:(测试代码)
    python -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版本不一致问题。














  • 相关阅读:
    2020软件工程第四次作业04
    2020软件工程作业02
    2020软件工程作业01
    2020软件工程个人作业06——软件工程实践总结作业
    2020软件工程作业05
    2020软件工程作业00—问题清单
    2020软件工程作业03
    2020软件工程作业02
    2020软件工程作业01
    小小小-冲刺集合
  • 原文地址:https://www.cnblogs.com/devilmaycry812839668/p/13704738.html
Copyright © 2011-2022 走看看