【项目复现】- AutoDL

一、复现代码举例

我们在复现其他baseline的时候,要看代码的环境要求,例如:

# Environment Setup
Python 3.7.13
CUDA 11.1
Pytorch 1.10.1
torchvision 0.11.2

注: 以上的环境是必须要按照作者要求的安装,如果换其他的版本,就可能会出错。而其他依赖可以直接pip安装,无版本要求。

二、创建环境——选择一个Python版本

为了方便环境管理,我们是基于工程来创建这个工程的环境。

2.1 创建基本环境

2.1.1 基于AutoDL

  • 先建一个基本环境:
    在这里插入图片描述
  • 进入终端、创建python:
    在这里插入图片描述
conda create -n hra37 python=3.7.13

2.1.2 基于PyCharm

  • 打开一个工程;
  • 创建基本环境:File -> Settings -> Project -> Python Intepreter -> Conda Environment -> 点 **+ ** ->New environment -> 指定Python版本和修改环境名字
    在这里插入图片描述
    安装时出现错误:
    在这里插入图片描述

排查错误:

  • 查看镜像源是清华还是中科大:
conda config --show channels

显示如下:(显示为中科大)
在这里插入图片描述

  • 用终端创建环境,需要cd到anaconda3/bin下在安装:
    在这里插入图片描述
conda create -p /home/wanghui/anaconda3/envs/HRA-UNET -y python=3.7.13

依然出现问题。发现是本身服务器的问题。然后,将服务器放在AutoDL的私有云上,重新配环境,成功。

2.2 终端激活环境

conda activate hra37

2.3 退出环境

conda deactivate

2.4 删除环境

conda remove -n hra37 --all  # hra37是我想删除的环境名

三、PyTorch安装

3.1 查看cuda

  • 安装PyTorch必须找到对应的cuda,所以先查看自己的服务器CUDA。
    1. 终端输入命令:nvidia-smi
      在这里插入图片描述

    2. 终端输入命令:nvcc --version
      在这里插入图片描述

补充:

  • nvidia-smi全程是NVIDIA System Management Interface ,它是一个基于前面介绍过的NVIDIA Management Library(NVML)构建的命令行实用工具,旨在帮助管理和监控NVIDIA GPU设备。
  • nvcc和nvidia-smi显示的CUDA版本不同。CUDA有两个主要的API:runtime(运行时) API和driver API。这两个API都有对应的CUDA版本(如9.2和10.0等)。如果driver API和runtime API的CUDA版本不一致可能是因为你使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。 参考:显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn详解

结论: 这个服务器的cuda 11.7,可向下兼容。
在这里插入图片描述

3.2 查看linux系统的版本号

uname -a

3.3 GPU配置解释

此时显卡状态为正在双卡运行程序。

  • NVIDIA-SMI:显卡(硬件)。
  • Driver Version:显卡驱动。
  • CUDA Version: CUDA版本。这里是11.7。
  • Name:这表示GPU的型号,这里是NVIDIA GeForce RTX 2080Ti。
  • Fan:风扇的状态,通常表示风扇的速度或转动百分比。此时,两张卡分别显示为“95%”、“76%”,表示风扇正在以95%和76%的速度运行。
  • Temp:这是GPU的温度,通常以摄氏度(C)为单位。例如,“84C”表示GPU的当前温度是84摄氏度。
  • Perf:代表性能状态,通常指示GPU当前的性能状态等级。P0~P12,P0最大,P12最小。
  • Pwr:Usage/Cap:这表示GPU的功率使用情况。例如,“20W /350W”表示GPU当前正在使用20瓦的功率,而其最大功率限制为350瓦。
  • Bus-Id:这是GPU在系统总线上的标识符,用于唯一地识别该GPU。
  • Memory-Usage: 表示GPU显存的使用情况。例如,“4222MiB /11264MiB”表示当前使用了4222MiB的显存,而总共可用显存为11264MiB。
  • GPU-Util: 表示GPU的利用率,即GPU被工作负载使用的百分比。如果这个参数是在反复跳动,是因为没有设置好CPU的线程数。具体解决方法参考:关于GPU显存占满(即memory usage 很大),但GPU-util很小,导致模型训练很慢
  • Compute M. & MIG M.:这些可能与GPU的计算模式和多实例GPU(MIG)相关。
  • Default:这可能表示GPU的某些参数或设置处于默认状态。
  • N/A:这表示“不适用”或“不可用”,可能因为某些信息在当前状态下不可用。

3.4 安装PyTorch

官网以前的版本,复制、终端运行

  • Linux:torch==1.10.1
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
  • Linux:torch==1.9.1
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 torchaudio==0.9.1 -f https://download.pytorch.org/whl/torch_stable.html
  • Windows:
pip install torch==1.10.1+cu111 torchvision==0.11.2 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html

注: 这里可选择conda安装,也可以pip安装,我一般选择pip 安装,conda 安装有时候不成功。

四、其他依赖安装

