
深度学习
文章平均质量分 66
。。
·城府、
这个作者很懒,什么都没留下…
展开
-
如何提高cifar-10数据集的分类的精度
如何提高cifar-10数据集的分类的准确率一、问题描述当我们在处理图像识别或者图像分类或者其他机器学习任务的时候,我们总是迷茫于做出哪些改进能够提升模型的性能(识别率、分类准确率)。。。或者说我们在漫长而苦恼的调参过程中到底调的是哪些参数。。。所以,我花了一部分时间在公开数据集 CIFAR-10 [1] 上进行探索,来总结出一套方法能够快速高效并且有目的性地进行网络训练和参数调整。CIFAR-10 数据集有 60000 张图片,每张图片均为分辨率为 32*32 的彩色图片(分为 RGB3 个信道)。原创 2021-05-28 10:51:09 · 10814 阅读 · 12 评论 -
图像增强(Data Augmentation)缓解过拟合
为什么用图像增强: 在深度学习中,为了避免出现过拟合(Overfitting),通常我们需要输入充足的数据量.若数据量比较小,我们可以对原有的图像数据进行几何变换,人为的扩大数据集,使模型在训练过程中可以学习到图像更多的特征, 这就比如,在平时的学习中,如果对一种题型只用一种方法,那么在考试的时候如果题目出现变换,不容易得出答案,而我们使用图像增强,就相当于一道题目,我们好几种方法去解决,在考试的时候,无论考题怎么变换,我们都有足够的手段去解决它。tensorflow中常用数据增强的API1、原创 2021-01-20 11:59:00 · 1965 阅读 · 0 评论 -
详解tf.nn.dropout
tf.nn.dropouttensoflow中有两个dropout函数容易混淆1、tf.nn.dropout 中参数 keep_prob :每一个元素被保存下的概率。2、tf.layer.dropout 中参数 rate :每一个元素丢弃的概率。keep_prob = 1 - ratetf.layers.drop函数定义如下:tf.layers.dropout(inputs,rate=0.5,noise_shape=None,seed=None,training=False,name=None)原创 2020-12-28 17:12:34 · 7047 阅读 · 1 评论 -
Tensorflow常遇函数(二)
Tensorflow常见函数1.tf.transpose()tf.transpose(input, perm=[dimension_1, dimenaion_2,…,dimension_n]):dimension_n 是整数,每个数对应相应的维度,用0,1,2来表示。这个函数主要适用于交换输入张量的不同维度用的。如果input是二维,就相当是转置。如果input是三维,perm = [2,1,0],就把输入张量的第三维度和第一维度交换。a=tf.constant([[1,2,3],[4,5,6]原创 2020-11-16 20:00:38 · 147 阅读 · 0 评论 -
Tensorflow常遇函数(一)
Tensorflow常遇函数(一)1.tf.concat(values, axis,name=‘concat’)tf.concat用于将多个张量在某维度合并起来,类似于numpy.concatenate。第一个参数为待合并的多个张量列表,第二个参数需指定哪个维度上做合并。待合并的张量shape需要完全相同,并且产生的张量的阶数不会发生变化。import tensorflow as tfa=tf.constant([[1,2,3],[4,5,6]])#shape=2*3b=tf.constan([[原创 2020-11-16 17:39:54 · 141 阅读 · 0 评论 -
理解生成模型--自编码器(Autoencoder,AE)的原理
生成模型–自编码器(Autoencoder,AE) 自编码器(Autoencoder,AE) 基本意思就是一个隐藏层的神经网络,输入输出都是x,并且输入维度一定要比输出维度大,属于无监督学习。一种利用反向传播算法使得输出值等于输入值的神经网络,它先将输入压缩成潜在空间表征,然后通过这种表征来重构输出。 参考资料: https://blog.youkuaiyun.com/hjimce/article/details/49106869 https://blog.youkuaiyun.com/marsjhao/转载 2020-12-16 09:14:37 · 4034 阅读 · 0 评论 -
一文读懂图像数据的标准化与归一化
深度学习训练-详解图像数据标准化与归一化使用深度学习在进行图像分类或者对象检测时候,首先需要对图像做数据预处理,最常见的对图像预处理方法有两种,正常白化处理又叫图像标准化处理,另外一种方法叫做归一化处理,下面就详细的说一下这两种处理方法。一:图像标准化处理标准化处理的公式如下:tensorflow中对图像标准化预处理的API函数如下:tf.image.per_image_standardization(image)image 参数表示一个三维的张量(tensor) 分别对应图像高、宽、通道数目原创 2020-12-13 11:06:54 · 24058 阅读 · 1 评论 -
tensorflow学习笔记——图像处理/255.0 和/127.5 -1
图像处理/255.0 和/127.5 -1 在代码中看到图像的2种处理方式: img/255.0 img/127.5 - 1 第一种是对图像进行归一化,范围为[0, 1],第二种也是对图像进行归一化,范围为[-1, 1],这两种只是归一化范围不同,为了直观的看出2种区别,分别对图像进行两种处理: 从图中可以看出, 第二种方式图像显示的更黑,其直方图如下: 同样,其直方图的分布规律相同,第二种分布相对稀转载 2020-12-13 10:05:42 · 950 阅读 · 0 评论 -
Tensorflow笔记——tf.Variable和tf.get_variable的区别以及tf.variable_scope以及tf.name_scope异同
一、 tf.Variable和tf.get_variable的区别在Tensorflow中有两种方法生成变量variable,tf.get_variable()和tf.Variable()1.tf,Variabletf.Variable( initial_value=None, trainable=None, validate_shape=True, caching_device=None, name=None, variable_def=None, dtype=None, impor原创 2020-12-04 20:04:14 · 484 阅读 · 0 评论 -
Tensorflow笔记——tensorflow tf.Variable()和tf.get_variable()详解
tensorflow tf.Variable()和tf.get_variable()详解一、tf.Variable()tf.Variable( initial_value=None, trainable=None, validate_shape=True, caching_device=None, name=None, variable_def=None, dtype=None, import_scope=None, constraint=None, synchronizatio原创 2020-12-04 16:28:38 · 720 阅读 · 1 评论 -
详解LRN(local response normalization--局部响应标准化)缓解过拟合
局部响应归一化层(Local Response Normalization) LRN全称为Local Response Normalization,即局部响应归一化层,LRN函数类似Dropout和数据增强作为relu激活函数之后防止数据过拟合而提出的一种处理方法。这个函数很少使用,基本上被类似Dropout这样的方法取代.为什么要引入LRN层?首先要引入一个神经生物学的概念:侧抑制(lateral inhibitio),即指被激活的神经元抑制相邻的神经元。归一化(normaliazation)的目的原创 2020-11-27 14:43:38 · 2947 阅读 · 1 评论 -
如何缓解过拟合
一.过拟合原因什么是过拟合:模型可以完美的预测训练集,但对新数据的测试集预测结果差。 过度的拟合了训练数据,而没有考虑到泛化能力。二.缓解过拟合方法减少过拟合总结:过拟合主要是有两个原因造成的:数据太少+模型太复杂 (1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation) (2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力; (3)dropout ; (4)正则化,在训练的时候限制权值变大; (5)限制训练时间;通过评估测原创 2020-11-26 10:16:55 · 3489 阅读 · 0 评论 -
Tensorflow笔记——tf.layers.dense的用法
1.tf.layers.dense的用法dense:相当于一个全连接层函数解释如下:tf.layers.dense( inputs, units, activation=None, use_bias=True, kernel_initializer=None, bias_initializer=tf.zeros_initializer(), kernel_regularizer=None, bias_regularizer=None,原创 2020-11-11 17:12:41 · 2855 阅读 · 0 评论 -
Tensorflow笔记——tf.nn.conv2d_transpose反卷积
tf.nn.conv2d_transpose反卷积(转置卷积)首先无论你如何理解反卷积,请时刻记住一点反卷积操作是卷积的反向接下来介绍一下反卷积的函数conv2d_transpose(value, filter, output_shape, strides, padding=“SAME”, data_format=“NHWC”, name=None)除去name参数用以指定该操作的name,与方法有关的一共六个参数:第一个参数value:指需要做反卷积的输入图像,它要求是一个Tensor第二个参原创 2020-11-07 14:59:52 · 1044 阅读 · 0 评论 -
Tensorflow笔记——tf.nn.conv2d卷积操作
TF-卷积函数 tf.nn.conv2d 介绍tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None)第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch, in_height, in_width, in_channels]这样的shape,具体含义是[训练时一个batch的图片数量, 图片高度, 图片宽度, 图像通道数],注意这是一个4维的Tensor,要求类型为f原创 2020-11-07 14:48:40 · 377 阅读 · 0 评论 -
Tensorflow笔记——详解深度学习learning_rate以及如何调整学习率
1.什么是学习率? 学习率(Learning rate)作为监督学习以及深度学习中重要的超参,其决定着目标函数能否收敛到局部最小值以及何时收敛到最小值,学习率越低,损失函数的变化速度就越慢。虽然使用低学习率可以确保我们不会错过任何局部极小值,但也意味着我们将花费更长的时间来进行收敛。合适的学习率能够使目标函数在合适的时间内收敛到局部最小值。公式:new_weight = orign_weight — learning_rate * gradient梯度下降代码:repeat{ θj=θj原创 2020-10-29 09:41:02 · 3769 阅读 · 0 评论