从零开始配置linux服务器到跑各种项目

用的是Xshell进行ssh连接。因为突然换了个服务器,所有东西要重新开始,隔了很久很多事情忘得七七八八了,为了避免下次还发生这样的事情,决定记录一下每个过程,以后就不用到处找教程了。

环境配置

Anaconda的安装

主要用到python,所以装一个anaconda。直接下载了Anaconda3的linux-x86-64版本,zip文件传输进服务器中。

不解压直接传的话可能会很耗时,直接传进去再解压就快很多

cd 进传输的根目录,然后用 unzip解压。

解压之后开始安装

chmod +x Anaconda3-2023.03-1-Linux-x86_64.sh #赋权

./Anaconda3-2023.03-1-Linux-x86_64.sh #路径

然后跟着提示输入Enter和yes就好,安装完就是这样。

检查一下有没有安装成功>  <

conda -V

显示出版本号就可以了,如果显示了thank you for installing Anaconda3 ,且也有anaconda3的文件夹,但输入conda命令的时候却发现说conda命令不存在。

方法大概是:

1、切换路径,切到其他文件夹再试一下。

2、重进一下服务器。

安装完后,就开始创建虚拟环境

虚拟环境

创建虚拟环境的命令

conda -n [name] (python=3.7)

想指定python版本的话就输入以下python=版本号就好,不输入的话默认是最高版本好像。

这样就ok了。

激活虚拟环境

linux的激活命令:

source activate [name]

windows:

conda activate [name]

退出虚拟环境:

conda deactivate/conda source deactivate

删除环境:

conda env remove -n [name]

配置各类库文件

创建虚拟环境之后,激活环境,然后就开始我们所需要的库的安装!

pytorch

pytorch我直接用官网的命令进行下载。

官网链接:PyTorch

在这里选择自己想要的,然后复制下面的命令粘贴到命令行即可。

比如我是CUDA11.x那就是选11.8,conda和pip都行

然后跟着提示进行输入即可

完成

安装过程遇到的问题

查看CUDA版本可以输

nvidim-smi

在我输入之后发现没有这个命令。。然后就开始安装nvidim

找到的办法:【精选】四、ubuntu20.04下找不到NVIDIA相关命令_ubuntu nvidia-smi找不到命令-优快云博客

然后报错了

UnboundLocalError: local variable 'version' referenced before assignment

 这个错误输入:

sudo apt install --only-upgrade ubuntu-drivers-common

就好,然后再照着上面的方法进行安装。

安装之后输入nvidim-smi查看CUDA版本

但是我安装之后马上输入又不行!

看了一眼评论说要重启才行,我重新连接ssh发现还是不行。

重启电脑也不行。。

然后就换成了nvcc -V 这个命令

如果报错找不到命令的话按照提示命令安装就好。

安装后遇到了一个报错,大概意思就是无法使用pytorch

检查了一下发现是装成了cpu

卸载重装就好。激活环境后,输入

conda uninstall pytorch

conda uninstall libtorch

卸载后重装,根据cuda环境自己挑,用pip安装

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu115

时间可能会比较久,慢慢等就好了^ ^

这样就好了。

SimpleITK

正常安装库的时候只需要输入pip install 或者conda install xxx就可以了,但是安装SimpleITK的时候一直报错说确实wheel

ERROR: Could not build wheels for SimpleITK, which is required to install pyproject.toml-based projects

 本地下载再上传到ssh服务器再进行安装的话有点过于复杂,而且网址大多是win系统的,所以卡了有一会,后面发现只要输入以下命令就能安装了

conda install -c simpleitk simpleitk(==版本)

ps:

需要指定版本的话输入对应版本即可,python3.7输1.0.0的话会报错

faiss-gpu

项目——Dual-Normalization-main

GitHub链接:zzzqzhou/Dual-Normalization: [CVPR‘22] Generalizable Cross-modality Medical Image Segmentation via Style Augmentation and Dual Normalization (github.com)

这里用的是BRATS 2018数据集,下载方式在GitHub主页里有提到,点链接进去申请就好。

导入main文件和数据

可以直接在服务器上用git语句进行下载,也可以下载好之后上传到服务器。

然后用unzip进行解压就好。

然后开始安装相关库,源码里面没有提供requirement.txt,所以要试一次然后根据缺的库文件进行安装,或者直接看代码进行一个一个安装。用conda install或者pip install就好。

readme.md里有一个这样的框架,在代码里新建一个npz_data的空文件夹就好,然后再建一个npz_data/test和npz_data/train作为训练和测试的划分。

├── [Your BraTS2018 Path]
    ├── npz_data
        ├── train
            ├── t2_ss
                ├── sample1.npz, sample2.npz, xxx
            └── t2_sd
        ├── test
            ├── t1
                ├── test_sample1.npz, test_sample2.npz, xxx
            ├── t1ce
            └── flair

数据预处理

源码里有提供数据预处理的代码,即preprocess_func.py

里面提供了一个modality:

看上面提供的文件大概框架,t1/t1ce/flair都是用来进行测试的,t2用来训练。

关于t1、t2等详细介绍可以看这篇:医学影像分割入门MRI关于T1、T2、Flair等概念_t1和t2和flair信号的区别-优快云博客

使用时只要根据你想要的输出然后分别修改以下内容就好。

这里尝试了一下,预处理的速度感觉有点慢,只用1个数据集进行处理的话还是比较快的,但是后面进行训练的时候还是很慢,大概10min一个epoch,这里的默认参数是epoch=50,所以要用的时间还是很多,因为处理后有很多个sample的npz文件。暂时没找到能更好提高速度的方法。

如果直接用原文件nii.gz格式进行训练,还是很快的。但是不知道没有预处理的话精度会不会降低很多。

我将数据集分成了几个文件夹,方便直接进行预处理。

cd到preprocess_func.py的根目录,输入

python preprocess_func.py

开始预处理,这是处理三个数据的样子

我选的是t2,结束后会生成两个文件夹,每个大概是0-464个sample

这里大概整理了一下preprocess_func.py要用到的库,不一定齐全

nibabel

SimpleITK

scipy

matplotlib

 训练

训练用到的是train_dn_unet.py,Readme.md里有提到各种参数的输入

照着输入就好。

——后面再补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值