博主最近浏览到一个网站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. 第十章 Call 和 Ret 指令

    引言 想想程序之间的加载返回过程. call 和 ret 指令都是转移指令,它们都修改 IP,或同时修改 CS 和 IP. call 和 ret 经常被共同用来实现自程序的设计. 这一章,我们讲解 c ...

  2. Flutter学习之路---------第一个Flutter项目

    Flutter是谷歌的移动UI框架,可以快速在iOS和Android上构建高质量的原生用户界面. Flutter可以与现有的代码一起工作.在全世界,Flutter正在被越来越多的开发者和组织使用,并且 ...

  3. 【洛谷p1258】小车问题

    (……吓人,心有余悸) 小车问题[传送门] 洛谷算法标签:: (行吧它居然是个二分[解方程的我抖抖发瑟]) 作为一个写了一页演草纸才解出来的方程,显然我要好好写一写(希望不会半途而废) 思路: 先把其 ...

  4. Vue之vue自动化工具快速搭建单页项目目录

    1 生成项目目录 使用vue自动化工具可以快速搭建单页应用项目目录. 该工具为现代化的前端开发工作流提供了开箱即用的构建配置.只需几分钟即可创建并启动一个带热重载.保存时静态检查以及可用于生产环境的构 ...

  5. csu oj 1341 string and arrays

    Description 有一个N*N的字符矩阵,从上到下依次记为第1行,第2行,……,第N行,从左至右依次记为第1列,第2列,……,第N列. 对于这个矩阵会进行一系列操作,但这些操作只有两类: (1) ...

  6. 洛谷P1075 质因数分解

    题目描述 已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入输出格式 输入格式: 一个正整数n. 输出格式: 一个正整数p,即较大的那个质数. 输入输出样例 输入样例#1: 复制 ...

  7. SQL SERVER版本补丁体系及升级

    首先了解几个定义: RTM : 表示 Release to Manufacturing ,这是产品的原始发布版本,当从光盘或 MSDN 下载的默认版本.不过现在下载 SQL Server 版本时,也有 ...

  8. Python爬虫原理

    前言 简单来说互联网是由一个个站点和网络设备组成的大网,我们通过浏览器访问站点,站点把HTML.JS.CSS代码返回给浏览器,这些代码经过浏览器解析.渲染,将丰富多彩的网页呈现我们眼前: 一.爬虫是什 ...

  9. [LeetCode] 43. Multiply Strings ☆☆☆(字符串相乘)

    转载:43. Multiply Strings 题目描述 就是两个数相乘,输出结果,只不过数字很大很大,都是用 String 存储的.也就是传说中的大数相乘. 解法一 我们就模仿我们在纸上做乘法的过程 ...

  10. python3练习-装饰器

    在廖雪峰的官方网站学习装饰器章节时,初步理解类似与面向切面编程.记录一下自己的课后习题解法. 问题: 请编写一个decorator,能在函数调用的前后打印出'begin call'和'end call ...