写在前面:
conda install主要是从网络上下载各种包到自己的环境内。但是由于多方面技术原因,先进框架下的包大多都在国外。而由于我国国情,访问外网下载东西很容易连接超时,导致下载失败。使用pip命令下载,可以通过-i指定要使用的镜像网站。但是因为conda是没有-i的,因此指定镜像下载时我们使用“pip install -i 镜像路径”。
(1)安装anaconda:在官网上或清华源下载符合自己机器版本的anaconda,并安装在个人用户权限的某个地方。
bash ~/XXX/Anaconda3-5.2.0-Linux-x86_64.sh
如果想卸载anaconda,可以执行下列命令:
sudo rm -rf anaconda
因为conda可能不是更新,导致conda install安装会出现一些问题。因此,安装anaconda后,最好执行以下命令进行更新:
先使用conda upgrade --all 升级所有的包
使用Python -m pip install --upgrade pip 或者conda upgrade pip升级pip工具
(2)尝试使用“conda list”来检验conda命令是否可用:
若不可用,则键入:
vim ~/.bashrc
在最后一行加入:
export PATH=/home/XXX/package/anaconda/bin:$PATH
然后键入:
source ~/.bashrc
为了避免每次打开终端都要执行“source ~/.bashrc”,因此施行下面策略:
①在命令行键入:
vi ~/.bash_profile
②该文件可能是空白的,也可能有内容,不用关心。在文件末尾添加:
if [ -f ~/.bashrc ];then
source ~/.bashrc
fi
③esc :wq!保存
④在命令行键入:
source ~/.bashrc
(3)创建虚拟环境:
conda create -n 虚拟环境名称 python=3.6 (3.6是python版本号,可选)
(4)查看虚拟环境是否建好:
conda env list
(5)激活创建的虚拟环境:
conda activate 虚拟环境名称
此步可能出错,这时可使用如下语句进行修复:
source activate
source deactivate
(6)建立虚拟环境1,并在上面(进入该虚拟环境)安装pytorch(主机已经安装CUDA的前提下):
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge
同样的,上述可以换成清华的通道信息:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
conda config --set show_channel_urls yes
安装pytorch(这里的版本信息可以直接到官网查看。末尾可以添加“-c pytorch”,若不添加则使用国内清华镜像会快很多;若添加,则是国外官网镜像很慢)
conda install cudatoolkit=10.1
conda install cudnn
conda install pytorch torchvision torchaudio cudatoolkit=10.1
import torch # 如正常则静默
a = torch.Tensor([1.]) # 如正常则静默
a.cuda() # 如正常则返回"tensor([ 1.], device='cuda:0')"
from torch.backends import cudnn # 如正常则静默
cudnn.is_acceptable(a.cuda()) # 如正常则返回 "True"
(7)建立虚拟环境2,并在上面(进入该虚拟环境)安装tensorflow(主机已安装CUDA情况下。也可以参考这篇文章https://blog.youkuaiyun.com/u012428169/article/details/108222370)
安装tensorflow(这里使用的是豆瓣镜像很快,适合于网速慢的小伙伴):
conda install cudatoolkit=10.1
conda install cudnn
pip install tensorflow-gpu==2.3.0 -i https://pypi.douban.com/simple
# 如果是tensorflow1.7.0,只能只能只能安装cudatoolkit-9.0。最好使用下列命令:
# conda install cudatoolkit=9.0
# conda install cudnn
# conda install tensorflow-gpu==1.7.0
import tensorflow as tf
tf.__version__
tf.test.gpu_device_name()
from tensorflow.python.client import device_lib
device_lib.list_local_devices()
(8)图神经网络框架安装
①最近图神经网络开始流行,我们可以安装图神经网络框架DGL,安装方法。注意:该框架安装前要求安装好pytorch,且要求python版本最好为Python 3.5或更高。
由于官网的下载安装方法容易超时,我们建议使用阿里云镜像来进行安装:
pip install -U dgl -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
执行下列命令,查看是否安装成功:
import torch
import dgl
from dgl.data import citation_graph as citegrh
安装DGL后,应该指定其依赖框架。对于官网上的方法,我执行了下但不可用,欢迎大家联系指导。
# 默认方案
cd ~/.dgl
vi config.json
{"backend":"pytorch"}
# 官网方法
vim /etc/profile
# 添加下列环境变量
DGLBACKEND = PyTorch
②当然,还有另外一种图神经网络框架torch-geometric可以使用,安装指南。注意:该框架要求pytorch最低版本为PyTorch1.4.0。
可以使用如下命令来查询pytorch和cuda的版本信息:
import torch
print(torch.__version__)
print(torch.version.cuda)
比如,我的cuda版本是cuda10.2,pytorch版本是1.7.1.则有下面的安装命令:
# 安装pytorch的命令为
# conda install cudatoolkit=10.2
# conda install cudnn
# conda install pytorch torchvision torchaudio cudatoolkit=10.2
# rm -rf ~/.cache/pip
pip install torch-scatter -f https://pytorch-geometric.com/whl/torch-1.7.1+cu102.html
pip install torch-sparse -f https://pytorch-geometric.com/whl/torch-1.7.1+cu102.html
pip install torch-cluster -f https://pytorch-geometric.com/whl/torch-1.7.1+cu102.html
pip install torch-spline-conv -f https://pytorch-geometric.com/whl/torch-1.7.1+cu101.html
pip install torch-geometric
执行如下命令,检验是否安装成功:
import torch
from torch_geometric.data import Data
edge_index = torch.tensor([[0, 1, 1, 2],[1, 0, 2, 1]], dtype=torch.long)
x = torch.tensor([[-1], [0], [1]], dtype=torch.float)
data = Data(x=x, edge_index=edge_index)
在检验的时候,有可能会出错:
# 如果是这个问题“libcudart.so.10.1: cannot open shared object file: No such file or directory”,且你的服务器cuda版本是cuda10.2,则有如下解决方案
sudo ln -s /usr/local/cuda-10.2/lib64/libcudart.so.10.2 /usr/lib
sudo ln -s /usr/local/cuda-10.2/lib64/libcudart.so.10.2 /usr/lib/libcudart.so.10.1
sudo ldconfig
#如果是这样的问题“OSError: libcudart.so.10.1: cannot open shared object file: No such file or directory”,我建议你清除一下缓存试试看
rm -rf ~/.cache/pip
(9)这里还有个小的trick,布置完服务器之后,使用Pycharm在本机上使用服务器的计算能力和资源。具体连接方法看这里。