深度学习
文章平均质量分 61
深度学习笔记
_-周-_
hhhhhhhhhhhhhh
展开
-
pytorch预测泰坦尼克号生还率 pytorch加载csv数据集
先看一眼我们拿到的数据: 在数据中有浮点数, 有字符串, 现在我们要做的就是制作满足pytorch条件的数据集。1.先加载数据集2.选出我们需要的行3.将字符串类型数据转换成浮点数型4.将数据集保存在新的excel文件中1.使用pd.read_excel()方法读取excel表格中的数据#读取到excel文件中的数据集path = r'D:\数据集\泰坦尼克号\泰坦尼克号.xls'all_df = pd.read_excel(path)2. 选择出我们训练所..原创 2022-04-20 21:45:01 · 1673 阅读 · 2 评论 -
pytorch加载自己的图片数据集的两种方法
pytorch加载图片数据集有两种方法。1.ImageFolder 适合于分类数据集,并且每一个类别的图片在同一个文件夹, ImageFolder加载的数据集, 训练数据为文件件下的图片, 训练标签是对应的文件夹, 每个文件夹为一个类别在Flower_Orig_dataset文件夹下有flower_orig 和 sunflower这两个文件夹, 这两个文件夹下放着同一个类别的图片。 使用 ImageFolder 加载的图片, 就会返回图片信息和对应的label信息, 但是label信息是根据文件原创 2022-04-20 22:46:44 · 21363 阅读 · 10 评论 -
pytorch实现残差网络restnet50
残差网络块为: 首先有输入通道, 输出通道, 用一个变量接受输入的x, 只有另一条路对这个x进行卷积运算。原创 2022-05-11 22:31:28 · 2495 阅读 · 1 评论 -
pytorch对网络层的增,删, 改, 修改预训练模型结构
1.我们使用vgg11网络做示例, 看一下网络结构:加载本地的模型:vgg16 = models.vgg16(pretrained=False) #打印出预训练模型的参数vgg16.load_state_dict(torch.load('vgg16-397923af.pth'))加载库中的模型import torchimport torch.nn as nnfrom torchvision import modelsnet = models.vgg11(pretrained原创 2022-05-07 23:53:24 · 11131 阅读 · 10 评论 -
Triplet损失(三元组损失)
Triplet损失, 意味着需要同时看三个图片, Anchor图片, Positive图片,Negative图片。(Anchor图片与Positive图片意味着是同一个人, Anchor图片与Negative图片意味着不是同一个人的图片)当Anchor图片与Positive图片对比时, 想让输出距离越小,当Anchor图片与Negative图片对比时, 想让输出距离更大一点。d(Anchor, Positive) = | f(Anchor) - f(Positive) |²d(原创 2022-01-30 19:45:51 · 4918 阅读 · 0 评论 -
One-Shot学习 (一次学习)
人脸识别: 你需要通过一张人脸样例去识别这个人,当深度学习只有一个样例时候,模型的表现并不好,所以使用One-Shot学习解决!One-Shot Learn:通过一个样本来进行学习,以能够判断这个人是不是已有数据中的人脸。在人脸识别中使用“similarity”function来处理人脸识别单一数据的问题。similarity function:d(img1, img2) = degree of difference between images.(两张图片的差异值)if d(img1原创 2022-01-30 18:52:35 · 4024 阅读 · 0 评论 -
YOLO算法
使用两个anchor box, 所以输出是3*3*2*8。首先将一张图片分成3*3的方框, 要构造训练集,需要遍历9个格子, y表示每一个格子的输出向量此时,第一个格子没有行人,汽车,摩托车, 所以第一个格子的两个pc值都为0。第八个格子: 输出值 y=[0??????? 1 bx by bh bw 0 1 0], anchor box 2与真实物体框的IoU值比anchor box 1与真实物体框的IoU值更大,那么车子就和向量的下半部分相关此处把图片划分成3*3的大小, 实际应...原创 2021-12-15 22:17:28 · 2056 阅读 · 0 评论 -
输入层-隐藏层-输出层的前馈反向传播
1. 输出层->隐藏层2.隐藏层:隐藏层中,J对神经元yi输出的值的导数等于 J对a的导数 乘 a对z的导数 乘 z对w的导数(这只是J对yi神经元输出的导数) ,因为做不到直接对yi输出求导, 则曲线救国, 因为输出a=sigmoid(z), 所以先求 J对a的, 再求a到z的, 再求z到w的, 链式求导得,J对yi输出的导数,这仅仅是对yi的输出导数, 若要求J对w的导数,根据J对输出求导, 输出a对z求导, z对w求导链式求导乘积才是输出层对隐藏层yi的w求导。...原创 2021-11-15 10:26:56 · 1669 阅读 · 0 评论 -
向量化理解
假设有m个样本,则logistic损失为:原创 2021-11-23 22:10:58 · 428 阅读 · 1 评论 -
防止过拟合(Dropout, early-stopping, L1和L2正则化)
过拟合情况:在深度学习算法时,不仅要求在训练集上误差小,而且希望在新样本上的泛化能力强,许多机器学习算法都采用相关的策略来减小测试误差,这些策略被统称为正则化。当在测试集添加一点点的噪声,那么模型的准确率就会有很大影响过度拟合的根本原因: 1.权重参数太多, 2.样本数量不足正则化通过对算法的修改来减少泛化误差,目前深度学习中使用较多的策略有提前停止, Dropout,L1与L2正则化:正则化的作用:...原创 2021-11-16 16:10:52 · 1016 阅读 · 0 评论 -
卷积神经网络( CNN )
卷积运算共享权重和偏置:每个隐层的神经元都有一个偏置和连接到它的局部感受野的5x5的权重,并且对这一层的所有神经元使用相同的权重和偏置。这一个隐层的所有神经元检测完全相同的特征,在输入图像的不同位置。这说明卷积网络可以很好地适应图片的平移不变性。共享权重和偏置.原创 2021-11-16 13:12:40 · 2760 阅读 · 0 评论 -
梯度下降优化算(Momentum, AdaGrad, RMSprop, Adam)学习率退火
梯度下降算法在进行网络训练时,会遇到鞍点,局部极小值这些问题,要解决这个问题,就提出了动量(Momentum) 算法;1.指数加权平均:当没有使用加权平均时的结果噪音比较大, 如:Yt表示t时刻的真实值 St表示t加权平均后的值,β为权重值运算步骤: 就是用前一天结果的0.9倍 加上 今天结果的0.1倍作为今天的结果。以此类推加权平均的作用: 使最终的结果更加平滑,减少噪音。最终第100天的数据结果为:2. 动量算法(Momentum):...原创 2021-11-16 15:07:53 · 1506 阅读 · 0 评论