本教程是深度学习简明教程系列的第二部分,旨在提取最精炼且必备的深度学习知识点,供读者快速学习及本人查阅复习所用,大多内容是本人结合个人理解补充细节整合而成,参考链接放在文章最后。

目录

第一章  AlexNet

1.1  结构与参数

1.2  网络细节

第二章  VGGNet

2.1  VGG简介

2.2  网络结构与参数

2.3  网络细节

2.4  总结

第三章  GoogleNet

3.1  Naive Inception

3.2  GoogleNet Inception V1

3.3  GoogleNet Inception V2

3.4  GoogleNet Inception V3

3.5  GoogleNet Inception V4

3.6  Xception

第四章  ResNet

4.1  意义

4.2  网络结构

4.3  ResNet50和ResNet101

4.4  基于ResNet101的Faster RCNN

第五章  DenseNet

5.1  意义

5.2  网络结构

第六章  DetNet

6.1  背景

6.2  网络结构

第七章  目标检测系列

7.1  目标检测常见算法

7.2  R-CNN

7.3  Fast R-CNN

7.4  Faster R-CNN

7.5  YOLO v1

7.6  YOLO v2

7.7  YOLO v3

7.8  YOLO v4

7.9  YOLO v5

7.10  SSD

第八章  语义分割系列

8.1  语义分割背景

8.2  语义分割常见方法

8.3  Patch classification

8.4  全卷积网络

8.5  Encoder-Decoder架构

8.6  基于金字塔网络的模型

8.7  DeepLab家族

8.8  注意力机制模型


第一章  AlexNet

1.1  结构与参数

AlexNet的网络结构如下图所示:

RAlexNet网络结构图

网络参数如下:

  • 卷积层:5层
  • 全连接层:3层
  • 深度:8层
  • 参数个数:60M
  • 神经元个数:650k
  • 分类数目:1000类

1.2  网络细节

1.2.1  分组卷积

由于当时的显卡容量问题,AlexNet 的60M个参数无法全部放在一张显卡上操作,所以采用了两张显卡分开操作的形式,其中在C3,R1,R2,R3层上出现交互,所谓的交互就是通道的合并,是一种串接操作。

1.2.2  全连接层

全连接层负责逻辑推断,所有的参数都需要学习得到。AlexNet中第一层全连接层用于链接卷积层的输出,并去除空间信息(通道数),是一种将三维矩阵变成向量的过程(一种全卷积操作),其操作如下:

输入特征图是W×H×C,那么卷积核的尺寸为W×H×C,这样的话整个输入特征图就变成了一个数,一共有k个数(第一层全连接层的神经元个数),就有K个W×H×C的卷积核,所以全连接层(尤其是第一层)的参数量是非常可怕的。

1.2.3  Softmax层

Softmax层不属于CNN中单独的层,一般要用CNN做分类的话,要将神经元的输出变成概率的形式,Softmax就是做这个的:

通过Softmax输出的就是概率,最后我们按照这个概率的大小确定到底属于哪一类(AlexNet最后的分类数目为1000)。

1.2.4  AlexNet中的参数量

在R1中卷积核尺寸是6×6×256而不是13×13×256,是因为在C1,C2,C5的卷积操作后,图像做了最大池化。可以看到,全连接层(尤其是第一层)参数数量占了绝大部分。

第二章  VGGNet

2.1  VGG简介

VGG 是 Visual Geometry Group 的缩写,它相对于 AlexNet 的改进手段在于两方面:

  1. 在第一层卷积层上采用更小的的卷积核,和更小的 stride;

  2. 在 AlexNet 的基础上加深它的卷积层数量。

2.2  网络结构与参数

AlexNet 有 5 层卷积层,而 VGG 就是针对这 5 层卷积层进行改造,共进行了 6 种配置,得到了 6 种网络结构,下面是配置图。

VGG的6种网络结构

VGG网络结构图

VGG参数量

2.3  网络细节

2.3.1  3x3 卷积核

VGG 和 AlexNet 最大的不同就是 VGG 用大量的 3x3 卷积核替换了 AlexNet 的卷积核,3x3 卷积核是能够感受到上下、左右、重点的最小的感受野尺寸, 使用3x3 卷积核的好处在于:相同感受野下,参数更少,层数加深。对于C个通道的卷积核,7x7含有参数7x7xCxN, 3个3x3的参数个数为3x(3x3xCxN),参数大大减少。

