4.23

Python环境

  • 安装Miniconda(推荐):

    bash
    复制
    wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
    bash Miniconda3-latest-Linux-x86_64.sh
    source ~/.bashrc
  • 创建虚拟环境

    bash
    复制
    conda create -n columbus python=3.8
    conda activate columbus

GPU支持(可选)

  • 安装NVIDIA驱动

    • 宿主机启用GPU直通(需虚拟机支持PCI Passthrough)。

    • 在虚拟机内安装驱动(参考NVIDIA官方文档)。

  • 安装CUDA/cuDNN

    bash
    复制
    # 从NVIDIA官网下载CUDA Toolkit for Linux
    sudo sh cuda_11.6.2_510.47.03_linux.run

2. 依赖库安装

关键库

bash
复制
# 图像处理
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(容器化部署)

    bash
    复制
    sudo yum install -y docker
    sudo systemctl start docker
    sudo systemctl enable docker
    sudo usermod -aG docker $USER  # 当前用户加入docker组

3. 模块实现调整

Linux特有配置

  • Tesseract路径设置

    python
    复制
    # 在Python代码中指定Tesseract路径(CentOS默认路径)
    pytesseract.pytesseract.tesseract_cmd = '/usr/bin/tesseract'
  • 文件权限管理

    • 确保虚拟机共享目录权限正确(如使用VirtualBox共享文件夹时需挂载为vboxsf)。

多线程优化

  • 使用gunicorn(若部署为Web服务):

    bash
    复制
    pip install gunicorn
    gunicorn -w 4 -b 0.0.0.0:5000 app:app  # Flask示例

4. 部署方案

方案一:直接部署

  • 打包为可执行文件(不推荐,Linux下兼容性差):

    bash
    复制
    pip install pyinstaller
    pyinstaller --onefile main.py

方案二:Docker容器化(推荐)

  1. 编写Dockerfile:

    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"]
  2. 构建并运行:

    bash
    复制
    docker build -t columbus .
    docker run --gpus all -it columbus  # 启用GPU支持

5. 性能优化

  • 资源分配

    • 为虚拟机分配至少4核CPU、8GB内存(深度学习需更高配置)。

    • 若使用GPU直通,确保宿主机驱动和虚拟机配置正确。

  • 内核参数调整

    bash
    复制
    # 提高文件打开数限制
    echo "* soft nofile 65535" | sudo tee -a /etc/security/limits.conf

6. 常见问题解决

  • SELinux干扰

    bash
    复制
    sudo setenforce 0  # 临时关闭
    # 或编辑/etc/selinux/config设置为disabled(需重启)
  • 依赖冲突

    • 使用conda严格管理环境,避免混用pipyum安装的库。


7. 验证与监控

  • GPU状态检查

    bash
    复制
    nvidia-smi  # 确认GPU驱动和CUDA可用
  • 资源监控

    bash
    复制
    htop        # 查看CPU/内存占用
    watch -n 1 "df -h"  # 监控磁盘空间

在CentOS7虚拟机中部署需注意:

  1. 依赖安装:优先使用yumconda管理Linux特有依赖。

  2. 权限与安全:处理SELinux和文件权限问题。

  3. GPU支持:需宿主机和虚拟机双重配置。

  4. 容器化优势:推荐Docker封装环境,避免依赖污染。

若虚拟机性能不足,可考虑:

  • 使用轻量化模型(如MobileNetV3)。

  • 将计算密集型任务(如模型训练)迁移到云服务器(如AWS EC2)。

  •  
 最后我不知道怎么关闭 windows下的摄像头,虚拟机就连接上了
posted @ 2025-05-20 22:54  欧吼吼  阅读(17)  评论(0)    收藏  举报