博主最近浏览到一个网站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. 使用jquery-form进行文件上传

    jquery.form.js是一个form插件,支持ajax表单提交和ajax上传. 使用时,需要在代码中添加如下: <script src="http://malsup.github ...

  2. 说说secondarynamenode作用和配置

    说说secondarynamenode作用 http://my.oschina.net/u/1464779/blog/289895 说说secondarynamenode的配置 hadoop2.X如何 ...

  3. android -------- 解决NDK开发中的 Method 'NewStringUTF' could not be resolved

    创建NDK项目时, .cpp文件中出现错误, Method 'NewStringUTF' could not be resolved 如图: 网上看了很多解决方式 项目右键->属性->c/ ...

  4. Spring Batch 批量处理策略

    为了帮助设计和实现批量处理系统,基本的批量应用是通过块和模式来构建的,同时也应该能够为程序开发人员和设计人员提供结构的样例和基础的批量处理程序. 当你开始设计一个批量作业任务的时候,商业逻辑应该被拆分 ...

  5. v-for

    在实际的项目中,我们很多时候会碰到将JSON数据中的数组或对象渲染出列表之类的元素.在Vue中,提供了一个 v-for的指令,可以渲染列表. 组件和v-for 在自定义组件里,你可以像任何普通元素一样 ...

  6. appium自动化测试(四)

    一. 获取webview的html页面 方法一: 1. 获取webview中对应的html页面 谷歌浏览器中输入地址:chrome://inspect(第一次使用要FQ) 前提:手机开启USB调试模式 ...

  7. HDu4794 斐波那契循环节

    题意:Arnold变换把矩阵(x,y)变成((x+y)%n,(x+2*y)%n),问最小循环节 题解:仔细算前几项能看出是斐波那契数论modn,然后套个斐波那契循环节板子即可 //#pragma GC ...

  8. Activiti搭建

    Activiti搭建 前期准备: JDK+Eclipse+Tomcat+Maven的安装与配置 参考:http://blog.csdn.net/zhshulin/article/details/307 ...

  9. stl中常用的排序算法

    #include"iostream" #include"vector" using namespace std; #include"string&qu ...

  10. introsort(内省排序)

    本文转载于:https://blog.csdn.net/sky453589103/article/details/51116264 快速排序是一种很快的算法,它平均的时间复杂度WieO(nlgn), ...