4.1 cv2

清华镜像:(快)

pip install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple

4.2 tensorboardX

pip install tensorboardX

4.3 matplotlib

pip install matplotlib

4.4 medpy

  • 必须先安装SimpleITK,且指定版本:
pip install SimpleITK==1.2.4
  • 安装medpy:
pip install medpy

4.5 visdom

pip install visdom

4.6 pandas

pip install pandas

4.7 imageio

pip install imageio

4.8 torchsummary

pip install torchsummary

4.9 nibabel

pip install nibabel

以上,安装完代码需要的所有依赖,就可以训练或是测试了。

4.10 Screen 工具

  • 终端安装:
apt-get update && apt-get install -y screen
  • 终端输入screen,回车
screen
  • 回到前端,快捷键 ctrl + a + d
  • 查看screen列表:
screen -ls
  • 回到screen端:
screen -r 1644.pts-0.autodl-container-df0d11a752-49e5d49b
  • 在screen端退出screen:
exit
  • 在终端关掉screen:
kill 1644.pts-0.autodl-container-df0d11a752-49e5d49b

4.11 sklearn

pip install scikit-learn

4.12 timm

pip install timm

4.13 skimage

pip install scikit-image

4.14 查看安装包

pip list

五、常用快捷键

5.1 激活环境

conda activate hra37

5.2 进入文件夹、复制文件、删除文件、运行文件

5.2.1 进入文件夹

  • 进入文件夹:
cd HRA

注: 文件夹不需要全名,只需要输入前面几个字母,然后用 tab 键补齐。

  • 退回上一层(上一级目录):
cd ..
  • 退回两层
cd ../..

在这里插入图片描述

5.2.2 复制文件

例如:将U-Mamba-demo中的文件夹Dataset701_AbdomenCT里的文件复制到U-Mamba/data/nnUNet_raw/Dataset701_AbdomenCT/里

  • cd到要复制的文件夹U-Mamba-demo
    在这里插入图片描述
  • 复制
cp -r Dataset701_AbdomenCT/* U-Mamba/data/nnUNet_raw/Dataset701_AbdomenCT/

在这里插入图片描述

5.2.3 删除文件

rm ./data/nnUNet_raw/Dataset701_AbdomenCT/imagesVal/._FLARETs_0014_0000.nii.gz

5.2.4 运行文件

nnUNetv2_predict -i ./data/nnUNet_raw/Dataset701_AbdomenCT/imagesVal -o ./evaluation/segs/Dataset701_UMambaEnc -d 701 -c 3d_fullres -f all -tr nnUNetTrainerUMambaEnc --disable_tta

5.3 解压、压缩文件

5.3.1 解压文件

  • 安装包
apt-get update && apt-get install -y unzip
  • 解压到当前的文件夹:
unzip xxx.zip
  • 解压到指定的文件夹:
    unzip <待解压压缩包名称>.zip -d <解压到哪个路径>
    例:解压raw.zip文件到autodl-tmp里
unzip raw.zip -d /root/autodl-tmp 

unzip -d /root/autodl-tmp raw.zip

5.3.2 压缩文件

  • 安装包
apt-get update && apt-get install -y zip
  • 压缩到当前的文件夹:
zip xxx.zip
  • 压缩到指定的文件夹:
    zip -r <自定义压缩包名称>.zip <待压缩目录的路径>
    • 例:
      压缩Dataset209_KiTS2019文件夹autodl-tmp
    • 首先,终端cd 到 autodl-tmp文件夹。
    • 然后,输入下面代码进行压缩:
zip -r Dataset209_KiTS2019.zip autodl-fs/nnUNet-wh/DATASET/nnUNet_raw/Dataset209_KiTS2019

5.4 中断程序

  • 强行中断当前程序的执行:
ctrl+c 
  • 任务中断,挂起,但此任务没有结束,在进程中,在后台:
ctrl+z

注: ctrl+z 也可以用于 撤销 操作。

5.5 显示当前暂停的进程

jobs -l

在这里插入图片描述

5.6 恢复暂停的进程

  • 使第 N 个任务在后台运行:
bg N
  • 使第 N 个任务在前台运行:
fg N

在这里插入图片描述

注: bg,fg 不带 N 时表示对最后一个进程进行操作。

5.7 kill进程

用 ctrl+z 终止运行,造成很多僵尸进程占用服务器内存。

  • 查看服务器下python进程(grep过滤):
ps -ef | grep python
  • kill 进程:(我常用
kill -s 9 进程号

5.8 终端进入python

  • 进入python
python
  • 检查包是否安装成功,复制下面代码,终端输入:
import torch
import mamba_ssm
  • 退出python
exit()

quit()


Windows快捷键:Ctrl + Z
Linux和macOS快捷键:Ctrl + D

参考博客

[1] 【程序错误】RuntimeError: one of the variables needed for gradient computation
[2] 【完美解决】RuntimeError: one of the variables needed for gradient computation

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值