
DL
qyhyzard
愿技术分享成为一种习惯
展开
-
pytorch 入门笔记 | 谈谈pytorch的框架特色
pytorch 可以说是深度学习入门首选的框架,语法特点特别接近numpy,上手简单。作为一门流行的框架,总有它流行的原因,笔者认为这是pytorch框架的一些特色所决定的,以下内容来源笔者在入门学习中的体会,因此作文总结。近期我简单入门了一下深度学习,对 pytorch 有了一定的掌握和认识,不得不感慨 pytorch 大法好,对深度学习新手特别友好,和numpy有着相似的语法特点,但有...原创 2019-03-04 00:40:52 · 1732 阅读 · 0 评论 -
LFWA+ 人脸属性数据集下载地址 【Google Drive】
如果你在做人脸属性多标签分类的相关项目,那么你必然绕不开两个数据集,CelebA,另外一个是就是LFWA+数据集了。这两个数据集来源是这篇论文:@inproceedings{liu2015faceattributes, author = {Ziwei Liu and Ping Luo and Xiaogang Wang and Xiaoou Tang}, title = {Deep Lea...原创 2019-06-03 21:32:03 · 4093 阅读 · 2 评论 -
visualdata: 一个强大的 CV 数据集搜索引擎
我们比较常用的数据集搜索引擎,就是google dataset search。但是检索体验并不是很好。这天,偶然在reddit上发现了这么一个网站,专门汇集CV相关的数据集,你可以快速找到CV各类任务的数据集。网站为:https://www.visualdata.io/网站页面如下:你可以选择相应的任务,快速找到相关的数据集,相当强大!...原创 2019-06-08 02:52:14 · 1828 阅读 · 0 评论 -
pytorch 学习 |梯度截断 gradient clip 的简单实现
在训练模型的过程中,我们有可能发生梯度爆炸的情况,这样会导致我们模型训练的失败。我们可以采取一个简单的策略来避免梯度的爆炸,那就是梯度截断Clip, 将梯度约束在某一个区间之内,在训练的过程中,在优化器更新之前进行梯度截断操作。整个流程简单总结如下:加载训练数据和标签模型输入输出计算loss函数值loss 反向传播梯度截断优化器更新梯度参数pytorch 代码如下:def ...原创 2019-06-07 20:25:57 · 20464 阅读 · 1 评论 -
pytorch 学习 | 全局平均池化 global average pooling 实现 和作用优点解析
pytorch 实现在一些论文中,我们可能会看到全局平均池化操作,但是我们从pytorch官方文档中却找不到这个API,那我们应该怎么办?答案是:利用现有的pooling API实现全局平均池化的效果。首先我们简单理解全局平均池化操作。如果有一批特征图,其尺寸为 [ B, C, H, W], 我们经过全局平均池化之后,尺寸变为[B, C, 1, 1]。也就是说,全局平均池化其实就是对每...原创 2019-05-24 01:09:25 · 41120 阅读 · 6 评论 -
深度学习 | 优质的深度学习资源(DL、ML、CV、paper、blog、比赛....)
优质课程CS231n :http://cs231n.github.io/【英文】 斯坦福大学李飞飞教授主讲,几乎是CV入门必看。网易云吴恩达coursera机器学习课程:https://study.163.com/course/introduction/1004570029.htm【英文】学习深度学习也需要了解常见的机器学习知识滴!几乎是DL入门必看!DL大神李沐在伯克利...原创 2019-05-23 20:17:25 · 644 阅读 · 0 评论 -
深度学习 | 深入解析CNN pooling 池化层原理及其作用
笔者最近碰到了几种池化层,如最常见的max pooling,后来又遇到了全局平均池化,自适应池化等操作,感叹有点疑惑,这些不同的pooling之间的作用是什么啊?翻了一下pytorch的官方文档,发现竟然还有很多没见过的pooling操作。有点震惊。于是,笔者决定花费一点时间来了解认识这些不同类别的池化操作,研究其作用机理。本文内容将从以下几点展开进行:经过一番网上的搜索,大多数又是针对...原创 2019-05-23 15:40:49 · 17928 阅读 · 6 评论 -
pytorch 学习 | 使用pytorch动手实现LSTM模块
LSTM 简介LSTM是RNN中一个较为流行的网络模块。主要包括输入,输入门,输出门,遗忘门,激活函数,全连接层(Cell)和输出。其结构如下:上述公式不做解释,我们只要大概记得以下几个点就可以了:当前时刻LSTM模块的输入有来自当前时刻的输入值,上一时刻的输出值,输入值和隐含层输出值。所谓的门就是前一时刻的计算值输入到sigmoid激活函数得到一个概率值,这个概率值决定了当前输入的...原创 2019-05-17 21:15:31 · 10287 阅读 · 29 评论 -
pytorch学习笔记 | Focal loss的原理与pytorch实现
Focal 原理简述Focal loss是一个针对单阶段物体检测正负样本不均衡而提出来的损失函数,论文地址来自arxiv先放focal loss(FL)和cross entropy(CE)两个函数的数学定义。可以看到focal loss的设计很简单明了,就是在标准交叉熵损失函数的focal loss 称为焦点损失函数,通过改进标准的二元交叉熵损失函数来控制对正负样本的训练,为了解决在on...原创 2019-05-17 20:19:43 · 4840 阅读 · 2 评论 -
pytorch 实战 | 动手设计CNN+MNIST手写体数字识别
文章目录前言引入库函数预设超参数加载数据集设计CNN训练前准备训练模块预测模块运行结果总结前言相信对于每一个刚刚上手深度学习的孩子来说,利用mnist数据集来训练一个CNN是再好不过的学习demo了。本文使用 pytorch 来动手搭建一个卷积神经网络来训练和预测手写数字。通过本文,你将了解到pytorch的一些功能:高效加载数据集;简单灵活设计神经网络;各种学习优化器(一...原创 2019-03-15 13:10:28 · 2002 阅读 · 4 评论 -
pytorch 学习 | 多GPU存储模型及加载参数文件的坑(Error(s) in loading state_dict for DataParallel)
个人使用pytorch的时候需要用到多GPU运行,简要说明一下应用情景:单GPU不够用,你需要将模型存储在多个GPU上;当模型初始化后运行在多个GPU上,你要加载dict模型参数文件。第一个情景,我们使用 nn.DataParallel 来解决,直接上例子:# 使用nvidia-smi查看可用的设备CUDA_DEVICE_1 = 0 CUDA_DEVICE_2 = 1# 模型初...原创 2019-06-17 20:17:22 · 3456 阅读 · 1 评论