![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 89
David-Chow
知行合一,砥礪前行,腳踏實地,精益求精
展开
-
详解可变形注意力模块(Deformable Attention Module)
Deformable Attention(可变形注意力)首先在2020年10月初商汤研究院的《Deformable DETR: Deformable Transformers for End-to-End Object Detection》论文中提出,在2022CVPR中《Vision Transformer with Deformable Attention》提出应用了Deformable Attention(可变形自注意力)机制的通用视觉Transformer骨干网络DAT(Deformable Att原创 2023-02-20 14:21:35 · 18072 阅读 · 1 评论 -
自动驾驶中应用Transformer的单目 BEV 感知
Monocular BEV Perception with Transformers in Autonomous DrivingA review of academic literature and industry practice as of late 2021作者:Patrick Langechuan Liu原文地址:https://towardsdatascience.com/monocular-bev-perception-with-transformers-in-autonomo.转载 2022-01-25 11:20:27 · 3303 阅读 · 1 评论 -
深度学习中的自监督对比学习+MoCo三部曲+自监督模型评测方法
摘要在过去的很长时间里,计算机视觉领域依靠大规模的有标注数据集取得了很大的成功,特别是卷积神经网络的应用,使得视觉各子领域实现了跨越式发展,学术界和工业界开始投入大量的研究和应用,一度使大家相信,人工智能的大厦即将建成。然而,最近关于自监督学习(Self-supervised Learning,SSL)、Transformer、MLP等在学术界的研究成为热点,特别是Transformer和MLP的进击,大有要将监督学习和卷积结构拍死在沙滩上的节奏,作者相信,计算机视觉(CV)领域正在进入新的变革时代。转载 2022-01-19 11:04:02 · 4675 阅读 · 0 评论 -
深度学习及论文中相关术语解析
1、Model Capacity模型拟合能力。2、Generalization泛化能力。一个网络的generalization能力是由网络的capacity和训练数据量共同决定的。网络capacity越大越能捕捉训练数据的细枝末节(高频),所以越容易overfit(在训练数据的高频noise上),从而generalization不佳。所以在训练数据无穷的极限条件下,网络的generalization能力与其capacity成正比。那么提高网络的泛化性能就可以理解为1. 增加训练数据;2.原创 2022-01-18 16:12:31 · 3308 阅读 · 0 评论 -
深度学习领域中的inductive bias(归纳偏置)理解
参考:知乎《如何理解Inductive bias?》博客《Vision Transformer 演化史: CoAtNet: Marrying Convolution and Attention for All Data Sizes - 使用Depthwise Conv 来结合CNN 与Transformer》归纳偏置在机器学习中是一种很微妙的概念:在机器学习中,很多学习算法经常会对学习的问题做一些假设,这些假设就称为归纳偏置(Inductive Bias)。归纳偏置这个译名可能不能很好地帮助.原创 2022-01-18 15:41:29 · 1594 阅读 · 0 评论 -
深度学习框架-Backbone汇总
Backbone—— Neck —— Head1.Backbone:翻译为骨干网络的意思,既然说是主干网络,就代表其是网络的一部分,那么是哪部分呢?这个主干网络大多时候指的是提取特征的网络,其作用就是提取图片中的信息,共后面的网络使用。这些网络经常使用的是resnet VGG等,而不是我们自己设计的网络,因为这些网络已经证明了在分类等问题上的特征提取能力是很强的。在用这些网络作为backbone的时候,都是直接加载官方已经训练好的模型参数,后面接着我们自己的网络。让网络的这两个部分同时进...原创 2022-01-17 14:27:35 · 40022 阅读 · 11 评论 -
MobileNetV1,V2,V3
附录:Depthwise(DW)卷积与Pointwise(PW)卷积,合起来被称作Depthwise Separable Convolution(参见Google的Xception),该结构和常规卷积操作类似,可用来提取特征,但相比于常规卷积操作,其参数量和运算成本较低。所以在一些轻量级网络中会碰到这种结构如MobileNet。常规卷积操作对于一张5×5像素、三通道彩色输入图片(shape为5×5×3)。经过3×3卷积核的...原创 2021-07-29 10:31:35 · 796 阅读 · 0 评论 -
Pytorch一机多卡分布式并行训练及混合精度训练
Pytorch并行主要有两种方式,DataParallel(DP)和DistributedDataParallel(DDP)。DP方式较为简单,但是多线程训练,并且主卡显存占用比其他卡会多很多。因此这里采用DDP方式来多卡计算。DDP是多进程,将模型复制到多块卡上计算,数据分配较均衡。使用DDP的一机多卡配置1. 加入local_rank参数,这一步会在代码运行时通过torch.distributed.launch输入,该参数意义是当前进程所用的是哪块卡: parser.add_a.原创 2021-07-12 16:51:13 · 4736 阅读 · 3 评论 -
一文看尽深度学习中的生成对抗(GAN)网络
参考:《CVHub带你看一看GANs架构发展的8年》导读 生成对抗网络 (Generative Adversarial Networks, GANs) 在过去几年中被广泛地研究,其在图像生成、图像转换和超分辨率等领域取得了显著的进步。到目前为止,已经提出了大量基于GANs的相关工作和综述。本文基于柏林圣三一大学计算机科学与统计学院的王正蔚...原创 2021-06-29 14:42:21 · 3186 阅读 · 0 评论 -
对比不同主流存储格式(csv, feather, jay, h5, parquet, pickle)的读取效率
引言在遇到大数据时,不同数据处理工具包的优劣, 是否拥有丰富的数据处理函数; 是否读取数据够快; 是否需要额外设备(例如GPU)的支持等等。 但无论这些工具包处理数据的时间多快,在碰到例如10G以上的数据时,都还是会耗费一些时间的,快的可能几十秒,慢的可能几十分钟,然后再进行一些特征抽取等等,快的话也得几十分钟,而此时,为了节省时间消耗,我们就需要将这些中间结果线存储到磁盘上面,而不同格式的存储,带来的差别是巨大的,比如: 存储一个大的文件,存成csv格式需要10G,原创 2021-06-17 16:08:15 · 13831 阅读 · 1 评论 -
动图图解Transformer及其工程领域应用(NLP外)
一、Transformer图解原文:《The Illustrated Transformer》1.1 概览Transformer总览1.2 Encoder步骤1.3 Decoder步骤完成Encoder知识的学习以及基本上知道Decoder是如何工作的之后,接下来看看他们是如何协同工作的吧。(1)首个输出在完成encoder阶段之后,我们开始Decoder阶段。Decoder阶段的每个步骤从输出序列(本例中为英语翻译句子)输出一个元素。(2)冒泡输出以下步..原创 2020-06-10 10:32:09 · 11921 阅读 · 2 评论 -
雅克比(Jacobian)矩阵及其在神经网络梯度计算中的应用
资料《Jacobian矩阵和梯度矩阵》《Computing Neural Network Gradients》(PDF)介绍原创 2020-06-05 11:03:09 · 3035 阅读 · 0 评论 -
万字长文带你图卷积神经网络(GCN)入门
前言作者阿泽曰:断断续续写了一个多星期,期间找了很多同学讨论学习,感谢指导过点拨过我的同学们,为了精益求精本着不糊弄别人也不糊弄自己的原则在本文中探讨了很多细节。当然,还有很多细节没提到,包括总变差(Total Variation)、空域和频域视角下的图信号等,有兴趣的同学可以深入了解下图信号处理,本人才疏学浅还希望抛砖引玉引出更多的 GCN 的文章。非常感谢知乎 @superbrothe...转载 2020-03-30 15:02:06 · 3456 阅读 · 3 评论 -
机器学习/深度学习框架列表
传统机器学习框架Auto-sklearn automated machine learning on top of scikit-learn, inspired by auto-weka Auto-Weka automated machine learning on top of Weka auto_ml deprecated? AutoML toolbox da...原创 2019-12-31 14:26:18 · 250 阅读 · 0 评论 -
pytorch以Mnist为例进行中间层特征图可视化
接上一篇文章,在得到训练模型后,进行加载模型后,对模型中间层特征进行提取并输出预测精度:方法参考《pytorch 提取卷积神经网络的特征图可视化》class FeatureExtractor(nn.Module): def __init__(self,submodule,extracted_layer): super(FeatureExtractor,sel...原创 2019-12-23 15:23:47 · 3605 阅读 · 0 评论 -
Pytorch自定义层含lambda函数(Lambda层)时保存模型出错的解决方案
出错类型:_pickle.PicklingError: Can't pickle <function <lambda> at 0x0000000018944488>: attribute lookup <lambda> on __main__ failed详情:File "C:\Users\piantou\AppData\Local\Progr...原创 2019-12-23 10:29:28 · 8082 阅读 · 5 评论 -
Tensorflow实现ResNeXt
ResNeXt-TensorflowCode LinkTensorflow implementation ofResNeXtusingCifar10If you want to see theoriginal author's code, please refer to thislink(1)RequirementsTensorflow 1.x Python ...原创 2019-12-20 17:21:15 · 1509 阅读 · 1 评论 -
深度神经网络全部主流架构介绍(含 PyTorch 实现代码片段)
I 引言To keep on track ofstate-of-the-art (SOTA)onImageNetClassification and new CNN architectures所有主流目标检测深度神经网络的Tensorflow、pytorch、caffe实现:网址部分截图:II 72页PPT介绍深度神经网络完整架构(含 PyTorch 实...原创 2019-12-19 11:21:21 · 1157 阅读 · 0 评论 -
笔记2:torch.nn构建简单神经网络教程(由浅入深)
来自《pytorch官方文档V1.2》中文译文Pytorch提供了torch.nn、torch.optim、Dataset和DataLoader这些设计优雅的模块和类以帮助使用者创建和训练神经网络。 为了最大化利用这些模块和类的功能,并使用它们做出适用于你所研究问题的模型,你需要真正理解他们是如何工作的。 为了做到这一点,我们首先基于MNIST数据集训练一个没有任何特征的简单神经网络。 最开始...原创 2019-12-16 17:14:55 · 3171 阅读 · 2 评论 -
Tensorflow加载预训练的resnet_v2_50进行自构模型层的微调
0.Pre-trained Model------resnet_v2_50(1)简介resnet v1和v2总结如下,首先给出resnet v2的paper里面kaiming大神给出的不同的结构对比:图a为resnet v1的结构,图e为resnet v2的结构。(weight为conv层),左分支为identity分支,右分支为residual分支。图的结构有两个特点:1、c...原创 2019-12-10 11:08:37 · 4739 阅读 · 1 评论 -
tensorflow Slim 源码分析-- variables
1. API介绍1.1. 创建变量variable:新建tf.Variable对象。 local_variable:collections为GraphKeys.LOCAL_VARIABLES。 global_variable:collections为GraphKeys.GLOBAL_VARIABLES。 model_variable:调用variable,collections为G...原创 2019-12-09 10:02:04 · 729 阅读 · 0 评论 -
从深度强化学习的A3C算法代码分析“分布式Tensorflow的梯度累积与异步更新”
引言Asynchronous Advantage Actor-Critic (A3C)我们都知道,直接更新策略的方法,其迭代速度都是非常慢的,为了充分利用计算资源,又有了Asynchronous Advantage Actor-Critic 方法:可以看到,我们有一个主网络,还有许多Worker,每一个Worker也是一个A2C的net,A3C主要有两个操作,一个是pull,一个是...原创 2019-08-09 15:52:17 · 1626 阅读 · 1 评论 -
Keras.applications.models权重:存储路径及加载(Kears各种模型离线权重下载)
网络中断原因导致keras加载vgg16等模型权重失败,直接解决方法是:删掉下载文件,再重新下载运行时出现:TimeoutError: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。Windows-weights路径:C:\Users\你的用户名\.keras\modelsLinux-weights路径:...原创 2019-08-30 17:52:39 · 2101 阅读 · 0 评论 -
使用python打开简单obj文件
Assignment :Open a .obj file which contains v(vertices) and f(faces) and render it using OpenGL!Sample can be found at :https://groups.csail.mit.edu/…/models/In this assignment I am using...原创 2019-09-11 16:18:23 · 6633 阅读 · 1 评论 -
Tensorflow和keras使用预训练模型进行Finetune的方法及步骤详解
目的 想直接在pretrain的模型上进行finetune,使用的框架分别是tensorflow和keras。(1)预训练权重的作用:预测 特征提取 微调(2)Finetune过程:构建图结构,截取目标张量,添加新层 加载目标张量权重 训练新层 全局微调目标概括如下图所示:一、Keras keras的finetune方法很简...转载 2019-03-28 11:21:16 · 7970 阅读 · 1 评论 -
图片与TFRecord 数据格式的相互转换(一)
一、实现图片向TFRecord的转换(1)假设文件夹G:\Exercise\Python\tfrecord中有两张图片,分别为:0.jpg, 1.jpg,如下图所示:(2)新建命名为:”image_information.txt_bak“的文件夹,其中内容为:它存取了图片所在的文件夹信息,以及每张图片的label(3)并新建命名为“Img2Tfrecord.py”的python文件,用于编程实现j...原创 2018-05-31 16:36:56 · 8628 阅读 · 9 评论 -
策略梯度(Policy Gradient,PG)强化学习方法的实现代码及代码解读
理论推导基础&入门了解PG:https://www.cnblogs.com/pinard/p/10137696.html策略梯度实例这里给出REINFORCE 算法(蒙特卡洛策略梯度算法)的一个实例。仍然使用了OpenAI Gym中的CartPole-v0游戏来作为我们算法应用。CartPole-v0游戏的介绍参见这里。它比较简单,基本要求就是控制下面的cart移动使连接在上面...原创 2019-07-10 16:36:14 · 5702 阅读 · 0 评论 -
通俗理解Q-learning-举例说明
本文将带你学习经典强化学习算法 Q-learning 的相关知识。在这篇文章中,你将学到:(1)Q-learning 的概念解释和算法详解;(2)通过 Numpy 实现 Q-learning。故事案例:骑士和公主假设你是一名骑士,并且你需要拯救上面的地图里被困在城堡中的公主。你每次可以移动一个方块的距离。敌人是不能移动的,但是如果你和敌人落在了同一个方块中,你就会死。...转载 2019-07-08 09:55:59 · 1475 阅读 · 0 评论 -
MNIST数据集扩展——QMINST
一、前世MNIST data filesMNIST数据集是一个手写数字数据集,每一张图片都是0到9中的单个数字,比如下面几个:MNIST数据库的来源是两个数据库的混合,一个来自Census Bureau employees(SD-3),一个来自high-school students(SD-1);有训练样本60000个,测试样本10000个。训练样本和测试样本中,employee...原创 2019-05-30 09:06:30 · 2962 阅读 · 0 评论 -
Tensorfow中使用tf.identity()的作用
先来看TensorFlow中对identity的定义:####################################################################################################def identity(input, name=None): # pylint: disable=redefined-builtin ...原创 2018-08-02 18:31:25 · 45136 阅读 · 4 评论 -
TensorFlow 使用预训练模型 ResNet-50
模型定义、训练及预训练参数导入 首先,我们来梳理一下要使用预训练模型来微调神经网络需要做的事情:1.定义神经网络结构;2.导入预训练模型参数;3.读取数据进行训练;4.使用 Tensorboard 可视化训练过程(此处略,留到以后单独讲)。清楚了以上步骤之后,我们来看如下全部代码:# -*- coding: utf-8 -*-"""Created on Tue May ...转载 2018-08-07 10:13:22 · 11636 阅读 · 7 评论 -
如何从已存在的检查点文件(cpkt文件)种解析出里面变量——无需重新创建原始计算图
import tensorflow as tfimport osCheckpointReadertf.train.NewCheckpointReader是一个创建检查点读取器(CheckpointReader)对象的完美手段。 CheckpointReader中有几个非常有用的方法:get_variable_to_shape_map() - 提供具有变量名称和形状的字典...原创 2018-08-03 18:20:10 · 3800 阅读 · 0 评论 -
Python OpenCV 中的图像处理
OpenCV 中的图像处理 23 图像变换23.1 傅里叶变换目标本小节我们将要学习: ? 使用 OpenCV 对图像进行傅里叶变换 ? 使用 Numpy 中 FFT(快速傅里叶变换)函数 ? 傅里叶变换的一些用处 ? 我们将要学习的函数有:cv2.dft(),cv2.idft() 等原理 傅里叶变换经常被用来分析不同滤波器的频率特性。我们可以使用 2D 离散傅里叶变换 (DFT) 分析...转载 2018-06-02 11:00:22 · 1331 阅读 · 0 评论 -
python 3.6下安装opencv 解决import cv2 问题
原文:https://blog.csdn.net/qq_35608277/article/details/79132349目的:解决import cv2问题试了一下午,遇到一些错误,终于成功。环境:win7/10,64位,python 3.6,Anaconda3(64-bit),想装opencv3.4.0(最新版本)遇到的错误:1.因为之前在VS2015下配置过o...转载 2018-06-02 10:33:01 · 70654 阅读 · 10 评论 -
图片与TFRecord 数据格式的相互转换(二)
一、实现TFRecord向图片jpg格式的转换 假设经过前一篇博文的流程,在"G:/Exercise/Python/tfrecord/data"文件夹中得到了data.tfrecords这一TFRecord格式的文件。怎样将它还原为jpg图片格式的两张图片呢? (1)新建命名为“Tfrecord2Img.py”的python文件,用于编程实现TFRecord格式向jpeg...原创 2018-05-31 16:56:56 · 5087 阅读 · 1 评论 -
tensorflow:安装特定版本、获取版本号
原文:https://blog.csdn.net/lufangbo/article/details/79308318安装特定版本:pip install tensorflow==1.2.0升级到最新版本:pip install --upgrade tensorflow获取tensorflow版本号:在idle命令行中输入import tensorflow——》回车——》tensorflow.__v...转载 2018-05-31 15:52:11 · 6567 阅读 · 0 评论 -
深入理解Tensorflow中的梯度计算算子-tf.gradients()
转载:https://blog.csdn.net/hustqb/article/details/80260002声明:参考官方文档参考tensorflow学习笔记(三十)关于神经网络中的梯度计算,推荐吴恩达的deeplearning公开课tf.gradients()在tensorflow中,tf.gradients()的参数如下:tf.gradients(ys, xs, ...转载 2018-06-21 14:15:29 · 8645 阅读 · 0 评论 -
Python将单一数字标签进行one-hot编码
在对分类神经网络进行训练时,涉及到标签的设置,分为纯数字类及one-hot类,后者采用的比较多,因此涉及到如何进行标签的转换,如标签([[1],[2],[3]])需要转换成([[1,0,0],[0,1,0],[0,0,1]]),Python程序如下:import numpy as npa=np.array([[1],[2],[3]])a=np.reshape(origin_label,[-1]) ...原创 2018-05-14 10:57:26 · 3558 阅读 · 0 评论 -
教你怎么快速读出python numpy中给定的array的shape
洋葱剥离法例如:给定了以下array(矩阵) a,要你立即读出它的shape大小,该怎么读???a=array([[[[ 1., 2.]],[[ 3., 4.]],[[ 5., 6.]]],[[[ 7., 8.]],[[ 9., 10.]],[[ 11., 12.]]],[[[ 13., 14.]],[[ 15., 16.]],[[ 17., 18.]]]])教你们一个诀窍:(1...原创 2018-05-07 10:42:52 · 2777 阅读 · 1 评论 -
TensorFlow产生3类多元高斯分布样本集(onehot编码)的generate()函数
#!/usr/bin/python# -*- coding:UTF-8 -*-__author__="David Chow"import tensorflow as tfimport numpy as npimport matplotlib.pyplot as pltfrom sklearn.utils import shuffledef generate(sample_size,num_...原创 2018-04-27 15:45:52 · 1658 阅读 · 0 评论