CPU快速搭建深度学习后端教程

本教程指导在无GPU的CPU服务器上使用Flask集成mmdetection深度学习框架,详细讲解了虚拟环境、mmdetection配置、Flask应用及uwsgi、Nginx的部署过程,提供了一种生产环境的部署方案。
摘要由CSDN通过智能技术生成


前言

深度学习项目想要落地不可避免得将模型集成到后端当中,一般普通的后端服务器并没有GPU,更多的还是希望使用CPU来做预测(当然训练还是建议用GPU),本博客提供一个通用的操作方案,具体搭建可以根据你的需求调整。


后端


安装flask框架

sudo pip install virtualenv #安装virtualenv
virtualenv------用来建立一个虚拟的python环境,一个专属于项目的python环境

mkdir flask_uwsgi #创建部署flask的文件夹

cd flask_uwsgi cd到文件夹

virtualenv -p /usr/bin/python3 env #创建虚拟环境

source env/bin/activate #激活虚拟环境

pip install flask

deactivate #退出虚拟环境

用虚拟环境的好处就是每个项目可以保持自己的一套版本。


配置mmdetection


预备工作

配置之前,强烈建议,先将linux默认的python就是2版本改成3,(不过现在好像最新的默认是3了?),这个就要将之前默认的python软链接删除,然后再链接上python3。

本服务器Linux的软链接存放位置是/usr/bin

rm /usr/bin/python 删除旧的软链接
ln -s /usr/bin/python3 /usr/bin/python 建立新的软链接
可能这个文件路径并不一致,要看你自己的服务器具体路径。

包括pip 也换成默认 pip3。
可以将软链接换掉,也可以将pip删除,强制重新安装。
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 查看信息
python3 get-pip.py --force-reinstall 强制重新安装

ln -s /usr/bin/pip3 /usr/bin/pip 设置pip默认打开pip3
位置也可能在/usr/local/bin下

为什么要做以上工作呢?因为后面配置一堆mmdetection需要的包时,很多在安装过程中内部触发python或者pip命令,导致版本不匹配(如果还是默认的py2)。因为外部是使用python3 pip3。


需要安装的包

  • 安装torch、torchvision、numpy

  • 安装matplotlib

  • 安装cython

  • 安装mmcv (会因为下载opencv-python巨卡,这个问题可以通过升级pip3解决,pip3 install --upgrade pip)
    这里其实应该安装mmcv-full

  • 安装pycocotools, 如果不安装测试的时候会报错
    git clone https://github.com/cocodataset/cocoapi.git 下载
    (这里和后面mmd的编译有关)
    然后到cocoapi/PythonAPI目录下执行make命令
    再执行python3 setup.py install --user

pip list可以查看已经安装的各个包的版本


安装mmdetection

下载mmdetection源码

git clone https://github.com/open-mmlab/mmdetection.git

下载依赖包和编译

cd mmdetection
pip install -r requirements/build.txt
pip3 install -v -e .

具体安装要求mmd有提供一个文件可以参考,给复制过来了:

ARG PYTORCH="1.6.0"
ARG CUDA="10.1"
ARG CUDNN="7"

FROM pytorch/pytorch:${
   PYTORCH}-cuda${
   CUDA}-cudnn${
   CUDNN}-devel

ENV TORCH_CUDA_ARCH_LIST="6.0 6.1 7.0+PTX"
ENV TORCH_NVCC_FLAGS="-Xfatbin -compress-all"
ENV CMAKE_PREFIX_PATH="$(dirname $(which conda))/../"

RUN apt-get update && apt-get install -y ffmpeg libsm6 libxext6 git ninja-build libglib2.0-0 libsm6 libxrender-dev libxext6 \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

# Install MMCV
RUN pip install mmcv-full==latest+torch1.6.0+cu101 -f https://openmmlab.oss-accelerate.aliyuncs.com/mmcv/dist/index.html

# Install MMDetection
RUN conda clean --all
RUN git clone https://gith
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值