关于执行CLAM的代码的一些需要记录的点

文章链接:[2004.09666] Data Efficient and Weakly Supervised Computational Pathology on Whole Slide Images (arxiv.org)
代码链接:GitHub - mahmoodlab/CLAM: Data-efficient and weakly supervised computational pathology on whole slide images - Nature Biomedical Engineering

一. openslide-python包的安装

首先创建项目和虚拟环境,然后执行

pip install opslide-python

然后直接import openslide会报错没有ddl,也就是没有链接。

去官网下载

OpenSlide on Windowsicon-default.png?t=N7T8https://openslide.org/docs/windows/

解压缩后放在E:\classify\CLAM\envs\Lib\site-packages目录下,然后把bin里面的ddl复制到E:\classify\CLAM\envs文件夹下:

然后就可以了。

二. pytorch包的安装

查看cuda版本:

nvcc --version

然后去官网下载对应版本:

# CUDA 11.6
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116

查看是否可用:

import torch
print(torch.__version__)
# 检查CUDA是否可用
if torch.cuda.is_available():
    print("CUDA可用!")
else:
    print("CUDA不可用。")
# 获取CUDA设备数量
cuda_device_count = torch.cuda.device_count()
print("CUDA设备数量:", cuda_device_count)

三. h5py的安装

pip install h5py

四. scipy的安装

pip install scipy

五. patch的裁剪和拼接重建

对一张切片执行,提取组织区域,切割为patch并进行重建。

1.mask 文件夹包含分割结果(每张幻灯片一张图像)。

2.patchs 文件夹包含从每张幻灯片中提取的组织补丁的数组(每张幻灯片一个 .h5 文件,其中每个条目对应于补丁的左上角的坐标)

3.stitches 文件夹包含缝合的组织补丁的下采样可视化(一张图像) 每张幻灯片)(可选,不用于下游任务)

4.自动生成的 csv 文件 process_list_autogen.csv 包含已处理的所有幻灯片的列表,以及所使用的分段/修补参数。

六. topk包

git clone https://github.com/oval-group/smooth-topk.git
cd smooth-topk
python setup.py install

或者在github中下载:GitHub - oval-group/smooth-topk: Smooth Loss Functions for Deep Top-k Classification

topk是一个Python包,用于实现基于top-k损失的机器学习模型。在机器学习中,top-k损失是一种常用的损失函数,通常用于多类别分类问题。它与交叉熵损失类似,但不仅考虑了正确类别的预测概率,还考虑了前k个最高概率的类别。该包提供了Smooth Top-k SVM模型的实现,这是一种基于top-k损失的支持向量机(SVM)模型。Smooth Top-k SVM模型在处理不平衡数据和多类别分类问题时通常表现良好。

from topk.svm import SmoothTop1SVM

七. 一些其他的东西

img_med = cv2.medianBlur(img_hsv[:,:,1], mthresh)

在这行代码中,img_hsv[:,:,1] 是一个二维数组,表示了 HSV 颜色空间中的饱和度通道的图像数据。mthresh 参数指定了中值滤波器的卷积核大小。这样,medianBlur 函数将对饱和度通道的图像数据进行中值滤波处理,并将结果保存在 img_med 变量中。

在图像处理中,特别是在颜色图像处理中,通常选择在亮度(Value)和饱和度(Saturation)通道上执行滤波操作,而不是在色调(Hue)通道上进行操作。这是因为:

  1. 饱和度通道保留了图像的结构信息:在 HSV 颜色空间中,饱和度通道表示了颜色的纯度或灰度程度。由于它保留了图像的结构信息,因此对饱和度通道进行滤波操作可以保持图像的边缘和轮廓。

  2. 饱和度通道对噪声相对不敏感:饱和度通道通常对光照变化和噪声具有较高的容忍度,因此在这个通道上执行滤波操作可以有效地减少图像中的噪声,而不会显著影响图像的质量和结构。

  3. 亮度通道可能受光照变化影响较大:在某些情况下,图像的亮度通道可能会受到光照变化的影响,这可能会导致在亮度通道上执行滤波操作时丢失一些细节或产生不良效果。

因此,通常建议在饱和度通道上执行滤波操作,以保留图像的结构信息并减少噪声。

八. 错误提示处理

“future” 模块:“future” 是一个 Python 模块,用于帮助实现 Python 2 和 Python 3 之间的兼容性。在 Python 2 中,一些功能和语法与 Python 3 不同。“future” 模块提供了一种方式,使得你可以在 Python 2 中使用类似于 Python 3 的功能。

pip install future

torch.inference_mode(): 是一个在 PyTorch 1.9 版本中新增的函数。它用于启用推理模式,以便在不计算梯度的情况下进行前向传播。在旧版本的 PyTorch 中运行,可以使用torch.no_grad()来替代 torch.inference_mode()

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值