纯小白为了实现Camelyon16 数据集的分割和特征提取(基于CLAM的代码和AutoDL服务器)所走的弯路

此贴纯纯记录一下小半个月来的时间里为了复现 CLAM 走的弯路和心路历程。
CLAM 源代码地址:GitHub - mahmoodlab/CLAM: Data-efficient and weakly supervised computational pathology on whole slide images

Summary

  1. 可以不利用源代码作者的配置文件 create envs,直接 pip/conda install 相应文件即可,但是最好保证 ubuntu 和 torch 版本一致。
  2. 进程被 killed,很有可能是采用无卡模式开机导致的。
  3. GPT 搜问题的解决方案

最开始考虑用本地 windows 系统处理程序,根据 Installation Guide 中的指令,需要安装 openslide-tools 工具。

Windows 下安装 openslide

  1. 从官网下载 openslide 二进制文件:Downloading OpenSlide。解压后我将其放在以下路径内:D:\miniconda\Lib\site-packages\openslide-win64-20230414
  2. 将解压后的压缩包 bin 文件夹添加到环境变量中
  3. 然后根据 openslide-python · PyPI 官网指示, pip install openslide-python ,注意 Python>=3.7
  4. 找到 openslide 下的 lowlevel. py 文件
    image.png
  5. 根据 OpenSlide Python — OpenSlide Python 1.2.0 documentation 指示修改这串代码
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L0TSRoq2-1684351044614)(https://image-host-1316314535.cos.ap-beijing.myqcloud.com/Obsidian%20Image/%E4%BF%AE%E6%94%B9lowlevel.png)]
  6. 如果仍然报错则参考 win10+anaconda+python3.8虚拟环境中openslide包的安装全记录_libopenslide-0.dll_Msecrety的博客-CSDN博客即可解决

Windows 下安装好 openslide-python 后,进入 CLAM 文件夹按照跑通CLAM_DragonJ__的博客-CSDN博客中的指令执行,然后遇到了如下报错:
ab0a7d41c93cd52371d4c40916cb5de.jpg
由于没有服务器,所以第一反应是在本地虚拟机中的 ubuntu 中跑通 CLAM。由于各种安装包的下载还有代码 clone 都需要 VPN,用了大概 2 天的时间试图安装 V2RayA。
image.png
问了几位朋友之后,提供了 2 种方案:“用 proxychains 转发到局域网的代理服务器,走主机的 VPN”或者“用 clash 代理”。解决完 VPN 的问题之后,试图在虚拟机中安装 Pycharm 调试代码,由于虚拟机有点跑不太动,因此继续询问师兄,然后发现完全走错了方向……师兄说一般都是将代码拷贝到服务器上,然后 ssh 直接访问服务器跑。
现在想想,试图在虚拟机跑神经网络也是够蠢的。转而投奔服务器的怀抱……


最开始想使用的是一位计算机学院学长的账号,结果服务器上账户挂载 data1 的硬盘的空间只剩 2G 多,不够再装个 torch。
然后想用一下朋友 4 张 4090 卡的服务器,然后因为系统更新和英伟达的驱动问题导致无法开机使用。
最终选择租用 AutoDL。


首先用了 AutoDL 提供的镜像,然后试图 conda env create -n clam -f docs/clam. yaml,但是一直显示仓库有问题,无法从 yaml 中创建环境,此外在 ubuntu 虚拟机上利用该 yaml 创建环境的时候需要删除 pytorch=1.3.1=py3.7_cuda10.1.243_cudnn7.6.3_0 ,再手动安装
0988ed6696ecb3408d078d3cc8020ec.png
尝试了换源等各种方法折腾了小半天无果之后询问师兄,师兄回复说“不用从 yaml 创建环境,直接手动装,缺什么装什么就可以了”,然后 conda install 各种库。(顺带注意一下,conda install opencvpip install opencv-python 这两条命令的区别)

Ubuntu 下安装 openslide

装好常见库之后运行,遇到了如下问题:

问题 1

由于选用的 ubuntu20.04 系统,原作者环境是 ubuntu18.04,所以执行的时候遇到了下面两个报错:没有 libffi. so.6 和没有 libiconv. so.2。这是由于 ubuntu 系统升级导致的。
975513130464f326993d3b5537925f7.png

问题 2

重新执行,遇到报错 ImportError: /lib/x86_64-linux-gnu/libstdc++. so.6: version GLIBCXX_3.4.29' not found
解决方案:解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found_AI_Frank的博客-CSDN博客

Ubuntu 下安装 Pytorch

之前在本地已经安装成功很多次 pytorch 了,但是在 AutoDL 的服务器上试了很多次,进程都被 killed 了。
a49e4c99a2421b2dcd9e6d0d883095a.png
然后在 https://download.pytorch.org/whl/torch_stable.html 上手动选取. whl 文件安装,执行程序遇到报错 Failed to load image Python extension: libtorch_cuda_cu.so_牧羊女说的博客-CSDN博客,原因是 torch 和 torchvision 版本不匹配,重新卸载安装后装不上 torchvision 了,最后通过降低 torch 版本,选择另一组对应的 torch 和 torchvision 安装才成功。
后面估计 Killed 原因是选用 AutoDL 的无卡模式开机导致的。

运行代码

继续按照跑通CLAM_DragonJ__的博客-CSDN博客上的说明执行 WSI 切为 patch,然后执行特征提取,此时 progress:0/6 下被 killed,应该是由于无卡模式内存不够导致的。重新带卡开机后即可提取特征。
image.png

此时已经可以成功利用 CLAM 里面的函数实现 Camelyon16 数据集的分割和特征提取。

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值