首页 > 技术文章 > 第6章 配置开发环境

paladinzxl 2018-08-23 08:15 原文

第6章 配置开发环境

       当学习新技术时,配置开发环境往往事半功倍。但是在实际的库与不同的操作系统、不同的版本之间,配置深度学习开发环境有些难度。而且,深度学习库往往随着新特性的发布,会定期更新,如CUDA工具集。

       因此,基于深度学习库与环境的快速变化,作者将本章相关的安装及时、最新的更新到网站http://dl4cv.pyimagesearch.com/上。

1          库和开发包

这一节主要列出一些在计算机视觉的深度学习中用到的主要库与语言。

1.1    Python

本书中所有的例子使用python语言,该语言简单、直觉的语法使你关注到深度学习的基础学习上,而不是花费几小时来修复编译错误。

1.2    Keras

为了构建和训练深度学习网络,我们主要使用Keras库。Keras支持TensorFlow和Theano,使它快速的构建和训练网络变得超级简单。看第2节关于兼容性的问题。

1.3    Mxnet

我们也将使用mxnet库,一种特别适合于分布式、多机学习的深度学习库。当在巨大的图像数据集(如ImageNet)上训练深度神经网络架构,通过多GPUs或设备进行并行化训练的能力是极其重要的。

Mxnet库在本书中仅用在ImageNet Bundle中。

1.4    Opencv、scikit-image、scikit-learn等等

由于本书关注与应用在计算机视觉上的深度学习,我们也将利用一些其它库。在本书中不需要成为使用这些库的专家或使用它们的成功的经验,但是确实建议熟悉基本的opencv操作。《Practical Python and OpenCV》的前5章更适合于理解opencv库的基础。

Opencv的主要目标是实时图像处理,我们使用opencv的python接口来从磁盘加载图像、显示到屏幕和执行基本的图像处理操作。为了补充opencv,我们使用scikit-image库,一个包含图像处理算法的包。Scikit-learn是一个用于机器学习、交叉验证和可视化的开源库,这个库可作为Keras的补充,特别是在创建训练集/测试集/验证集划分和验证我们的深度学习模型的精确度方面。

2          配置开发环境

如果准备好配置深度学习开发环境,点击下面链接,即可根据操作系统和是否配置GPU来跟随指导来配置:http://pyimg.co/k81c6

3          预配置的虚拟机

如果购买了作者的书籍《Deep Learning for Computer Vision with Python》,作者将随书提供了预配置的ubuntu虚拟机,其中包含了所有配置的库与开发包,用于直接随书使用,而不必自行安装。

4          基于云的示例

Ubuntu VM的一个主要缺点是,根据虚拟机的定义,VM不允许访问主机的物理组件(例如GPU)。当训练一个大的深度学习网络时,有一个GPU是极其有效的。作者建议如果使用基于云的GPU,则可使用作者在站点上提供的预配置的AMI,因为它配置了所有预配置和预安装的本书中的所有库。

5          怎样组织项目结构

 

每章相关代码在一个目录下,数据集在另一个目录下。

在执行某一章的测试用例时,首先进入到对应章目录下,然后运行当前章的主程序,例如运行时通过python knn.py ../datasets/aninals加载数据集的形式。

6         代码更新

在学习本书过程中,我会将自己搭建的程序文档放在git上,以作记录与维护。

https://github.com/shengqishi8787/Starter_Bundle.git

推荐阅读