tags
type
status
date
slug
summary
category
password
icon

基本命令

需要用管理员解除安全限制,才能在powershell中使用conda激活的虚拟环境
conda env list查看当前有哪些环境
conda creat -n env_name python==3.12 创建名称为env_name的环境,可以指定python版本
conda install python==3.10 更改python的版本
conda activate env_name 激活虚拟环境。激活成功后命令行之前会出现(env_st-gcn)
conda deactivate退出虚拟环境
conda list 查看当前环境中有哪些依赖项
conda install pip 为了通过pip安装python的依赖包,需要先在虚拟环境中安装pip(已经有pip就不要重新装了,版本问题可能会导致后续版本不匹配!)
后续安装可以用pip install,也可以用conda install,二者渠道不同。conda渠道有时无法检查出所有的依赖项,因此我一般只用conda安装torch(速度比较快),剩下全部用pip。如果非要两个都用的话,先用conda,再用pip

本机虚拟环境备忘

  • base
python 3.12
  • hdc
python 3.10
  • torch-basic-cpu
python 3.10
torch 2.7.0+cpu
tensorboard
  • torch-basic-xpu
python 3.10
intel-extension-for-pytorch 2.6.10+xpu
torch 2.6.0+xpu
torchaudio 2.6.0+xpu
torchvision 0.21.0+xpu
tensorboard
  • netdelay(用于CircuitNet的net_delay_prediction)
python 3.8
torch 1.31.1+cpu
dgl 0.9.1
及其他该项目需要的依赖
  • verilator
python 3.8
有点忘了是用来干啥的了,verilator需要独立虚拟环境吗
  • dhg(用来运行DeepHypergraph)
python 3.8
torch 1.13.1+cpu
dhg 0.9.5
  • dgl+pyg(可以运行dgl&pyg)
python 3.10.19
torch 2.1.0+cpu
dgl 2.2.1
torch-geometric 2.7.0(包括所有附属包)

超算虚拟环境备忘

  • new_HyperGef
python 3.8
torch 1.13.0+cu116
dgl 1.1.3+cu116
pyg 2.5.2+cu116

配环境经验

general

找不到旧版本可以用pip install dgl==0.9.1(例)指定版本
开始配环境之前,应该先检查各依赖项(torch、dgl等)对python版本和cuda版本的支持,尽量减少返工。
如果遇到一个包,只有setup.py,没有给出pip安装方式,只要cd到包含setup.py的目录下,用pip install .,即可安装

torch

安装torch前,应该先用nvidia-smi查看硬件cuda版本。例如,超算硬件cuda版本为12.6,因此软件cuda版本应该<=12.6。安装pytorch后,可以用torch.version.cuda查看软件cuda版本
如果在import torch时出现python3.10/site-packages/torch/lib/libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent ,是因为mkl版本太高。用conda install mkl=2023.1 -c conda-forge回退版本可以解决这一问题(暂时不确定会不会引发别的问题)
No CUDA runtime is found说明找不到gpu资源或者cuda/torch版本有问题
refs:

torch-xpu

refs:
Intel® Extension for PyTorch* Installation Guide
Intel® Extension for PyTorch* — PyTorch Tutorials 2.6.0+cu124 documentation

dgl

最新版dgl仅支持torch 2.1-2.4
例子里是之前版本的dgl 0.9.1
pip渠道:pip install dgl==1.1.3+cu116 -f https://data.dgl.ai/wheels/cu116/repo.html
conda渠道:conda install -c dglteam dgl-cuda11.6==0.9.1 Linux 64 | Anaconda.org
如果直接pip install dgl,很可能无法正确识别版本!在CPU环境下,推荐采用conda安装。
conda安装之后,可能报错:ModuleNotFoundError: No module named 'packaging’ ,手动安装packaging即可
导入dgl.sparse时可能报错:FileNotFoundError: Cannot find DGL C++ sparse library at D:\Anaconda\envs\dgl\lib\site-packages\dgl\dgl_sparse\dgl_sparse_pytorch_2.4.0.dll 这是因为dgl 2.0.0与torch 2.4不适配。可将torch降到2.1.0(该过程中会报错numpy>2.x编译不兼容,pip install numpy<2即可)
测试dgl.sparse:
refs:

pyg

该库的官方名称是torch_geometric 。在pyg 2.3之前的版本,除了下载该库之外,还要下载一系列依赖库
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-1.13.0+cu116.html
pip install pyg_lib torch_scatter torch_sparse torch_cluster torch_spline_conv -f https://data.pyg.org/whl/torch-2.4.0+cu118.html
pyg_lib 0.4.0要求的glibc版本太高,可以回退到0.3.1
refs:

HyperGef

运行命令应为python hgsys.py --backend dgl --model HGNN(github上有typo)
/HyperGsys/hypergraph.py中第56行self.L = dglsp.spmatrix(L_coo).to(device) 使用了spmatrix这一方法,然而这一方法在dgl 0.9.1中根本不存在!这与该工作声称的环境要求不符。如果选择升级dgl,又会遇到其他的问题。为了避免浪费过多时间,不再尝试这一工作。
pku hpcGit
Loading...