2.3.2  1x1 卷积核

引入1x1卷积核的缘由:有的时候,我们想在不增加感受野的情况下,让网络加深,为的就是引入更多的非线性;

1x1卷积核的用处:不改变感受野的情况下,对特征图进行升维和降维,同时也加深了网络的深度(参数比3x3少)。

例如:如果输入图片通道是 3,卷积核的数量是 6 ,那么生成的 feature map 通道就是 6,这就是升维,如果卷积核的数量是 1,那么生成的 feature map 只有 1 个通道,这就是降维度。

2.3.3  其他细节

  1. 所有的 VGG 网络中,卷积核的 stride 是 1,padding 是 1

  2. max-pooling 的滑动窗口大小是 2x2 ,stride 也是 2

2.4  总结

VGG论文给出了一个非常振奋人心的结论:卷积神经网络的深度增加和小卷积核的使用对网络的最终分类识别效果有很大的作用。

第三章  GoogleNet

获得高质量模型最保险的做法就是增加模型的深度(层数)或者是其宽度(层核大小或者神经元数),但是这种设计思路的容易出现如下的缺陷:

  1. 参数太多,若训练数据集有限,容易过拟合;
  2. 网络越大计算复杂度越大,难以应用;
  3. 网络越深,梯度越往后传越容易消失,难以优化模型。

