博主最近浏览到一个网站PyImageSearch,看到里面的项目还不错,就顺手配置一下环境,试着去跑下里面的模型. 首先,需要配置好需要运行模型的环境,其实主要的步骤分为以下三步: 1. 安装Ubuntu系统的独立依赖包 2. 创建你的python3环境(因为opencv3.3对深度学习支持比较好,需要配置升级到python3版本) 这里给出一个在Ubuntu16.04下python2.7版本升级更新到python3.5版本的教程,可以参考:http://www.cnblogs.com/wmr9…
Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstitions cheat sheet Introduction to Deep Learning with Python How to implement a neural network How to build and run your first deep learning network Neur…
 Conclusions about Deep Learning with Python  Last night, I start to learn the python for deep learning research. It really confused me at the beginning. So, here is some conclusions about the hard beginning progress. If you have some more excellent…
总结 机器学习(machine learning)是人工智能的一个特殊子领域,其目标是仅靠观察训练数据来自动开发程序[即模型(model)].将数据转换为程序的这个过程叫作学习(learning) 深度学习(deep learning)是机器学习的众多分支之一,它的模型是一长串几何函数,一个接一个地作用在数据上.这些运算被组织成模块,叫作层(layer).深度学习模型通常都是层的堆叠,或者更通俗地说,是层组成的图.这些层由权重(weight)来参数化,权重是在训练过程中需要学习的参数.模型的知识…
生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 使用 LSTM 生成文本 生成序列数据 用深度学习生成序列数据的通用方法,就是使用前面的标记作为输入,训练一个网络(通常是循环神经网络或卷积神经网络)来预测序列中接下来的一个或多个标记.例如,给定输入the cat is on the ma,训练网络来预测目标 t,即下一个字符.与前面处理文本数据…
神经网络模型的优化 使用 Keras 回调函数 使用 model.fit()或 model.fit_generator() 在一个大型数据集上启动数十轮的训练,有点类似于扔一架纸飞机,一开始给它一点推力,之后你便再也无法控制其飞行轨迹或着陆点.如果想要避免不好的结果(并避免浪费纸飞机),更聪明的做法是不用纸飞机,而是用一架无人机,它可以感知其环境,将数据发回给操纵者,并且能够基于当前状态自主航行.下面要介绍的技术,可以让model.fit() 的调用从纸飞机变为智能的自主无人机,可以自我反省并动…
Keras 函数式编程 利用 Keras 函数式 API,你可以构建类图(graph-like)模型.在不同的输入之间共享某一层,并且还可以像使用 Python 函数一样使用 Keras 模型.Keras 回调函数和 TensorBoard 基于浏览器的可视化工具,让你可以在训练过程中监控模型 对于多输入模型.多输出模型和类图模型,只用 Keras 中的 Sequential模型类是无法实现的.这时可以使用另一种更加通用.更加灵活的使用 Keras 的方式,就是函数式API(functional…
介绍一维卷积神经网络 卷积神经网络能够进行卷积运算,从局部输入图块中提取特征,并能够将表示模块化,同时可以高效地利用数据.这些性质让卷积神经网络在计算机视觉领域表现优异,同样也让它对序列处理特别有效.对于某些序列处理问题,这种一维卷积神经网络的效果可以媲美 RNN,而且计算代价通常要小很多,并且,对于文本分类和时间序列预测等简单任务,小型的一维卷积神经网络可以替代 RNN,而且速度更快 二维卷积是从图像张量中提取二维图块并对每个图块应用相同的变换,按照同样的方法,也可以使用一维卷积,从序列中提取…
本节介绍循环神经网络及其优化 循环神经网络(RNN,recurrent neural network)处理序列的方式是,遍历所有序列元素,并保存一个状态(state),其中包含与已查看内容相关的信息.在处理两个不同的独立序列(比如两条不同的 IMDB 评论)之间,RNN 状态会被重置,因此,你仍可以将一个序列看作单个数据点,即网络的单个输入.真正改变的是,数据点不再是在单个步骤中进行处理,相反,网络内部会对序列元素进行遍历,RNN 的特征在于其时间步函数 Keras 中的循环层 from ker…
本节讲深度学习用于文本和序列 用于处理序列的两种基本的深度学习算法分别是循环神经网络(recurrent neural network)和一维卷积神经网络(1D convnet) 与其他所有神经网络一样,深度学习模型不会接收原始文本作为输入,它只能处理数值张量.文本向量化(vectorize)是指将文本转换为数值张量的过程.它有多种实现方法 将文本分割为单词,并将每个单词转换为一个向量 将文本分割为字符,并将每个字符转换为一个向量 提取单词或字符的 n-gram,并将每个 n-gram 转换为一…