目录
- 前言
- 一、环境准备
- 多版本cuda切换
- 切换cuda版本
- 二 安装CUDNN
- 2.1 检查cudnn
- 二、使用步骤
- 1.安装虚拟环境
- 2.测试Gradio
- 3.推理
- 总结
前言
我们在解读完MedSAM之后,迫不及待想尝尝这个技术带来的福音,因此验证下是否真的那么6。这不,新鲜的使用教程来了!!!
一、环境准备
Environment Requirements: Ubuntu 20.04 | Python 3.10 | CUDA 12.1+ | Pytorch 2.3.1
CUDA12.1安装,参考之前安装3DGS时候安装cuda118,教程如下:
https://blog.csdn.net/wqthaha/article/details/141883838
注意这里的安装目录是“/usr/local/cuda-12.1/”
多版本cuda切换
安装完成后,配置并更新环境变量:
#打开环境变量编辑
gedit ~/.bashrc
#添加路径(此处展示的是默认路径,根据自己的路径来)
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
export PATH=$PATH:/usr/local/cuda/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda
#激活环境变量
source ~/.bashrc
#cuda默认安装在usr/local/cuda
stat /usr/local/cuda
默认cuda指向cuda121
切换cuda版本
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-11.8 /usr/local/cuda
#使用下面的命令查看你的CUDA版本:
nvcc -V
#显示的是cuda11.8
cat /usr/local/cuda/version.json
显示的是cuda12.1
好像没有切换过来,可以使用which nvcc
查看调用的是哪里的nvcc; 然后用/usr/local/cuda/bin/nvcc看看是不是不一样,即
/usr/local/cuda/bin/nvcc --version
解决方案
把想用的CUDA的bin目录配置PATH中:
编辑~/.bashrc,在最后加入:export PATH=/usr/local/cuda/bin:$PATH。
source ~/.bashrc或重启shell。
# cuda11.8备份
#export PATH=/usr/local/cuda-11.8/bin${PATH:+:${PATH}}
#export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
#export CUDA_HOME=/usr/local/cuda-11.8
二 安装CUDNN
下载的链接:https://developer.nvidia.com/rdp/cudnn-archive
推荐中文链接:https://developer.nvidia.cn/rdp/cudnn-archive
这里我选择的是cudnn8.9.7 for cuda 12.x的tar版本
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz
sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.1/include
sudo cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.1/lib64
sudo chmod a+r /usr/local/cuda-12.1/include/cudnn*.h /usr/local/cuda-12.1/lib64/libcudnn*
2.1 检查cudnn
cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
二、使用步骤
1.安装虚拟环境
conda create -n medsam2 python=3.10 -y
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
#运行install
pip install -e .
install遇到的问题如下:
还是安装失败,发现原因,就是没有读到CUDA_HOME,为此,将此直接写固定:
export CUDA_HOME=/usr/local/cuda-12.1
安装成功!
2.测试Gradio
Install dependencies 安装依赖包:
pip install gradio==3.38.0
sudo add-apt-repository ppa:jonathonf/ffmpeg-4
sudo apt-get update
sudo apt-get install ffmpeg
或者这样安装ffmpeg
conda install -c conda-forge ffmpeg-python
Run python app.py
3.推理
下载模型:
Download SAM2 checkpoint and place it at ./checkpoints/sam2_hiera_tiny.pt .
下载地址:
https://dl.fbaipublicfiles.com/segment_anything_2/072824/sam2_hiera_tiny.pt
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
这里将SAM2MED进行了测试和推理,步骤比较多,但是也不难。模型取得的效果,还需要进一步验证!