前言
首先需要在服务器上搭建运行环境,参见上一篇博客:【服务器上搭建深度学习模型运行环境:ubuntu】
本文主要讲在搭建好运行环境的情况下如何跑开源模型,以Inf-Net: Automatic COVID-19 Lung Infection Segmentation from CT Images这篇论文为例。
以下部分我已在本地下载完毕并上传至服务器文件夹。
过程与问题
-
在执行第二步下载时出现MemoryError问题;
解决方案:pip --no-cache-dir install -r requirements.txt
即可(因为由于pip的缓存机制尝试将希望安装库的整个文件缓存到内存,而在限制缓存大小的环境中如果安装包较大就会出现MemoryError的这个错误。
-
写到这里我才想起来,我并没有在虚拟环境中安装这些库!
解决方案:- 首先激活环境:
source activate SINet
(SINet
为环境名 - 注意要切换到该文件夹路径:
cd /path
(/path
为文件在服务器中的路径 - 然后pip即可。
- 首先激活环境:
-
下载THOP时用
pip install thop
否则会失败。 -
运行时切到对应目录下,
python test.py
即可。
使用XShell连接服务器并运行
因为之前的服务器不带GPU,所以换了个服务器,先设置了代理,再使用XShell连接服务器,所以下面介绍这个过程。
创建虚拟环境时出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url问题:
- 打开编辑文件:
vim ~/.condarc
- 单击
i
键 - 输入要改的东西
- 点击
Esc
按键 - 输入
:wq
保存并退出(:q
不保存直接退出) - 输入
conda clean -i
运行代码
下载好代码和数据集就可以开始运行代码了。
参数问题:
parser.add_argument()
可以增加命令行运行的参数,用法详解见:python之parser.add_argument()用法——命令行选项、参数和子命令解析器
t2.py:
import argparse
if __name__ == "__main__":
parser = argparse.ArgumentParser()
parser.add_argument('--aa', type=str, default = None)
parser.add_argument('--bb', type=int, default=32)
args = parser.parse_args()
if(args.bb==3):
print(f'hello world, args.bb={
args.bb}')
else:
print(f'sorry, args.bb is not 3, but ={
args.bb}')
命令:
python t2.py --aa=15 --bb=3
python t2.py --aa=15 --bb=10