首先配置环境,根据自己的CUDA版本下载pytorch,本人是CUDA12.5,那么运行命令:
conda install pytorch torchvision torchaudio pytorch-cuda=12.4 -c pytorch -c nvidia
接下来继续安装对应的包:
pip install hickle==3.4.5 --index-url https://pypi.org/simple
pip install pandas==1.0.1 --index-url https://pypi.org/simple
pip install scikit-learn --index-url https://pypi.org/simple
pip install umap-learn --index-url https://pypi.org/simple
pip install matplotlib --index-url https://pypi.org/simple
安装完可以用pip list检查一下是否安装成功。
包全都安装完成后尝试运行run_PANCDR.py,发现报错:
ModuleNotFoundError: No module named 'fcntl'
经查询发现这是UNIX特有的Python模块,而我使用的是Windows,上网查询解决方案
发现有可以运行在Windows上的文件,优快云链接如下:
Windows下python,fcntl库_windows fcntl-优快云博客
接着运行发现报错:
ModuleNotFoundError: No module named 'importlib.metadata'
在"你的虚拟环境地址\lib\site-packages\umap\__init__.py"文件中,修改importlib.metadata为importlib_metadata,即:
接着报错:
FileNotFoundError: [Errno 2] File ../data/TCGA/Pretrain_TCGA_expr_702_01A.csv does not exist: '../data/TCGA/Pretrain_TCGA_expr_702_01A.csv'
沿着路径找回去发现竟然是一个文件夹要解压缩(给我气笑了),在PANCDR-main下的data下的TCGA文件夹,将Pretrain_TCGA_expr_702_01A中的Pretrain_TCGA_expr_702_01A.csv解压缩出来。
接下来遇到个更奇怪的问题:
Traceback (most recent call last):
File "C:\Users\ASUS\Desktop\biology information\cell\PANCDR-main\PANCDR-main\src\run_PANCDR.py", line 47, in <module>
TX_drug_feat_data_test = torch.FloatTensor(TX_drug_feat_data_test).to(device)
File "E:\anaconda\envs\PANCDR\lib\site-packages\torch\cuda\__init__.py", line 214, in _lazy_init
torch._C._cuda_init()
RuntimeError: No CUDA GPUs are available
可以发现,报错说我的CUDA设备不可用,奇怪的地方在于,在命令行中我是可用的:
发现是我太穷导致的(哭)
在run_PANCDR.py中,第9行:os.environ["CUDA_VISIBLE_DEVICES"] = "8"
竟然要使用编号为8的GPU,我何德何能,赶紧改成0。
再次尝试运行,终于不报错啦!