- 博客(6)
- 收藏
- 关注
原创 pytorch中利用pillow批量修改数据集图片分辨率,并对分辨率较小的图片进行填充处理
承接上篇关于对数据集的处理,往往我们在收集图片数据时,其分辨率大小是不同的,而对于神经网络来说,最好训练集的图片能够是一致的分辨率,因此利用此代码可以批量处理图片的分辨率,将其统一为同一的分辨率,并且在此代码中还加入了对分辨率较小的图片进行填充至统一分辨率的功能,便于处理各种大小不同的分辨率的图片。代码如下,欢迎指教~"""Author:KeycleDate:2020/11/09将图片裁切至同一分辨率,如果有较小分辨率的图片,则用灰色背景填充至需要的分辨率"""# -*- coding: ut
2020-11-09 21:04:32
2523
4
原创 Pytorch中利用Pillow随机增强数据集
最近在收集数据图片作为数据集时常常会遇到一个问题,就是图片数据的数量不够,这样会导致神经网络的训练效果不够理想,因此在查阅了相关资料之后,发现python中的pillow函数可以实现对图片的各种处理,如翻转、旋转、改变亮度和锐度等等,但是仅仅做其中某个操作往往显得较为单一,我更希望的是能够将这些处理图片的操作综合起来,并且进行随机综合处理,故写下如下代码便于自用,现将其分享,方便大家快速处理数据集,也欢迎讨论。"""Author:KeycleDate:2020/11/07随机扩充数据集注意图片格式
2020-11-09 20:48:50
861
1
原创 残差网络Resnet
背景:当训练层数增加时,会导致训练集和测试集的错误率增加(出现没有训练好的层),因此为了既要较高的训练层数,又不想让训练较差的层影响到训练结果,引出了Resnet(残差网络)在串行的权重训练层中引出一个x,使H(x)为F(x)和x的堆叠,当F(x)包含的两层训练效果不好时,神经网络会将这两层的权重参数不断学习直至更新为0,此时就相当于跳过了这两层直接输入x,这样就可以大大减少训练较差的层对整体的训练效果的影响,这就是Resnet的原理PS:最好将Resnet网络理解为一个特征提取而不是分类网络参考视
2020-11-04 20:36:48
800
转载 深度学习中batch、epoch、iteration的含义
深度学习的优化算法,说白了就是梯度下降。每次的参数更新有两种方式。第一种,遍历全部数据集算一次损失函数,然后算函数对各个参数的梯度,更新梯度。这种方法每更新一次参数都要把数据集里的所有样本都看一遍,计算量开销大,计算速度慢,不支持在线学习,这称为Batch gradient descent,批梯度下降。另一种,每看一个数据就算一下损失函数,然后求梯度更新参数,这个称为随机梯度下降,stochastic gradient descent。这个方法速度比较快,但是收敛性能不太好,可能在最优点附近晃来晃去,h
2020-11-04 19:03:28
321
转载 反向传播
反向传播(Back Propagation)在此做一些学习笔记的记录,视频来自link神经网络需要计算损失对权重的导数,以此来对权重进行更新对于复杂的神经网络(即含有多个权重w),就不能直接套用梯度下降公式来计算权重w,否则计算量巨大,因此利用反向传播来解决复杂神经网络的问题通过链式运算的规则,我们可以将输出端的损失函数通过反向传播(backward)(红线),来实现对权重w或者上一项x的偏导,从而实现梯度下降的目的。而从输入端到输出端的过程称为前馈(forward)(蓝线)以简单的线性模型为
2020-11-04 09:43:37
108
转载 Pycharm的参数设置
原因分析:Pycharm中有时候需要提前对代码中的参数进行配置,可以选择使用控制台(console)进行配置,但是每次都需要重新输入,较为麻烦,故在此记录一下直接利用configuration进行配置的方法解决方案:程序运行时,如果需要输入参数,如下图中程序代码:在生成exe后,程序在控制台下运行时格式为:这种情况在调试程序时,如果只是在Pycharm环境中简单执行“Run”菜单下的“Run”命令,会出现以下错误,提示需要输入参数。为了解决这个问题,我们需要给程序事先指定好输入参数。点击
2020-10-27 16:35:36
2741
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人