解决上述缺点的根本方法是将全连接甚至一般的卷积都转化为稀疏连接(参数最好大部分为0,但是,计算机软硬件对非均匀稀疏数据的计算效率很差,现在的问题是有没有一种方法,既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。

3.1  Naive Inception

Inception架构的主要思想是找出如何用密集成分来近似最优的局部稀疏解。

Naive Inception 模块的作用:

  1. Naive Inception 模块一层内采用了不同大小的卷积核,并将输出拼接起来融合了不同尺度的特征;
  2. 使用这种结构可以让网络自行学习是否需要该层卷积或池化操作,以及使用什么类型的卷积核(部分卷积、池化模块参数为0,于是具有了稀疏性)。

3.2  GoogleNet Inception V1

Naive Inception模块中使用到了5x5的卷积核,计算量极大,为了降低参数量,Inception V1中使用了1x1的卷积核来进行降维,在3x3和5x5的过滤器前面,max pooling后面分别加上了1x1的卷积核,最后将它们全部Concatnate起来,卷积的参数数量比原来减少了4倍,得到的Inception V1模块如下图所示:

GoogleNet Inception V1主要是围绕如下两个思路设计的:

  1. 深度,文章采用了22层,为了避免梯度消失问题,GoogleNet巧妙的在不同深度处增加了两个loss来减弱梯度回传消失的现象;
  2. 宽度,增加了多种核 1x1,3x3,5x5,还有直接max pooling的获得特征图,为减少参数采用了Inception V1 模块,最终GoogleNet采用了9个Inception模块化结构。

网络的参数信息如下:

3.3  GoogleNet Inception V2

大尺寸的卷积核可以带来更大的感受野,也意味着更多的参数,为此,作者提出可以用2个连续的3x3卷积层(stride=1)组成的小网络来代替单个的5x5卷积层,这便是Inception V2结构:

同时,在GoogleNet Inception V2中还提出了著名的Batch Normalization。

3.4  GoogleNet Inception V3

任意 nxn 的卷积都可以通过 1xn 卷积后接 nx1 卷积来替代(节约大量参数,同时增加了深度,非线性表达能力增强),Inception V3模块考虑了使用 nx1 卷积核来取代原本3x3卷积:

注意:作者发现在网络的前期使用这种分解效果并不好,在中度大小的feature map上使用效果才会更好(建议feature map尺寸在12到20之间,用nx1卷积来代替大卷积核,文章中设定n=7来应对17x17大小的feature map)。

根据上述研究结果,Inception V3优化了Inception模块的结构,处理35x35、17x17和8x8三种不同输入,这些Inception模块只在网络后部出现,前面还是普通卷积层。

3.5  GoogleNet Inception V4

Inception V4结构结合了残差神经网络ResNet。

3.6  Xception

当时提出Inception的初衷可以认为是:特征的提取和传递可以通过1*1卷积,3*3卷积,5*5卷积,pooling等,到底哪种才是最好的提取特征方式呢?Inception结构将这个疑问留给网络自己训练,也就是将一个输入同时输给这几种提取特征方式,然后做concat。Inception v3和Inception v1对比主要是将5*5卷积换成两个3*3卷积层的叠加。

于是从Inception v3联想到了一个简化的Inception结构,就是Figure 2。

再将Figure2延伸,就有了Figure3,表示对于一个输入,先用一个统一的1*1卷积核卷积,然后连接3个3*3的卷积层吗,每个卷积层的卷积核数量为1/3 channel。再从Figure3延伸就得到Figure4,也就是3*3卷积的个数和1*1卷积的输出channel个数一样,每个3*3卷积核都是和1个输入channel做卷积。

这就是我们常说的深度可分离卷积,其实就是把标准卷积分解成深度卷积(depthwise convolution)和逐点卷积(pointwise convolution),这么做的好处就是可以再损失精度不多的情况下大幅度降低参数量和计算量。

下图是Xception的结构图。这里的sparsableConv就是depthwise separable convolution。

Xception作为Inception v3的改进,主要是在Inception v3的基础上引入了depthwise separable convolution,在基本不增加网络复杂度的前提下提高了模型的效果。

第四章  ResNet

4.1  意义

随着网络的加深,模型参数更难学习,会出现准确率下降的现象。作者针对这个问题提出了一种全新的网络,叫深度残差网络,它允许网络尽可能的加深。ResNet提出了两种mapping:

  1. 一种是identity mapping,指的就是下图中”弯弯的曲线”;
  2. 另一种是residual mapping,指的就是除了”弯弯的曲线“那部分;

所以最后的输出是 y=F(x)+x ,identity mapping是指“恒等映射”,也就是公式中的x,而residual mapping是指“残差映射”,也就是y−x,所以残差指的就是F(x)部分。

Q:为什么ResNet可以解决“随着网络加深,准确率下降”的问题?

A:

  1. 相比于直接学习信号,学习残差在许多研究中被证明更为有效,可以简化学习的过程;
  2. 使用残差结构,由于它包含了恒等映射,网络加深后仍能够有效的进行梯度反向传播,有利于参数学习;
  3. ResNet打破了网络的对称性,可以减缓网络退化的问题;
  4. 深层的残差网络可以看做是不同深度的浅层神经网络的ensemble,这么做可以增强网络的泛化能力。

4.2  网络结构

ResNet使用了shortcut connection,即跳远连接,论文分别针对ResNet34(左图)和ResNet50/101/152(右图)设计了两种结构:

一般称整个结构为一个”building block“。其中右图又称为“bottleneck design”,目的一目了然,就是为了降低参数的数目。

Q:如果F(x)和x的channel个数不同怎么办,channel不同怎么相加呢?

A: 如图所示,我们可以清楚的“实线”和“虚线”两种连接方式

  1. 实线的的Connection部分(“第一个粉色矩形和第三个粉色矩形”)都是执行3x3x64的卷积,他们的channel个数一致,所以采用计算方式:y=F(x)+x;
  2. 虚线的的Connection部分(“第一个绿色矩形和第三个绿色矩形”)分别是3x3x64和3x3x128的卷积操作,他们的channel个数不同(64和128),所以采用计算方式:y=F(x)+Wx,其中W是卷积操作,用来调整x的channel维度。

4.3  ResNet50和ResNet101

论文把所有的ResNet网络都分成5部分,分别是:conv1,conv2_x,conv3_x,conv4_x,conv5_x,之后的其他论文也会专门用这个称呼指代ResNet50或者101的每部分。网络结构如下:

4.4  基于ResNet101的Faster RCNN

文章中把ResNet101应用在Faster RCNN上取得了更好的结果,基于ResNet101的Faster RCNN的结构图如下:

上图展示了整个Faster RCNN的架构,其中蓝色的部分为ResNet101,可以发现conv4_x的最后的输出为RPN和RoI Pooling共享的部分,而conv5_x(共9层网络)都作用于RoI Pooling之后的一堆特征图(14 x 14 x 1024),特征图的大小维度也刚好符合原本的ResNet101中conv5_x的输入;一定要记得最后要接一个average pooling,得到2048维特征,分别用于分类和框回归。

第五章  DenseNet

5.1  意义

在深度学习网络中,随着网络深度的加深,梯度消失问题会愈加明显,目前很多论文都针对这个问题提出了解决方案,比如ResNet,Highway Networks,Stochastic depth,FractalNets等,尽管这些算法的网络结构有差别,但是核心都在于:create short paths from early layers to later layers(在前层和后层之间建立捷径)。延续这个思路,DenseNet就是在保证网络中层与层之间最大程度的信息传输的前提下,直接将所有层连接起来,通过对feature的极致利用达到更好的效果和更少的参数。

5.2  网络结构

5.2.1  Dense Block

在传统的卷积神经网络中,如果你有L层,那么就会有L个连接,但是在DenseNet中,会有L(L+1)/2个连接。简单讲,就是每一层的输入来自前面所有层的输出。如下图:x0是input,H1的输入是x0(input),H2的输入是x0和x1(x1是H1的输出)……

这种Dense Connection相当于每一层都直接连接input和loss,因此就可以减轻梯度消失现象,这样就可以使用更深的网络。另外作者还观察到这种Dense Connection有正则化的效果,因此对于过拟合有一定的抑制作用。

注意:与ResNet不同的是,DenseNet对输出的特征图做的是通道合并操作(Concatnate),而ResNet是将输出特征图做值的相加,通道数是不变的。

5.2.2  DenseNet

DenseNet的结构图如下,在这个结构图中包含了3个dense block。作者将DenseNet分成多个dense block,原因是希望各个dense block内的feature map的size统一,这样在做concatenation就不会有大小不统一的问题。

网络结构

具体结构参数

这个表中的k=32,k=48中的k是growth rate,表示每个dense block中每层输出的feature map个数。为了避免网络变得很宽,作者都是采用较小的k,比如32这样,作者的实验也表明小的k可以有更好的效果。根据dense block的设计,后面几层可以得到前面所有层的输入,因此concat后的输入channel还是比较大的。

另外这里每个dense block的3*3卷积前面都包含了一个1*1的卷积操作,就是所谓的bottleneck layer,目的是减少输入的feature map数量,既能降维减少计算量,又能融合各个通道的特征,何乐而不为。另外作者为了进一步压缩参数,在每两个dense block之间又增加了1*1的卷积操作。因此在后面的实验对比中,如果你看到DenseNet-C这个网络,表示增加了这个Translation layer,该层的1*1卷积的输出channel默认是输入channel的一半。如果你看到DenseNet-BC这个网络,表示既有bottleneck layer,又有Translation layer。

综上,DenseNet有如下几个优点:

  1. 通过密集连接,减轻了梯度消失;

  2. 加强了feature的传递,可以更有效地利用feature;

  3. 一定程度上较少了参数数量。

第六章  DetNet

6.1  背景

随着时间推移,基于 CNN 的物体检测器也开始暴漏出一些弊端,其 backbone 往往针对 ImageNet 分类任务而设计,并不适用于检测任务。分类 backbone 用于物体检测主要存在两个问题:

  1. 相较于 ImageNet backbone,FPN 、 RetinaNet 等检测器迁移到检测问题上时通常会添加一个额外的 stage 来处理大尺度目标,这一层是没办法在ImageNet上预训练的;
  2. 传统的 backbone 感受野通常较大,这有利于图像分类,却会折中空间分辨率,导致无法精确定位大物体和识别小物体。

不管是 one-stage(比如 YOLO,SSD,RetinaNet)还是 two-stage(比如 Faster R-CNN,RFCN,FPN)的模型,针对检测任务而设计的 backbone 仍是一项空白,所以才有了 DetNet,一个针对物体检测的更优的 backbone。

6.2  网络结构

DetNet 针对不同大小的物体像 FPN 一样使用了更多的 stage。即便如此,它优于 ImageNet 预训练模型的地方在于成功保留了特征的空间分辨率,但同时也会增加神经网络的计算和内存成本。为保证 DetNet 的效率,本文引入了低复杂度的 dilated bottleneck。由此,DetNet 做到了较高分辨率和较大感受野的兼得。

DetNet的主要特点如下:

  1. 在 stage 4 之后把空间分辨率固定为 16x 下采样,增加了网络高层输出特征的分辨率;

  2. 由于空间尺寸在 stage 4 之后是固定的,为引入一个新 stage,本文在 stage5,6 开始处使用一个带有 1x1 卷积投影(上图 B)的 dilated bottleneck;

  3. 引入 dilated bottleneck 增加网络的感受野,以缓解第一个改进点引起的感受野减小;

  4. 在stage 5,6中保持通道数为256,减小网络高层的宽度,以减少整体计算量。

相较于把传统分类网络用于物体检测而言,DetNet 有以下优势:

  1. DetNet 在 ImageNet 上预训练和训练物体检测时的stage数目一致;
  2. 受益于最后 stage 中的高分辨率特征图,DetNet 在定位大物体边界框和发现小物体方面更为强大。

第七章  目标检测系列

7.1  目标检测常见算法

目标检测常见的算法大致可以分为传统方案和深度方案,具体如下:

传统方案

候选区域+手工特征+分类器

深度方案

1)两阶段法

