博主最近浏览到一个网站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 EasyUI 窗口 - 创建简单窗口

    jQuery EasyUI 窗口 - 创建简单窗口 创建一个窗口(window)非常简单,我们创建一个 DIV 标记: Some Content. 现在运行测试页面,您会看见一个窗口(window)显 ...

  2. ssd制作数据和训练

    1.在/data/VOCdevkit下建立自己的数据集名称如MyDataSet,在MyDataSet目录下需包含Annotations.ImageSets.JPEGImages三个文件夹: 2.Ima ...

  3. wordpress +window 走起~

    一.安装XAMPP   1 百度搜索xampp后下载安装到D盘(安装时按默认勾选安装即可) 2 安装完后,点击Start来启动Apache和MySQL这两个服务 3 如果Apache服务不能启动,多数 ...

  4. mysql使用sql语句根据经纬度计算距离排序

    CREATE TABLE `locationpoint` ( `id` int(11) NOT NULL, `province` varchar(20) NOT NULL, `city` varcha ...

  5. Leetcode 1005. K 次取反后最大化的数组和

    1005. K 次取反后最大化的数组和  显示英文描述 我的提交返回竞赛   用户通过次数377 用户尝试次数413 通过次数385 提交次数986 题目难度Easy 给定一个整数数组 A,我们只能用 ...

  6. Lucene.Net 学习(搜索部分)(低要求,写给自己看)

    1. 搜索 排序:lucene 提供了Sort类对结果进行排序 提供了Filter类对查询条件进行限制 你或许会不自觉地拿它跟SQL语句进行比较:“lucene能执行and.or.order by.w ...

  7. springboot activiti 配置项详解

    asyncExecutorEnabled属性设置设置true后将代替那些老的Job executorspring.activiti.async-executor-enabled=false sprin ...

  8. Vue SSR常见问题、异常处理以及优化方案

    本文主要介绍Vue SSR(vue服务端渲染)的应用场景,开发中容易遇到的一些问题,提升ssr性能的方法,以及ssr的安全性问题. SSR的应用场景 1.SEO需求 SEO(Search Engine ...

  9. Python日志、序列化、正则模块

    使用Python内置模块的目的:拿来别人已经写好的模块功能,直接import内置模块使用,简化程序,避免重复造轮子的过程,提示自己的开发效率: 一. loging日志模块: 1. loging模块可以 ...

  10. Qt调用JS

    转自: 一. 简介 Qt提供了本地C++对象与JavaScript的无缝集成,可以进行本地与web混合应用开发.利用Qt的Webkit集成与QtNetwork模块,可以自由的混合JavaScript. ...