美文网首页
惠普(HP)PC 主机 开发环境搭建

惠普(HP)PC 主机 开发环境搭建

作者: _49_ | 来源:发表于2019-04-10 15:50 被阅读0次

    参考:


    主机购买:https://item.jd.com/7338325.html

    1. 安装 Ubuntu 16.04

    • 修改 BIOS:HP 电脑 F10 进BIOS,“禁用” 安全引导模式,“启用” 旧引导模式。
    • U盘启动:开机 按 F9,根据提示选择 Ubuntu 16.04 安装U盘启动。
    • 系统分区:根据实际PC存储磁盘情况进行分区: \boot, , \srv, swap, for bios 等
    • 语言选择: English

    1.1 apt-get 安装

    # 更新安装包
    $ sudo apt-get update
    # 安装 ssh-server
    $ sudo apt-get install openssh-server
    # 支持 exFat 移动硬盘
    $ sudo apt-get install exfat-utils
    # 安装pip3
    $ sudo apt-get install python3-pip
    # 安装 ffmpeg
    $ sudo apt-get install ffmpeg
    # 安装 cmake
    $ sudo apt-get install cmake
    # 安装 git 
    $ sudo apt-get install git
    # 安装 JRE,sshpass (ssh 隧道用)
    $ sudo apt-get install openjdk-8-jre
    $ sudo apt-get install sshpass
    

    1.2 安装 NVIDIA 显卡驱动

    关闭图形界面再安装驱动,命令为:

    $ sudo service lightdm stop
    #或者
    $ sudo /etc/init.d/lightdm stop
    

    其他显卡驱动相关,可参考:https://www.jianshu.com/p/a2ed3764e2b8
    显卡驱动冲突可能造成 循环登陆问题,解决办法参考:https://www.jianshu.com/p/a2ed3764e2b8

    检测需要的显卡驱动版本(CentOS)

    # 安装gcc
    $ yum -y install gcc-c++
    # 添加 EIRepo 源
    $ sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    $ sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    # 安装显卡驱动检测
    $ sudo yum install nvidia-detect
    # 运行
    $ nvidia-detect -v
      Probing for supported NVIDIA devices...
      [10de:1b06] NVIDIA Corporation GP102 [GeForce GTX 1080 Ti]
      This device requires the current 410.78 NVIDIA driver kmod-nvidia
    

    这里提示你需要的显卡驱动版本410.78。

    Ubuntu 系统,尝试过安装 yum,再装nvidia-detect,但是失败了。
    参考:https://blog.csdn.net/fox_wayen/article/details/78544449
    ubuntu 安装yum需要特别谨慎,容易造成系统冲突

    驱动下载

    [Geforce官网]
    [NVIDIA 官网]


    安装对应内核版本的kernel-devel

    安装驱动需要制定你当前linux内核的对应的kernel-devel。如果找不到,显卡驱动会报错。

    # 1. 查看当前内核版本
    $ uname -r
    # 2. 查看已经安装的内核版本
    $ uname -a ; rpm -qa kernel\* | sort
    # 3. 安装当前内核版本
    $ sudo yum install "kernel-devel-$(uname -r)"
    # 注意:如果报错,说找不到,例如: "kernel-devel-3.10.0-957.1.3.el7.x86_64"  
    #      你需要自己去搜索这个rpm包,下载到当前目录,然后再安装。
    #      完成后在/usr/src/kernels/下生成对应版本的源码
    $ ls -al /usr/src/kernels
      drwxr-xr-x 22 root root 4096 Dec 26 18:55 3.10.0-957.1.3.el7.x86_64
    

    安装显卡驱动

    $ wget https://us.download.nvidia.com/XFree86/Linux-x86_64/410.78/NVIDIA-Linux-x86_64-410.78.run
    $ bash NVIDIA-Linux-x86_64-410.78.run --kernel-source-path=/usr/src/kernels/3.10.0-957.1.3.el7.x86_64
    

    检查显卡驱动是否安装成功

    $ nvidia-smi
    Thu Dec 27 18:42:11 2018       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 410.78       Driver Version: 410.78       CUDA Version: 10.0     |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GTX 108...  Off  | 00000000:2D:00.0 Off |                  N/A |
    | 17%   29C    P0    58W / 250W |      0MiB / 11178MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    

    1.3 安装CUDA

    请在不启动图形界面的情况下,安装CUDA以及NVIDIA显卡驱动。
    退出和启动图形界面,参考:https://www.jianshu.com/p/a2ed3764e2b8

    下载CUDA

    注:Tensorflow 1.7 需要用CUDA 9.0 版本。
    https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run
    https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/1/cuda_9.0.176.1_linux-run
    https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/2/cuda_9.0.176.2_linux-run
    https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/3/cuda_9.0.176.3_linux-run
    https://developer.nvidia.com/compute/cuda/9.0/Prod/patches/4/cuda_9.0.176.4_linux-run

    [选择其他需要的 CUDA 版本下载]
    选择 runfile 安装CUDA:
    我起初选择rpm下载安装,失败了。报的错误是显卡驱动冲突(机器之前有人装过NVIDIA显卡驱动,有版本冲突问题)。我后来用 runfile,成功了。特别注意:runfile可以干掉原先的NVIDIA显卡驱动。

    $ sudo bash cuda_9.0.176_384.81_linux.run
    

    注意:安装过程中,选择不重新安装显卡驱动。

    CUDA 环境变量配置

    PATH=$PATH:$HOME/bin:/usr/local/cuda/bin
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/
    CUDA_HOME=/usr/local/cuda
    export PATH
    export LD_LIBRARY_PATH
    export CUDA_HOME
    

    检查cuda是否可用

    $ cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery
    $ sudo make
    $ ./deviceQuery
    ./deviceQuery Starting...
    
     CUDA Device Query (Runtime API) version (CUDART static linking)
    
    Detected 8 CUDA Capable device(s)
    
    Device 0: "GeForce GTX 1080 Ti"
      CUDA Driver Version / Runtime Version          10.0 / 9.0
      CUDA Capability Major/Minor version number:    6.1
      Total amount of global memory:                 11178 ...
    ...
    ...
    > Peer access from GeForce GTX 1080 Ti (GPU7) -> GeForce GTX 1080 Ti (GPU3) : Yes
    > Peer access from GeForce GTX 1080 Ti (GPU7) -> GeForce GTX 1080 Ti (GPU4) : Yes
    > Peer access from GeForce GTX 1080 Ti (GPU7) -> GeForce GTX 1080 Ti (GPU5) : Yes
    > Peer access from GeForce GTX 1080 Ti (GPU7) -> GeForce GTX 1080 Ti (GPU6) : Yes
    
    deviceQuery, CUDA Driver = CUDART, CUDA Driver Version = 10.0, CUDA Runtime Version = 9.0, NumDevs = 8
    Result = PASS
    

    查看 nvcc 版本

    $ nvcc --version
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2017 NVIDIA Corporation
    Built on Fri_Sep__1_21:08:03_CDT_2017
    Cuda compilation tools, release 9.0, V9.0.176
    

    1.4 安装CUDNN

    Tensorflow 1.7 要求 CUDA9.0 要求 CUDNN 7.1
    注:Nvidia 会要求注册登陆才能下载,我用我的qq邮箱注册登陆的。
    我有过CUDNN官网登陆不上的经历,下载不易,建议保存。

    [CUDNN 官网] 下载前需要先注册
    下载得到:cudnn-9.0-linux-x64-v7.1.tgz
    直接解压到 /usr/local/cuda
    主要是两个目录,include 和 lib64

    $ cd /usr/local
    $ sudo tar -xvf ~/Download/cudnn-9.0-linux-x64-v7.1.tgz
    

    1.5 安装 ffmpeg

    优先使用 $ sudo apt-get install ffmpeg
    手动安装 真是一个比较痛苦的过程,我就不写了
    请参考:https://blog.csdn.net/u010782875/article/details/80679510

    安装包下载地址:https://download.csdn.net/download/u010782875/10476579

    ffmpeg-4.0.2.tar.bz2
    lame-3.100.tar.gz
    last_x264.tar.bz2
    libdca-0.0.6.tar.bz2
    libogg-1.3.3.tar.gz
    libvorbis-1.3.3.tar.gz
    nasm-2.13.03.tar.xz
    xvidcore-1.3.5.tar.gz

    装 ffmpeg 参数

    $ ./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-libmp3lame --enable-gpl --enable-version3 --enable-nonfree --enable-pthreads --enable-postproc --enable-ffserver --enable-ffplay --enable-libx264
    $ make
    $ make install

    配置环境变量:

    export PATH=/usr/local/ffmpeg/bin:$PATH

    配置动态链接库

    sudo vi /etc/ld.so.conf
    ...
    # add
    /usr/local/ffmpeg/lib

    2. 安装开发环境

    2.1. 搭建python 虚拟环境 virtualenv

    参考文章:[python三大神器之virtualenv]
    虚拟环境有很多好处,例如:
    * 想用python3,可以单独建一个python3的环境。不用每次 python、pip 都非要跟着一个小尾巴 3。
    * pip install时,省去很多sudo。
    建议:root账号建立所有虚拟环境,统一放在/env

    $ sudo su
    $ pip3 install virtualenv
    $ mkdir /env
    $ cd /env
    $ virtualenv RetailX 
    # $ virtualenv -p /anaconda3/bin/python RetailX
    
    # 启动虚拟环境
    $ source /env/RetailX/bin/activate
    
    # 取消虚拟环境
    $ deactivate
    

    添加 CUDA 环境变量配置

    $ vi /env/RetailX/bin/activate
    ...
    # 添加 CUDA 环境变量配置
    PATH=$PATH:$HOME/bin:/usr/local/cuda/bin
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/:/usr/local/tensorrt/lib/
    CUDA_HOME=/usr/local/cuda
    export PATH
    export LD_LIBRARY_PATH
    export CUDA_HOME
    

    设置自动启动虚拟环境

    $ vi ~/.bashrc
    # Add
    source /env/RetailX/bin/activate
    

    2.2 pip 换源

    新版ubuntu要求使用https源,要注意。
    清华:https://pypi.tuna.tsinghua.edu.cn/simple
    阿里云:http://mirrors.aliyun.com/pypi/simple/
    中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
    华中理工大学:http://pypi.hustunique.com/
    山东理工大学:http://pypi.sdutlinux.org/
    豆瓣:http://pypi.douban.com/simple/

    参考:https://www.cnblogs.com/microman/p/6107879.html

    永久修改,一劳永逸:
    修改 ~/.pip/pip.conf

    [global]
    index-url = https://pypi.tuna.tsinghua.edu.cn/simple
    [install]
    trusted-host=mirrors.aliyun.com
    

    2.3 虚拟环境下 pip 安装python开发环境

    重要:虚拟环境 pip 安装,必须先 sudo su 到root下,不能使用sudo pip。换源也是给root换源(/root/.bashrc)。

    (RetailX) pi@cue-110077:~$ sudo su
    (RetailX) root@cue-110077:/home/pi# pip install XXXX 
    

    安装 TensorFlow 1.7

    $ pip install tensorflow-gpu==1.7
    
    检测是否安装成功
    $ python
    >>> import tensorflow as tf
    >>> tf.__version__
    '1.7.0'
    >>> tf.__path__
    ['/env/RetailX/lib/python3.6/site-packages/tensorflow']
    # 不报错
    

    安装OpenCV

    $ pip install opencv-python
    

    安装其他

    pip install minpy
    pip install pillow
    pip install keras -U --pre
    pip install filterpy
    pip install progressbar
    pip install urllib3
    pip install pycuda
    pip install onnx
    pip install crypto
    pip install libsm6
    pip install kafka-python
    pip install opencv-python
    

    3 其他安装

    3.1 Dlib (GPU版)

    记得要在自己的 虚拟 python 环境下安装。
    下载DLIB:http://dlib.net/files/dlib-19.16.tar.bz2

    $ wget http://dlib.net/files/dlib-19.16.tar.bz2
    $ tar xvf dlib-19.16.tar.bz2
    $ cd dlib-19.16
    $ apt-get install cmake
    $ python setup.py install  --yes DLIB_USE_CUDA
    

    3.2 SRS 搭建

    #very RTMP
    # @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP
    # @see full.conf for detail config.
    listen              1935;
    max_connections     1000;
    srs_log_tank        file;
    srs_log_file        ./objs/srs.log;
    http_api {
        enabled         on;
        listen          1985;
    }
    http_server {
        enabled         on;
        listen          80;
        dir             ./objs/nginx/html;
    }
    stats {
        network         0;
        disk            sda sdb xvda xvdb;
    }
    vhost __defaultVhost__ {
         min_latency     on;
         mr {
              enabled     off;
              #latency     350;
         }
         mw_latency      100;
         #enabled         on;
         gop_cache       off;
         queue_length    10;
         http_remux {
            enabled     on;
            mount [vhost]/[app]/[stream].flv;
            hstrs   on;
         }
    }
    
    • 运行 SRS 服务
    $ cd /usr/local/srs/
    $ ./objs/srs -c conf/rtmp.conf
    
    • PC 启动自动运行
    $ vi /etc/rc.local
    # Add
    cd /usr/local/srs/
    ./objs/srs -c conf/rtmp.conf
    

    3.3 RetailX-Agent 搭建

    $ sudo apt-get install openjdk-8-jre
    $ sudo apt-get install sshpass
    
    • 安装 RetailX-Agent
    $ sudo su
    $ cp -r /home/pi/Downloads/camagent/ /srv/
    $ cp -r /home/pi/Downloads/agstream/ /srv/
    
    • RetailX-Agent 自动升级程序
    # 启动自动升级
    $ sudo bash /srv/camagent/autoupdate.sh
    
    • 启动 RetailX-Agent
    $ sudo bash /srv/camagent/autoupdate.sh
    
    • 定时任务
    # 定时任务,启动监控程序。
    $ vi /var/spool/cron/crontabs/root
    # 添加 监控程序 
    */2 * * * * /usr/bin/python /srv/camagent/daemon.py >> /srv/camagent/logs/daemon.log
    */2 * * * * /usr/bin/python /srv/camagent/autoupdate.py >> /srv/camagent/logs/autoupdate.log
    # 自动删除日志
    20 */1 * * * find /srv/camagent/logs/ -type f -mtime +15 | xargs rm -rf
    
    # 查看定时任务
    $  ps -ef | grep java
    root      1380     1  0 4月16 ?       00:00:00 /usr/bin/sudo java -jar /srv/camagent/camagent-1.2.2.jar
    root      1381     1  0 4月16 ?       00:00:00 /usr/bin/sudo java -jar /srv/camagent/autoupdatejar-1.0.0.jar
    root      1382  1380  4 4月16 ?       00:56:16 java -jar /srv/camagent/camagent-1.2.2.jar
    root      1383  1381  0 4月16 ?       00:01:36 java -jar /srv/camagent/autoupdatejar-1.0.0.jar
    

    3.4 TensorRT 安装

    • 安装TensorRT 到 /usr/local/tensorrt 目录下
    $ cp -r ~/Download/tensorrt/ /usr/local/
    $ pip install /usr/local/tensorrt/python/tensorrt-5.0.2.6-py2.py3-none-any.whl
    
    • 增加环境变量
    $ vi /env/RetailX/bin/activate
    # add
    PATH=$PATH:$HOME/bin:/usr/local/cuda/bin
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64/:/usr/local/tensorrt/lib/
    CUDA_HOME=/usr/local/cuda
    export PATH
    export LD_LIBRARY_PATH
    export CUDA_HOME
    

    3.5 Anaconda配置多个Python环境

    参考:https://www.jianshu.com/p/7b4c895a8ce5
    TensorRT需要python3.5,我们用Anaconda搭建多python版本的环境。

    4 Linux 系统迁移

    相关文章

      网友评论

          本文标题:惠普(HP)PC 主机 开发环境搭建

          本文链接:https://www.haomeiwen.com/subject/fzuniqtx.html