摘要:
在学习某个深度学习框架时,掌握其基本知识和接口固然重要,但如何合理组织代码,使得代码具有良好的可读性和可扩展性也必不可少。本文不会深入讲解过多知识性的东西,更多的则是传授一些经验,这些内容可能有些争议,因其受我个人喜好和coding风格影响较大,**你可以将这部分当成是一种参考或提议,而不是作为必须 阅读全文
摘要:
在训练神经网络过程中,需要用到很多工具,其中最重要的三部分是:数据、可视化和GPU加速。本章主要介绍Pytorch在这几方面的工具模块,合理使用这些工具能够极大地提高编码效率。 1.1 数据处理 在解决深度学习问题的过程中,往往需要花费大量的精力去处理数据,包括图像、文本、语音或其它二进制数据等。数 阅读全文
摘要:
使用autograd可实现深度学习模型,但其抽象程度较低,如果用其来实现深度学习模型,则需要编写的代码量极大。在这种情况下,torch.nn应运而生,其是专门为深度学习而设计的模块。torch.nn的核心数据结构是Module,它是一个抽象概念,既可以表示神经网络中的某个层(layer),也可以表示 阅读全文
摘要:
1、Tensor Tensor,又名张量,是Theano、TensorFlow、 Torch和MxNet中重要的数据结构。从工程角度来讲,可简单地认为它就是一个数组,且支持高效的科学计算。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)和更高维的数组(高阶数据)。Tensor和Numpy的 阅读全文
摘要:
1、快捷命令 2、Tensor Tensor是PyTorch中重要的数据结构,可认为是一个高维数组。它可以是一个数(标量)、一维数组(向量)、二维数组(矩阵)以及更高维的数组。Tensor和Numpy的ndarrays类似,但Tensor可以使用GPU进行加速。 Tensor的基本使用: from 阅读全文
摘要:
1、One-Shot学习(One-shot learning) 人脸识别所面临的一个挑战就是需要解决一次学习问题(one-shot learning problem),这意味着在大多数人脸识别应用中,你需要通过单单一张图片或者单单一个人脸样例就能去识别这个人。而历史上,当深度学习只有一个训练样例时, 阅读全文
摘要:
1、目标定位(Object localization) 目标定位旨在识别图像或视频中的特定目标,并确定其在图像中的具体位置。目标定位的输出通常包括目标所属的类别(如果是分类任务)和一个边界框(Bounding Box),该边界框用于精确地描述目标在图像中的位置。因此先从分类和定位(classific 阅读全文
摘要:
1、残差网络—Residual Networks (ResNets) 非常非常深的神经网络是很难训练的,因为存在梯度消失和梯度爆炸问题。这节课我们学习跳跃连接(Skip connection),它可以从某一层网络层获取激活,然后迅速反馈给另外一层,甚至是神经网络的更深层。利用跳跃连接构建能够训练深度 阅读全文
摘要:
1、边缘检测示例(Edge Detection Example) 卷积运算(convolutional operation)是卷积神经网络最基本的组成部分,使用边缘检测(edge detection)作为入门样例。接下来,你会看到卷积是如何进行运算的。 在之前的人脸例子中,我们知道神经网络的前几层是 阅读全文
摘要:
1、调整过程 在训练神经网络时,超参数的调试十分重要,下面分享一些指导原则。 通常来说,①学习因子α是最重要的超参数,也是需要重点调试的超参数。②动量梯度下降因子beta、各隐藏层神经元个数hidden units和mini-batch size的重要性仅次于alpha。③然后就是神经网络层数lay 阅读全文