候选区域+深度学习分类器,如:R-CNN(Selective Search + CNN + SVM)、Fast R-CNN(Selective Search + CNN + ROI Pooling)、Faster R-CNN(RPN + CNN + ROI Pooling)

2)回归法

将目标检测视为回归问题,直接回归出检测框位置和类别,如:YOLO/SSD/DenseBox 等方法,以及最近出现的结合RNN算法的RRC detection,结合DPM的Deformable CNN等。

传统目标检测面临的主要问题是:

  1. 基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余;
  2. 手工设计的特征对于多样性的变化没有很好的鲁棒性。

7.2  R-CNN

为了解决传统目标检测方案的缺陷,学者们做了很多的尝试,终于,在2014年学界出现了大幅提高目标检测性能的开山之作R-CNN。

R-CNN算法总体步骤如下:

  1. 利用选择性搜索(Selective Search)算法,提取出大约2000个候选区域;
  2. 对每个候选区域的图像进行拉伸形变,使之成为固定大小的正方形图像,并将该图像输入到AlexNet卷积神经网络中,由 FC7 层输出特征向量;
  3. 再采用支持向量机对FC7层的特征向量进行分类;
  4. 最后对候选框以及标定框完成边框回归,修正候选框的位置。

7.2.1  选择性搜索(Selective Search)

