4.23
Python环境
-
安装Miniconda(推荐):
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh source ~/.bashrc -
创建虚拟环境:
conda create -n columbus python=3.8 conda activate columbus
GPU支持(可选)
-
安装NVIDIA驱动:
-
宿主机启用GPU直通(需虚拟机支持PCI Passthrough)。
-
在虚拟机内安装驱动(参考NVIDIA官方文档)。
-
-
安装CUDA/cuDNN:
# 从NVIDIA官网下载CUDA Toolkit for Linux sudo sh cuda_11.6.2_510.47.03_linux.run
2. 依赖库安装
关键库
# 图像处理
conda install -c conda-forge opencv pillow
# OCR识别
sudo yum install -y tesseract tesseract-langpack-chi_sim # 中文支持
pip install pytesseract
# 深度学习框架(PyTorch为例)
conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch
# 数据挖掘与计算
conda install pandas scikit-learn scipy numpy
其他工具
-
Docker(容器化部署):
sudo yum install -y docker sudo systemctl start docker sudo systemctl enable docker sudo usermod -aG docker $USER # 当前用户加入docker组
3. 模块实现调整
Linux特有配置
-
Tesseract路径设置:
# 在Python代码中指定Tesseract路径(CentOS默认路径) pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract' -
文件权限管理:
-
确保虚拟机共享目录权限正确(如使用VirtualBox共享文件夹时需挂载为
vboxsf)。
-
多线程优化
-
使用
gunicorn(若部署为Web服务):pip install gunicorn gunicorn -w 4 -b 0.0.0.0:5000 app:app # Flask示例
4. 部署方案
方案一:直接部署
-
打包为可执行文件(不推荐,Linux下兼容性差):
pip install pyinstaller pyinstaller --onefile main.py
方案二:Docker容器化(推荐)
-
编写Dockerfile:
FROM pytorch/pytorch:1.12.1-cuda11.6-cudnn8-runtime RUN apt-get update && apt-get install -y tesseract-ocr tesseract-ocr-chi-sim COPY requirements.txt . RUN pip install -r requirements.txt COPY . /app WORKDIR /app CMD ["python", "main.py"]
-
构建并运行:
docker build -t columbus . docker run --gpus all -it columbus # 启用GPU支持
5. 性能优化
-
资源分配:
-
为虚拟机分配至少4核CPU、8GB内存(深度学习需更高配置)。
-
若使用GPU直通,确保宿主机驱动和虚拟机配置正确。
-
-
内核参数调整:
# 提高文件打开数限制 echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf
6. 常见问题解决
-
SELinux干扰:
sudo setenforce 0 # 临时关闭 # 或编辑/etc/selinux/config设置为disabled(需重启) -
依赖冲突:
-
使用
conda严格管理环境,避免混用pip和yum安装的库。
-
7. 验证与监控
-
GPU状态检查:
nvidia-smi # 确认GPU驱动和CUDA可用 -
资源监控:
htop # 查看CPU/内存占用 watch -n 1 "df -h" # 监控磁盘空间
在CentOS7虚拟机中部署需注意:
-
依赖安装:优先使用
yum和conda管理Linux特有依赖。 -
权限与安全:处理SELinux和文件权限问题。
-
GPU支持:需宿主机和虚拟机双重配置。
-
容器化优势:推荐Docker封装环境,避免依赖污染。
若虚拟机性能不足,可考虑:
-
使用轻量化模型(如MobileNetV3)。
-
将计算密集型任务(如模型训练)迁移到云服务器(如AWS EC2)。
最后我不知道怎么关闭 windows下的摄像头,虚拟机就连接上了
浙公网安备 33010602011771号