深度学习原理与框架- tf.nn.atrous_conv2d(空洞卷积) 问题:空洞卷积增加了卷积核的维度,为什么不直接使用7*7呢
摘要:空洞卷积, 从图中可以看出,对于一个3*3的卷积,可以通过使用增加卷积的空洞的个数,来获得较大的感受眼, 从第一幅图中可以看出3*3的卷积,可以通过补零的方式,变成7*7的感受眼,这里补零的个数为1,即dilated等于2 空洞卷积在语义分割中的使用较多,因为涉及到向下卷积和向上卷积,为了不使用pa
阅读全文
posted @
2019-03-28 21:41
python我的最爱
阅读(1015)
推荐(0) 编辑
深度学习原理与框架- tf.nn.conv2d_transpose(反卷积操作) tf.nn.conv2d_transpose(进行反卷积操作) 对于stride的理解存在问题?
摘要:反卷积操作: 首先对需要进行维度扩张的feature_map 进行补零操作,然后使用3*3的卷积核,进行卷积操作,使得其维度进行扩张,图中可以看出,2*2的feature经过卷积变成了4*4. 3*3的卷积经过扩张以后形成了5*5 feature_map为偶数 feature_map为偶数 代码:主
阅读全文
posted @
2019-03-28 21:39
python我的最爱
阅读(667)
推荐(0) 编辑
深度学习原理与框架- batch_normalize(归一化操作)
摘要:1. batch_normalize(归一化操作),公式:传统的归一化公式 (number - mean) / std, mean表示均值, std表示标准差 而此时的公式是 scale * (num - mean) / std + beta #scale 和 beta在计算的过程中会进行不断的更新
阅读全文
posted @
2019-03-28 21:38
python我的最爱
阅读(4795)
推荐(0) 编辑
深度学习原理与框架-CNN在文本分类的应用 1.tf.nn.embedding_lookup(根据索引数据从数据中取出数据) 2.saver.restore(加载sess参数)
摘要:1. tf.nn.embedding_lookup(W, X) W的维度为[len(vocabulary_list), 128], X的维度为[?, 8],组合后的维度为[?, 8, 128] 代码说明一下:即根据每一行X中的一个数,从W中取出对应行的128个数据,比如X[1, 3]个数据是3062
阅读全文
posted @
2019-03-24 23:37
python我的最爱
阅读(612)
推荐(0) 编辑
深度学习原理与框架-递归神经网络-时间序列预测(代码) 1.csv.reader(进行csv文件的读取) 2.X.tolist(将数据转换为列表类型)
摘要:1. csv.reader(csvfile) # 进行csv文件的读取操作 参数说明:csvfile表示已经有with oepn 打开的文件 2. X.tolist() 将数据转换为列表类型 参数说明:X可以是数组类型等等 代码说明:使用的是单层的rnn网络,迭代的终止条件为,第n的100次循环的损
阅读全文
posted @
2019-03-18 23:56
python我的最爱
阅读(854)
推荐(0) 编辑
深度学习原理与框架-递归神经网络-RNN_exmaple(代码) 1.rnn.BasicLSTMCell(构造基本网络) 2.tf.nn.dynamic_rnn(执行rnn网络) 3.tf.expand_dim(增加输入数据的维度) 4.tf.tile(在某个维度上按照倍数进行平铺迭代) 5.tf.squeeze(去除维度上为1的维度)
摘要:1. rnn.BasicLSTMCell(num_hidden) # 构造单层的lstm网络结构 参数说明:num_hidden表示隐藏层的个数 2.tf.nn.dynamic_rnn(cell, self.x, tf.float32) # 执行lstm网络,获得state和outputs 参数说明
阅读全文
posted @
2019-03-18 00:12
python我的最爱
阅读(374)
推荐(0) 编辑
深度学习原理与框架-Tensorflow卷积神经网络-cifar10图片分类(代码) 1.tf.nn.lrn(局部响应归一化操作) 2.random.sample(在列表中随机选值) 3.tf.one_hot(对标签进行one_hot编码)
摘要:1.tf.nn.lrn(pool_h1, 4, bias=1.0, alpha=0.001/9.0, beta=0.75) # 局部响应归一化,使用相同位置的前后的filter进行响应归一化操作 参数说明:pool_h1表示输入数据,4表示使用前后几层进行归一化操作,bias表示偏移量,alpha和
阅读全文
posted @
2019-03-14 13:29
python我的最爱
阅读(2331)
推荐(0) 编辑
深度学习原理与框架-Tensorflow卷积神经网络-神经网络mnist分类
摘要:使用tensorflow构造神经网络用来进行mnist数据集的分类 相比与上一节讲到的逻辑回归,神经网络比逻辑回归多了隐藏层,同时在每一个线性变化后添加了relu作为激活函数, 神经网络使用的损失值为softmax概率损失值,即为交叉熵损失值 代码:使用的是mnist数据集作为分类的测试数据,数据的
阅读全文
posted @
2019-03-13 23:16
python我的最爱
阅读(228)
推荐(0) 编辑
深度学习原理与框架-Tensorflow基本操作-实现线性拟合
摘要:代码:使用tensorflow进行数据点的线性拟合操作 第一步:使用np.random.normal生成正态分布的数据 第二步:将数据分为X_data 和 y_data 第三步:对参数W和b, 使用tf.Variable()进行初始化,对于参数W,使用tf.random_normal([1], -1
阅读全文
posted @
2019-03-12 23:57
python我的最爱
阅读(282)
推荐(0) 编辑
深度学习原理与框架-Tensorflow基本操作-Tensorflow中的变量
摘要:1.tf.Variable([[1, 2]]) # 创建一个变量 参数说明:[[1, 2]] 表示输入的数据,为一行二列的数据 2.tf.global_variables_initializer() 进行变量全局的初始化操作 参数说明:如果代码中存在变量,那么一定需要进行初始化操作 3.tf.mat
阅读全文
posted @
2019-03-12 21:29
python我的最爱
阅读(323)
推荐(0) 编辑
深度学习原理与框架-RNN网络框架-LSTM框架 1.控制门单元 2.遗忘门单元 3.记忆门单元 4.控制门单元更新 5.输出门单元 6.LSTM网络结构
摘要:LSTM网络是有LSTM每个单元所串接而成的, 从下面可以看出RNN与LSTM网络的差异, LSTM主要有控制门单元和输出门单元组成 控制门单元又是由遗忘门单元和记忆门单元的加和组成。 1.控制门单元, 与最后的输出层做相乘操作,决定什么样的信息会被保留 2.遗忘门单元:上一层的控制门单元Ct-1直
阅读全文
posted @
2019-03-12 14:52
python我的最爱
阅读(1609)
推荐(0) 编辑
深度学习原理与框架-RNN网络架构-RNN网络 1.RNN的前向传播 2.RNN的反向传播
摘要:对于神经网络而言,每一个样本的输入与输入直接都是独立的,即预测的结果之间并没有联系 而对于RNN而言:不仅仅是有当前的输入,而且上一层的隐藏层也将进行输入,用于进行结果的预测。因此每一个输入都与之前的输入可以通过隐藏层的输入而产生联系。 这种特性在自然语言的处理中使用较广,即当前输入预测下一个词,与
阅读全文
posted @
2019-03-12 14:29
python我的最爱
阅读(331)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-三代物体检测算法 1.R-CNN 2.Fast R-CNN 3.Faster R-CNN
摘要:目标检测的选框操作:第一步:找出一些边缘信息,进行图像合并,获得少量的边框信息 1.R-CNN, 第一步:进行图像的选框,对于选出来的框,使用卷积计算其相似度,选择最相似ROI的选框,即最大值抑制ROI,进行了选框的合并 第二步:对每一个选出来的框进行回归和分类,回归的目的是为了对选框位置信息进行调
阅读全文
posted @
2019-03-12 12:01
python我的最爱
阅读(382)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-图像分类与图像位置回归任务 1.模型加载 2.串接新的全连接层 3.使用SGD梯度对参数更新 4.模型结果测试 5.各个模型效果对比
摘要:对于图像的目标检测任务:通常分为目标的类别检测和目标的位置检测 目标的类别检测使用的指标:准确率, 预测的结果是类别值,即cat 目标的位置检测使用的指标:欧式距离,预测的结果是(x, y, w, h) x和y表示的是左上角的位置,w和h表示的是矩形框的宽和高 目标检测是分类和回归都进行的一种算法
阅读全文
posted @
2019-03-12 11:23
python我的最爱
阅读(678)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-经典网络架构 1.AlexNet 2.VGG
摘要:1.AlexNet是2012年最早的第一代神经网络,整个神经网络的构架是8层的网络结构。网络刚开始使用11*11获得较大的感受野,随后使用5*5和3*3做特征的提取,最后使用3个全连接层做得分值得运算,使用的是softmax分类器 2. VGG-net,网络的特点是全部使用3*3的卷积,通常有两个版
阅读全文
posted @
2019-03-12 10:20
python我的最爱
阅读(307)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-网络设计技巧 1. 3个3*3替换7*7卷积核 2. 1*1 和 3*3 替换 3*3卷积核
摘要:感受野:对于第一次卷积,如果卷积核是3*3,那么卷积的感受野就是3*3,如果在此卷积上,再进行一次卷积的话,那么这次的卷积的感受野就是5*5 因为5*5的区域,卷积核为3*3, 卷积后每一个点的感受野是3*3,卷积后的区域为3*3 第二次卷积还用用3*3的卷积的话,第二次卷积的结果就变成了1*1,因
阅读全文
posted @
2019-03-12 10:07
python我的最爱
阅读(3116)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-迁移学习 1.冻结层数,只进行部分层的训练
摘要:迁移学习:主要有3类, 第一类,使用别人训练好的权重参数,作为初始化权重参数,进行接下来的训练 第二类:使用别人训练好的权重参数,冻结预测层之前的所有的权重参数,进行接下来的训练 第三类:使用别人训练好的权重参数,即finetune,不冻结最后一个卷积层和全连接层,对这两个层进行参数的更新和训练 代
阅读全文
posted @
2019-03-12 09:45
python我的最爱
阅读(2367)
推荐(0) 编辑
深度学习原理与框架-卷积网络细节-数据增强策略 1.翻转 2.随机裁剪 3.平移 4.旋转角度
摘要:数据增强表示的是,在原始图像的基础上,对数据进行一定的改变,增加了数据样本的数量,但是数据的标签值并不发生改变, 图片中可以看出对猫这张图片进行了灰度值的变化,但是猫的标签并没有发生改变 常见的数据增强的策略: 1. Horizontal flips 翻转, 左右翻转,将左边的像素点放在右边,将右边
阅读全文
posted @
2019-03-12 09:31
python我的最爱
阅读(2478)
推荐(0) 编辑
深度学习原理与框架-卷积神经网络-cifar10分类(图片分类代码) 1.数据读入 2.模型构建 3.模型参数训练
摘要:卷积神经网络:下面要说的这个网络,由下面三层所组成 卷积网络:卷积层 + 激活层relu+ 池化层max_pool组成 神经网络:线性变化 + 激活层relu 神经网络: 线性变化(获得得分值) 代码说明: 代码主要有三部分组成 第一部分: 数据读入 第二部分:模型的构建,用于生成loss和梯度值
阅读全文
posted @
2019-03-12 00:43
python我的最爱
阅读(1420)
推荐(1) 编辑
深度学习原理与框架-卷积神经网络基本原理 1.卷积层的前向传播 2.卷积参数共享 3. 卷积后的维度计算 4. max池化操作 5.卷积流程图 6.卷积层的反向传播 7.池化层的反向传播
摘要:卷积神经网络的应用:卷积神经网络使用卷积提取图像的特征来进行图像的分类和识别 分类 相似图像搜索 目标识别 语义分割 卷积神经网络与神经网络的形状对比, 卷积是有厚度的 卷积在提取特征时的图像变化,从刚开始较低水平的特征图,到最后较高水平的特征图的变化,原先提取的是图片的特征,后面提取到的是一些高级
阅读全文
posted @
2019-03-11 16:17
python我的最爱
阅读(757)
推荐(0) 编辑
深度学习原理与框架-神经网络-线性回归与神经网络的效果对比 1.np.c_[将数据进行合并] 2.np.linspace(将数据拆成n等分) 3.np.meshgrid(将一维数据表示为二维的维度) 4.plt.contourf(画出等高线图,画算法边界)
摘要:1. np.c[a, b] 将列表或者数据进行合并,我们也可以使用np.concatenate 参数说明:a和b表示输入的列表数据 2.np.linspace(0, 1, N) # 将0和1之间的数分成N份 参数说明:0表示起始数据,1表示末尾数据,N表示生成的分数 3.xx, yy = np.me
阅读全文
posted @
2019-03-07 16:46
python我的最爱
阅读(1809)
推荐(0) 编辑
深度学习原理与框架-神经网络架构 1.神经网络构架 2.激活函数(sigmoid和relu) 3.图片预处理(减去均值和除标准差) 4.dropout(防止过拟合操作)
摘要:神经网络构架:主要时表示神经网络的组成,即中间隐藏层的结构 对图片进行说明:我们可以看出图中的层数分布: input layer表示输入层,维度(N_num, input_dim) N_num表示输入层的样本个数, input_dim表示输入层的维度, 即变量的个数 hidden layer1 表示
阅读全文
posted @
2019-03-05 19:33
python我的最爱
阅读(975)
推荐(0) 编辑
深度学习原理与框架-神经网络结构与原理 1.得分函数 2.SVM损失函数 3.正则化惩罚项 4.softmax交叉熵损失函数 5. 最优化问题(前向传播) 6.batch_size(批量更新权重参数) 7.反向传播
摘要:神经网络由各个部分组成 1.得分函数:在进行输出时,对于每一个类别都会输入一个得分值,使用这些得分值可以用来构造出每一个类别的概率值,也可以使用softmax构造类别的概率值,从而构造出loss值, 得分函数表示最后一层的输出结果,得分函数的维度对应着样本的个数和标签的类别数 得分结果的实例说明:一
阅读全文
posted @
2019-03-05 18:41
python我的最爱
阅读(761)
推荐(0) 编辑
机器学习进阶-疲劳检测(眨眼检测) 1.dist.eculidean(计算两个点的欧式距离) 2.dlib.get_frontal_face_detector(脸部位置检测器) 3.dlib.shape_predictor(脸部特征位置检测器) 4.Orderdict(构造有序的字典)
摘要:1.dist.eculidean(A, B) # 求出A和B点的欧式距离 参数说明:A,B表示位置信息 2.dlib.get_frontal_face_detector()表示脸部位置检测器 3.dlib.shape_predictor(args['shape_predictor]) 表示脸部特征位
阅读全文
posted @
2019-03-03 13:42
python我的最爱
阅读(2014)
推荐(0) 编辑
机器学习进阶-人脸关键点检测 1.dlib.get_frontal_face_detector(构建人脸框位置检测器) 2.dlib.shape_predictor(绘制人脸关键点检测器) 3.cv2.convexHull(获得凸包位置信息)
摘要:1.dlib.get_frontal_face_detector() # 获得人脸框位置的检测器, detector(gray, 1) gray表示灰度图, 2.dlib.shape_predictor(args['shape_predictor']) # 获得人脸关键点检测器, predictor
阅读全文
posted @
2019-03-02 22:29
python我的最爱
阅读(9696)
推荐(2) 编辑