博主最近浏览到一个网站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. 雷林鹏分享:XML 编辑器

    XML 编辑器 如果您希望极认真地学习和使用 XML,那么您一定会从一款专业的 XML 编辑器的使用上受益. XML 是基于文本的 XML 是基于文本的标记语言. 关于 XML 的一件很重要的事情是, ...

  2. LeetCode--002--两数相加(java版)

    给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和 ...

  3. You Don't Know JS: Async & Performance(第2章,Callbacks)

    Chapter 2: Callbacks. Callbacks are by far the most common way that asynchrony in JS programs is exp ...

  4. Vue.js示例:GitHub提交(watch数据,created钩子,filters过滤); 网格组件(功能:1.检索,2排序);

    GitHub提交 codePen:   https://codepen.io/chentianwei411/pen/wEVPZo 注意:频繁看案例,可能会被限制. 重点: 表单输入绑定, 单选按钮的使 ...

  5. Life Winner Bo HDU - 5754

    Bo is a "Life Winner".He likes playing chessboard games with his girlfriend G. The size of ...

  6. First Bad Version leetcode java

    问题描述: You are a product manager and currently leading a team to develop a new product. Unfortunately ...

  7. summary ranges leetcode java

    问题描述: Given a sorted integer array without duplicates, return the summary of its ranges. For example ...

  8. SQLServer2012数据库降级至SQLServer2008R2的方法

      一.  背景 因为对方的客户的服务器安装的数据版本2012,公司开发同事需要客户数据库的备份数据,但是公司数据版本是2008R2的,无法还原. 由于2012备份无法直接还原至2008R2(MSSQ ...

  9. bzoj4176. Lucas的数论 杜教筛

    题意:求\(\sum_{i=1}^n\sum_{j=1}^nd(ij),d是约数个数函数\) 题解:首先有一个结论\(d(ij)=\sum_{x|i}\sum_{y|j}[(i,j)==1]\) 那么 ...

  10. 第二阶段——个人工作总结DAY05

    1.昨天做了什么:将值由一个活动传递到另一个活动. 2.今天打算做什么:打算制作修改密码的界面. 3.遇到的困难:因为是任务是分开的,所需要获取的值是通过另一个活动(不是自己任务)的传递过来的,所以还 ...