博主最近浏览到一个网站PyImageSearch,看到里面的项目还不错,就顺手配置一下环境,试着去跑下里面的模型。

  首先,需要配置好需要运行模型的环境,其实主要的步骤分为以下三步:

  1. 安装Ubuntu系统的独立依赖包

  2. 创建你的python3环境(因为opencv3.3对深度学习支持比较好,需要配置升级到python3版本)

  这里给出一个在Ubuntu16.04下python2.7版本升级更新到python3.5版本的教程,可以参考:http://www.cnblogs.com/wmr95/p/7637077.html

  3. 编译并安装OpenCV

  下面给出具体的安装配置教程:

  1.下面所有的步骤是为了在安装OpenCV准备必要的系统依赖包,都在终端ternimal上执行,打开ternimal,输入下面两个命令:

  $ sudo apt-get update

  $ sudo apt-get upgrade

   

  对于图像,视频I/O,优化以及创建可视化,我们还需要安装一些开发工具包:

  $ sudo apt-get install build-essential cmake git unzip pkg-config

  $ sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev

  $ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev  

  $ sudo apt-get install libxvidcore-dev libx264-dev

  $ sudo apt-get install libgtk-3-dev

  $ sudo apt-get install libhdf5-serial-dev graphviz  

  $ sudo apt-get install libopenblas-dev libatlas-base-dev gfortran

  $ sudo apt-get install python-tk python3-tk python-imaging-tk

  我们还需要安装Python开发头文件和库函数(针对Python3.5版本)

  $ sudo apt-get install python3-dev

  2. 创建你的python环境,下面给出具体的步骤:

  1)安装pip,一个python包的管理器:

   $ wget https://bootstrap.pypa.io/get-pip.py

   $ sudo python3 get-pip.py

  2)接着安装numpy,一个python的数值计算包:

  $ sudo pip3 install numpy

  3.编译和安装OpenCV,这一步是最关键的,照样给出详细过程:

  1)首先下载OpenCV,需要下载opencv和pencv_contrib到你的本地目录下:

  $ cd ~

  $ wget -O opencv.zip https://github.com/Itseez/opencv/archive/3.3.0.zip

  $ wget -O opencv_contrib.zip https://github.com/Itseez/opencv_contrib/archive/3.3.0.zip

  接着解压这些文件:

  $ unzip opencv.zip

  $ unzip opencv_contrib.zip

  2)执行CMake,需要现在opencv-3.3.0目录下新建一个build文件夹

  $ cd ~/opencv-3.3.0/

  $ mkdir build

  $ cd build

  $ cmake -D CMAKE_BUILD_TYPE=RELEASE \

        -D CMAKE_INSTALL_PREFIX=/usr/local \
           -D WITH_CUDA=OFF \
           -D INSTALL_PYTHON_EXAMPLES=ON \
        -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.0/modules \
        -D BUILD_EXAMPLES=ON ..
 
  注:对于CMake来说,必须要确保你的opencv_contrib和你的opencv版本都是3.3.0版本的,这样才能执行成功。
 
  运行成功后截图如下所示:
  
  
  
  3)编译OpenCV,现在准备好了可以对opencv进行编译,输入命令:
  
  $ make -j4
 
  接着安装Opencv3.3,输入命令:
 
  $ sudo make install
 
  $ sudo ldconfig
  
  运行成功后的效果如截图所示:
  
  
  
  再将opencv连接到你的环境中,输入命令:
  
  cd /usr/local/lib/python3.5/dist-packages/       (博主这里是cd/usr/local/lib/python3.5/dist-packages/ )
 
  $ ln -s /usr/local/lib/python3.5/site-packages/cv2.cpython-35m-x86_64-linux-gnu.so cv2.so
 
  $ cd ~
 
  4)最后可以测试下你的opencv3.3安装好了没有,输入命令(如下就说明安装配置成功啦):
 
  $ python

  >>> import cv2
  >>> cv2.__version__
  '3.3.0'

   

  哈哈,最后感谢伟大的Adrian Rosebrock.

  附上原文链接:https://www.pyimagesearch.com/2017/09/25/configuring-ubuntu-for-deep-learning-with-python/

 
  

版权声明:

作者:王老头
出处:http://www.cnblogs.com/wmr95/p/7638985.html
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,并在文章页面明显位置给出原文链接,否则,作者将保留追究法律责任的权利。

 
 
 

  

Configuring Ubuntu for deep learning with Python in Ubuntu16.04的更多相关文章

  1. Machine and Deep Learning with Python

    Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstiti ...

  2. Conclusions about Deep Learning with Python

     Conclusions about Deep Learning with Python  Last night, I start to learn the python for deep learn ...

  3. Deep learning with Python 学习笔记(11)

    总结 机器学习(machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型(model)].将数据转换为程序的这个过程叫作学习(learning) 深 ...

  4. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  5. Deep learning with Python 学习笔记(9)

    神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推 ...

  6. Deep learning with Python 学习笔记(8)

    Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Ker ...

  7. Deep learning with Python 学习笔记(7)

    介绍一维卷积神经网络 卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据.这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效. ...

  8. Deep learning with Python 学习笔记(6)

    本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息. ...

  9. Deep learning with Python 学习笔记(5)

    本节讲深度学习用于文本和序列 用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一 ...

随机推荐

  1. OnSen UI结合AngularJs打造”美团"APP首页 --Hybrid Ap

    1.页面效果图: 演示链接地址:http://www.nxl123.cn/bokeyuan/meiTuanDemo_home/ 2.核心代码 home.html: <ons-page id=&q ...

  2. Weighted Channel Dropout for Regularization of Deep Convolutional Neural Network

    这是AAAI2019的一篇论文,主要是为了解决小数据集的过拟合问题,使用了针对于卷积层的Dropout的方法. 论文的要点记录于下: 1.在训练过程中对于卷积层的channels进行droipout, ...

  3. RFBnet论文笔记

    论文:Receptive Field Block Net for Accurate and Fast Object Detection 论文链接:https://arxiv.org/abs/1711. ...

  4. php 字符编码转换

    <?php/** * Created by PhpStorm. * User: yxp * Date: 2016/11/8 * Time: 16:47 */ /** * 将非GBK字符集的编码转 ...

  5. 牛客练习赛32-D-MST+tarjin割边

    链接:https://ac.nowcoder.com/acm/contest/272/D来源:牛客网 题目描述 小p和他的朋友约定好去游乐场游玩,但是他们到了游乐场后却互相找不到对方了. 游乐场可以看 ...

  6. hdu-4738-tarjin/割边

    http://acm.hdu.edu.cn/showproblem.php?pid=4738 求得是边权最小的割边,和求割点类似用tarjin,但要注意的是不能走从父亲过来的那一条边,在割点里那样理解 ...

  7. 使用formData上传文件,ajax上传

    项目是vue项目,直接贴部分代码了: html: <input type="file" name="fileTable" @change="ch ...

  8. js修改样式

    添加.删除class: $("#id").addClass("someClass"); $("#id").removeClass(" ...

  9. Vue + webpack 项目配置化、接口请求统一管理

    准备工作 需求由来: 当项目越来越大的时候提高项目运行编译速度.压缩代码体积.项目维护.bug修复......等等成为不得不考虑而且不得不做的问题.  又或者后面其他同事接手你的模块,或者改你的bug ...

  10. .NET面试问题二

    1.MVC中如何保持Session? 可以使用tempdata,viewdata,viewbag三种方式 tempdata:不同的控制器类或者动作间转换时保持数据,页面转向时也保持数据,是一个内部的S ...