思路:选择性搜索算法首先通过基于图的图像分割算法将图像分割成很多小块,使用贪心策略,计算每两个相邻区域的相似度,然后每次合并最相似的两块,直至最终只剩下一块完整的图片。这其中每次产生的图像块(区域外框)包括合并的图像块我们都保存下来,这样就得到图像的所有候选框。

相似度:选择性搜索算法主要是通过颜色、纹理、大小和形状交叠来计算两个区域的像素度,最终的相似度是这四个值的加权和。

7.2.2  卷积神经网络

R-CNN中使用的是AlexNet,首先将该模型在ImageNet上进行预训练,然后在Pascal voc 2007上进行fine-tuning,将最后分类数改成21(20个目标类别+背景),将候选区域调整为227x227输入CNN提取特征,将第七层FC7的输出特征向量存储下来。

7.2.3  支持向量机(SVM)

每个类别对应一个SVM分类器,将2000×4096维候选特征与20个SVM组成的权值矩阵4096×20相乘【20种分类,SVM是二分类器,则有20个SVM】,获得2000×20维矩阵表示每个建议框是某个物体类别的得分;分别对上述2000×20维矩阵中每一列即每一类进行非极大值抑制得到该类中得分最高的一些建议框。

7.2.4  边框回归

每次分类完之后,都要对边界框的进行调整,对于窗口一般使用四维向量  来表示,分别表示窗口的中心点坐标和宽高。对于下图,红色的框 P 代表原始的Proposal, 绿色的框 G 代表目标的 Ground Truth, 我们的目标是寻找一种关系使得输入原始的窗口 P 经过映射得到一个跟真实窗口 G 更接近的回归窗口 

边框回归的目标即:给定一个(

深度学习简明教程系列 —— 经典模型(合集)相关推荐

  1. 国内常见与人工智能(深度学习、机器学习)相关比赛合集

    国内常见与人工智能(深度学习.机器学习)相关比赛合集 ​ 以下比赛一般最近一年一次,一届一届的办,不过在我们学校都不算ABC类,但在要继续走一下还是挺有用的,当然钱也比普通比赛奖励的多 一.[第五届中 ...

  2. 【深度学习】图像数据集处理常用方法合集(部分基于pytorch)

    [深度学习]图像数据集处理常用方法合集(部分基于pytorch) 1 图像数据集预处理的目的1.1 灰度图转化1.2 高斯滤波去除高斯噪声 2 使用双峰法进行图像二值化处理2.1 图像直方图2.2 双 ...

  3. 深度学习——keras教程系列基础知识

    大家好,本期我们将开始一个新的专题的写作,因为有一些小伙伴想了解一下深度学习框架Keras的知识,恰好本人也会一点这个知识,因此就开始尝试着写一写吧.本着和大家一起学习的态度,有什么写的不是很好的地方 ...

  4. 【深度学习】PyTorch常用代码段合集

    来源 | 极市平台,机器学习算法与自然语言处理 本文是PyTorch常用代码段合集,涵盖基本配置.张量处理.模型定义与操作.数据处理.模型训练与测试等5个方面,还给出了多个值得注意的Tips,内容非常 ...

  5. 一篇入门深度学习OCR:数据集和算法合集

    文章目录

  6. 【深度学习】基于PyTorch的模型训练实用教程之数据处理

    [深度学习]基于PyTorch的模型训练实用教程之数据处理 文章目录 1 transforms 的二十二个方法 2 数据加载和预处理教程 3 torchvision 4 如何用Pytorch进行文本预 ...

  7. Torch7系列教程之Torch深度学习库教程(一)

    Torch7深度学习库教程 写在前面的话 torch库 1 Tensor库 1.1 Tensor数据使用简介 1.2 Tensor构造函数 1.3 作用于Torch上的一些操作函数 2 Storage ...

  8. 3.1 计算机视觉的发展和卷积神经网络概要(百度架构师手把手带你零基础实践深度学习原版笔记系列)

    3.1 计算机视觉的发展和卷积神经网络(百度架构师手把手带你零基础实践深度学习原版笔记系列) 概要 计算机视觉作为一门让机器学会如何去"看"的科学学科,具体的说,就是让机器去识别摄 ...

  9. 深度学习与计算机视觉系列(8)_神经网络训练与注意点

    深度学习与计算机视觉系列(8)_神经网络训练与注意点 作者:寒小阳  时间:2016年1月.  出处:http://blog.csdn.net/han_xiaoyang/article/details ...

  10. 深度学习与计算机视觉系列(4)_最优化与随机梯度下降\数据预处理,正则化与损失函数

    1. 引言 上一节深度学习与计算机视觉系列(3)_线性SVM与SoftMax分类器中提到两个对图像识别至关重要的概念: 用于把原始像素信息映射到不同类别得分的得分函数/score function 用 ...

最新文章

  1. java 操作 redis_java操作Redis
  2. 实现费用管理 mysql_移动电费房租管理系统的设计与实现(IDEA,MySQL)
  3. See the World 2015-6-10
  4. 浅谈Iframe和FRAME的区别
  5. 上海:加快推进18个新建数据中心项目的建设和投资进度
  6. [转]解决mySQL占用内存超大问题
  7. 大二数据库期末考试大题
  8. pygame安装时出现的问题以及解决方案记录.
  9. CUDA 编程 __launch_bounds__的应用方法
  10. 【大数据实战】苏宁大数据离线任务开发调度平台实践:设计与开发过程中的要点
  11. 【华为云技术分享】深度理解AI概念、算法及如何进行AI项目开发
  12. 我的Python分析成长之路2
  13. 编写一个制造各种车辆的程序。包含三个类,具体要求如下: (1)基类Vehicle,包含轮子数和汽车自身重量两个属性,一个两参数的构造方法,一个显示汽车信息的方法; (2)小轿车类Car,增加载客数属性
  14. 手机App开发行业前景怎么样?
  15. About Spreadsheets
  16. 高晓松50岁生日感言:可感恩的很多,可原谅的很少
  17. AcWing 365. 圆桌骑士
  18. Flex框架-甘特图开发
  19. Java, 正则表达式之打折问题。
  20. java高并发程序设计1-线程停下来(stop,wait,suspend,await,interrupt,join,yield,sleep)的操作

热门文章

  1. CSS网页切图实例教程下
  2. HTML+CSS实现小米账号注册界面
  3. Ubuntu系统安装字体方法
  4. 2018最新老男孩Linux架构师实战课程14期视频
  5. 计算机五笔是什么时候学的吗,电脑五笔打字入门口诀(5分钟就能学会五笔)...
  6. 苹果系统与win10连接到服务器,苹果手机怎么连接win10电脑详细步骤
  7. 实对称矩阵的特征值求法_对称矩阵、对角矩阵与三角矩阵
  8. eclipse安装svn插件时,Subclipse与Subversive的选择与区别
  9. 计算机中键盘可以共享吗,两个电脑怎么共用一个键盘
  10. MATLAB 常用绘图命令