
Deep Learning
深度学习 ,一个火热的科技前沿!
悲恋花丶无心之人
计算机视觉在读研究生,熟悉Pytorch,MXNet,TensorFlow,Keras等深度学习框架,主要涉及的领域有目标检测,语义分割,超分辨率重建,行人重识别等。
个人GitHub网址为:https://github.com/nickhuang1996
-
原创 【CVPR2020】Pose-guided Visible Part Matching for Occluded Person ReID 【Windows可运行github库PVPM_Windows】
目录一、说明二、修正部分说明三、联系方式一、说明这是针对于CVPR2020《Pose-guided Visible Part Matching for Occluded Person ReID》PVPM代码的Windows版本的GitHub库,由本人亲自完成修正和测试,地址为:https://github.com/nickhuang1996/PVPM_Windows二、修正部分说明1.对于测试部分的修正,包括rank_cy.pyx文件的修正,setup.py文件的修正以及读取2020-10-23 22:09:51587
5
-
原创 Python实现深度学习系列之【正向传播和反向传播】
前言在了解深度学习框架之前,我们需要自己去理解甚至去实现一个网络学习和调参的过程,进而理解深度学习的机理;为此,博主这里提供了一个自己编写的一个例子,带领大家理解一下网络学习的正向传播和反向传播的过程;除此之外,为了实现batch读取,我还设计并提供了一个简单的DataLoader类去模拟深度学习中数据迭代器的取样;并且提供了存取模型的函数;值得注意的是仅仅使用python实现,因此对于环境的需求不是很大,希望各位可以多多star我的博客和github,学习到更有用的知识!!目录2020-10-22 16:21:143918
27
-
原创 行人重识别github开源库——HJL-re-id
目录一、简介二、实现的Re-ID模型三、MDRS四、遮挡的行人重识别项目地址:https://github.com/nickhuang1996/HJL-re-id一、简介这是由博主自己完成的行人重识别代码库,包含了博主自己研究的MDRS模型。该项目包含对日志记录、损失监测和可视化Rank图像的充分支持。训练项目中的各个模型都是Pytorch实现的。二、实现的Re-ID模型PCB [ECCV2018]Beyond Part Models: Person Retri.2020-09-20 22:19:342092
12
-
原创 Pytorch中Softmax和LogSoftmax的使用
目录一、函数解释二、代码示例三、整体代码一、函数解释1.Softmax函数常用的用法是指定参数dim就可以:(1)dim=0:对每一列的所有元素进行softmax运算,并使得每一列所有元素和为1。(2)dim=1:对每一行的所有元素进行softmax运算,并使得每一行所有元素和为1。class Softmax(Module): r"""Applies th...2020-05-02 15:16:044365
1
-
原创 Keras中的MultiStepLR
Keras中没有多步调整学习率(MultiStepLR)的调度器,但是博主这里提供一个自己写的:1.代码from tensorflow.python.keras.callbacks import Callbackfrom tensorflow.python.keras import backend as Kimport numpy as npimport argparsepa...2019-12-21 16:00:044036
2
-
原创 各种深度学习框架实现猫狗大战
目录不同深度学习框架下的实现教程/github地址1.Pytorch2.TensorFlow3.Keras4.MXNet不同深度学习框架下的实现教程/github地址(好用的话记得star噢)1.Pytorch一个教程和项目地址,代码需要自己建立项目,或者从github上下载PyTorch 入门实战(五)——2013kaggle比赛 猫狗大战的实现htt...2019-12-21 15:43:245159
3
-
原创 针对深度学习框架版本的讨论
目录一、前言二、深度学习版本匹配三、各种深度学习必要组件的下载地址和截图一、前言最近几天,由于需要安装新的深度学习环境,我对当前的版本匹配和安装方式进行了记录。由于安装环境需要版本匹配,因此在不知道各种环境的匹配情况就下载CUDA等组件会出现浪费时间和流量的行为。二、深度学习版本匹配1.Python 3.7(Anaconda3 5.3.0) + CUDA 9.0/C...2019-12-21 15:19:394130
1
-
原创 基于MXNet的Cats vs. Dogs(猫狗大战)实现和详解
2019.12.8 更新完整代码https://github.com/nickhuang1996/Dogs_vs_Cats_MXNet具体的搭建和运行步骤可参看README.md介绍这个存储库是为kaggle Dogs vs.Cats match准备的,但是您可以利用这个代码来学习如何使用mxnet。 对于网络,建立了包含VGG和ResNet等预训练模型的结构。 对于采样器,有...2019-12-08 13:10:584457
2
-
原创 卷积与转置卷积——输出特征图边长公式推导
目录一、公式1.卷积2.转置卷积二、公式推导1.卷积公式推导2.转置卷积公式推导3.代码演示一、公式1.卷积2.转置卷积在Pytorch中,转置卷积层参数还含有output_padding,用于解决输出大小不唯一(歧义)的问题,因此转置卷积公式稍有变化:二、公式推导1.卷积公式推导为了直观,这里选择的卷积核,输入大小为...2019-12-05 15:43:524711
4
-
原创 深度学习的简介、领域、框架和实际应用概述
一、深度学习简介 深度学习,英文名称为Deep Learning,是近几年人工智能领域的主要研究方向。深度学习的主要任务是通过构建深度卷积神经网络(Deep Neural Network,DNN)和采用大量样本数据作为输入,人们最终会得到一个具有强大分析能力和识别能力的模型,该模型包含了DNN的构成参数以应用于实际工作。 由于深度学习依赖DNN这样一个参数量庞大且非...2019-11-25 18:31:2014039
23
-
原创 ModuleNotFoundError: No module named 'torch.utils.serialization' 的解决方案
目录一、出现问题二、分析原因三、解决方法一、出现问题ModuleNotFoundError: No module named 'torch.utils.serialization'二、分析原因可能是Pytorch版本太新导致三、解决方法1.安装旧一点的Pytorch版本2.更换为新版本的函数:torchfile(1)安装torchfilepip ...2019-10-22 15:30:5314228
3
-
转载 Pytorch中 maxpool的ceil_mode
原文:https://blog.csdn.net/GZHermit/article/details/79351803Pytorch里面的maxpool,有一个属性叫ceil_mode,这个属性在api里面的解释是ceil_mode: when True, will use ceil instead of floor to compute the output shape也就是说,...2019-05-22 12:20:395817
1
-
原创 Ubuntu 16.04 安装CUDA9.0和cuDNN7.4.1(亲测成功)
目录一、安装CUDA二、下载cuDNN三、设置环境变量四、查看安装是否成功一、安装CUDA1.博主这里选择9.0版本,CUDA历代版本下载的网址为:https://developer.nvidia.com/cuda-toolkit-archive2.如下选择 ...2019-05-15 19:56:344824
1
-
转载 基于深度学习的行人重识别研究综述 罗浩.ZJU
转载自:https://zhuanlan.zhihu.com/p/31921944前言:行人重识别(Person Re-identification)也称行人再识别,本文简称为ReID,是利用计算机视觉技术判断图像或者视频序列中是否存在特定行人的技术。广泛被认为是一个图像检索的子问题。给定一个监控行人图像,检索跨设备下的该行人图像。在监控视频中,由于相机分辨率和拍摄角度的缘故,通常无法得到...2019-04-30 13:02:582024
3
-
原创 行人重识别库Open-ReID的下载和使用
目录一、介绍二、依赖项三、下载四、安装五、使用前的注意事项六、快速开始(训练+测试)一、介绍Open-ReID是一个轻量级的行人重识别库,用于研究目的。它旨在为不同的数据集提供统一的界面,一整套模型和评估指标,以及再现(接近)最新结果的示例。二、依赖项安装PyTorch(版本≥ 0.2.0)。虽然Open-ReID同时支持python2和python...2019-05-05 14:19:113910
17
-
转载 PyTorch中 transforms的二十二个方法
文章目录一、 裁剪——Crop1.随机裁剪:transforms.RandomCrop2.中心裁剪:transforms.CenterCrop3.随机长宽比裁剪 transforms.RandomResizedCrop4.上下左右中心裁剪:transforms.FiveCrop5.上下左右中心裁剪后翻转: transforms.TenCrop二、翻转和旋转——Flip ...2019-06-25 12:53:457017
4
-
原创 PASSRnet 论文笔记
Learning Parallax Attention for Stereo Image Super-Resolution目录一、关注点二、贡献三、表现四、常用SR方法在解决立体图像SR的不足和局限性五、PASSRnet具体流程六、PASSRnet体系结构图七、残差空洞空间金字塔池化(ASPP)八、视差注意模块(PAM)九、左右一致性和周期一...2019-04-29 16:30:391948
1
-
原创 torch.norm()函数的用法
目录一、函数定义二、代码示例三、整体代码一、函数定义公式: 意思就是inputs的一共N维的话对这N个数据求p范数,当然这个还是太抽象了,接下来还是看具体的代码~p指的是求p范数的p值,函数默认p=2,那么就是求2范数 ...2019-05-30 16:28:1514221
1
-
原创 Pytorch里.t()的作用
目录一、函数解释二、用法示例一、函数解释在torch/_C/_VariableFunctions.py的有该定义,意义就是将Tensor进行转置 def t(self, input): # real signature unknown; restored from __doc__ """ t(input) -> Tensor ...2019-05-28 11:04:3515214
0
-
原创 Pytorch里addmm()和addmm_()的用法详解
一、函数解释在torch/_C/_VariableFunctions.py的有该定义,意义就是实现一下公式:换句话说,就是需要传入5个参数,mat里的每个元素乘以beta,mat1和mat2进行矩阵乘法(左行乘右列)后再乘以alpha,最后将这2个结果加在一起。但是这样说可能没啥概念,接下来博主为大家写上一段代码,大家就明白了~ def addmm(self, beta=1...2019-05-28 14:58:0516209
3
-
转载 PyTorch学习之归一化层(BatchNorm、LayerNorm、InstanceNorm、GroupNorm)
原文:https://blog.csdn.net/shanglianlm/article/details/85075706BN,LN,IN,GN从学术化上解释差异:BatchNorm:batch方向做归一化,算NHW的均值,对小batchsize效果不好;BN主要缺点是对batchsize的大小比较敏感,由于每次计算均值和方差是在一个batch上,所以如果batchsize太小,则计算的...2019-06-13 14:43:528275
0
-
原创 Pytorch中torch.autograd.grad()函数用法示例
目录一、函数解释二、代码范例(y=x^2)一、函数解释如果输入x,输出是y,则求y关于x的导数(梯度):def grad(outputs, inputs, grad_outputs=None, retain_graph=None, create_graph=False, only_inputs=True, allow_unused=False): r...2019-06-14 16:31:3320316
8
-
原创 Pytorch中.new()的作用
目录一、作用二、使用方法三、具体代码四、实际应用(添加噪声)一、作用创建一个新的Tensor,该Tensor的type和device都和原有Tensor一致,且无内容。二、使用方法如果随机定义一个大小的Tensor,则新的Tensor有两种创建方法,如下:inputs = torch.randn(m, n)new_inputs = inputs.new()...2019-08-22 14:39:3811308
6
-
原创 关于Pytorch中dataset的迭代问题(这就是为什么我们要使用dataloader的原因之一)
目录一、问题二、思考三、实验四、解决方法一、问题博主在写采样器时将dataset的类对象赋值给data_source,然后准备对data_source取样,总是提示在__getitem__()函数提示越界。二、思考换言之,在对dataset对象进行迭代取样时其__len__()方法似乎失效了。。。三、实验博主做了如下实验,利用Pytorch的FakeData...2019-08-27 17:08:006755
3
-
原创 vs2017\vs2019 VGG16处理cifar-10数据集的PyTorch实现
这是针对于博客vs2017安装和使用教程(详细)和vs2019安装和使用教程(详细)的VGG16-CIFAR10项目新建示例目录一、说明二、代码三、结果四、注意事项一、说明1.网络框架搭建教程请参看博主博客:PyTorch 入门实战(四)——利用Torch.nn构建卷积神经网络2.这里主要展示博主的代码和运行结果,希望可以帮助到正在学习PyTorch的人们二、代...2019-01-23 14:30:374307
22
-
原创 Julia 基于Flux深度学习框架的cifar10数据集分类
目录一、安装Julia二、Flux简介三、安装Flux和相关依赖库四、cifar10项目下载*五、cifar10数据集下载六、开始训练一、安装JuliaIDE是Atom,安装和使用教程为:Windows10 Atom安装和运行Julia的使用教程(详细)二、Flux简介1.Flux.jl是一个内置于Julia的机器学习框架。它与PyTorch有一些相似之处,...2019-04-24 20:24:573018
1
-
原创 TensorFlow中 tf.space_to_depth()函数的用法
目录一、函数定义二、解释范例三、代码验证一、函数定义通俗易懂些,就是把输入为[batch, height, width, channels]形式的Tensor,其在height和width维的值将移至depth维space_to_depth( input, block_size, data_format="NHWC", name=No...2019-04-23 17:56:046533
1
-
原创 3DASR 论文笔记
目录一、关注点二、做出的贡献三、3D物体纹理呈现的问题和相关方法的不足四、图像生成模型五、3D物体外观的超分辨率数据集——3DASR六、基于学习的方法七、实验结果八、总结一、关注点1.多个视点捕获对象的研究情况很少。2.3D对象外观的数据集很少。3.高质量的3D技术已经应用于电影制作,视频游戏和数字文化遗产保护等领域。然而使用这种技术将图像重新投影到...2019-04-27 22:09:251649
0
-
翻译 ESPCN 论文翻译
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network 项目地址:github(tensorflow):https://github.c...2019-03-18 14:40:063463
2
-
原创 如何看论文
1.首先,要去了解这篇论文所要解决的问题,相关领域2.其次,这篇的网络架构是什么样的,设计的目的是什么,和之前的一些论文的架构和方法有什么优势,改进的地方在哪里3.这篇论文的不足和缺点,有可能自己提出,也有可能别的论文提出,需要仔细留意4.这篇论文的效果和其他方法的比较(传统方法/机器学习/深度学习方法),特殊场景/图片的比较...2019-03-14 11:19:321765
1
-
翻译 Efficient Video Object Segmentation via Network Modulation 翻译
通过网络调制实现高效的视频对象分割 项目地址:https://github.com/linjieyangsc/video_seg摘要当仅给出带注释的第一帧时,视频对象分割目标在整个视频序列中对特定对象进行分段。最近基于深度学习的方法发现使用数百次梯度下降迭代来微调注释帧上的通用分割模型是有效的。...2019-03-06 12:54:101693
1
-
原创 windows10系统查看NVIDIA显卡GPU使用情况——解决方法
目录一、前言二、解决方法一、前言1.随着深度学习的快速发展,GPU的优劣也决定模型训练速度的快慢,而了解GPU的使用情况可以让我们合理的分配GPU。2.现在普遍的深度学习的GPU采用的都是NVIDIA显卡,而企业也提供了专门的方式供我们去查看GPU的使用情况。对于一些windows10系统的用户,他们可以在任务管理器的性能界面查看到GPU的使用情况,但是有些用户就不可以,例如博...2019-02-14 12:35:5119573
5
-
原创 torch x = x.view(x.size(0),-1)的理解
目录一、概述二、代码展示一、概述1.在torch的网络定义部分的forward(self,x)中有可能会出现下面这句话: x = x.view(x.size(0),-1)2.这句话的意思是将多维度的Tensor展平成一维,但是到底转换的样子是什么样的其实我们这样看并不明白二、代码展示1.我们先定义一个Tensor:import torcha = torc...2019-01-21 10:17:234317
7
-
翻译 ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks 翻译
ESRGAN:增强型超分辨率生成对抗网络 项目地址:https://github.com/xinntao/BasicSR摘要超分辨率生成对抗网络(SR GAN)[1]是一项开创性的工作,能够在单图像超分辨率期间生成逼真的纹理。然而,幻觉细节通常伴随着令人不快的伪影。为了进一步提高视觉质量,我们深入研究了SRGA...2019-01-13 17:06:418331
7
-
原创 ModuleNotFoundError: No module named '_pywrap_tensorflow_internal'--解决方法
目录一、问题描述二、问题分析三、解决方法四、什么是_pywrap_tensorflow_internal一、问题描述最近朋友装环境时又遇到这个问题:ModuleNotFoundError: No module named '_pywrap_tensorflow_internal' Failed to load the native TensorFlow run...2019-01-13 10:04:1516920
11
-
原创 vs2017 开始自己的第一个深度学习例子——MNIST分类(基于TensorFlow框架)
这是针对于博客vs2017安装和使用教程(详细)的深度学习例子——MNIST分类项目新建示例目录一、新建项目二、运行代码三、生成结果一、新建项目1.项目创建参照博主文章:vs2017 开始自己的第一个Python程序2.输入代码:# -*- coding: utf-8 -*-#获得数据集from tensorflow.examples.tutorials.m...2018-11-29 16:30:384450
4
-
原创 vs2017 ESRGAN(Enhanced SRGAN)的PyTorch实现
博主搭建项目参考借鉴的代码框架是:https://github.com/xinntao/BasicSR博主搭建项目参考的论文地址为:https://arxiv.org/pdf/1809.00219.pdf博主翻译论文网址:ESRGAN: Enhanced Super-Resolution Generative Adversarial Networks 翻译目录一、环境和依赖项...2019-01-12 17:18:026812
24
-
翻译 Optical Flow Guided Feature: A Fast and Robust Motion Representation for Video Action Recognition 翻译
光流引导特征:视频动作识别的快速鲁棒运动表示 项目地址:https://github.com/kevin-ssy/Optical-Flow-Guided-Feature摘要运动表示在视频中的人类动作识别中起着至关重要的作用。在本研究中,我们介绍了一种用于视频动作识别的新颖紧凑运动表示,称为光流引导特征(OFF...2018-12-24 12:35:133646
1
-
翻译 VESPCN 论文翻译
Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation 摘要卷积神经网络实现了准确的图像超分辨率。然而,最近受益于视频超分辨率中的时间相关性的尝试仅限于朴素或低效的架构。在本文中,我们介绍了时空亚像素卷积网络,有效地利用时间冗余,提高重...2019-03-22 18:47:292046
4
-
原创 VESPCN 论文笔记
博主相关译文:VESPCN 论文翻译目录一、解决问题二、原理三、空间转换网络(STN)四、VESPCN中的STN五、运动补偿(MC)六、损失函数七、图像融合八、结果展示一、解决问题1.用于高清视频SR的现有超分方法,在实时性上没有有效利用时间相关性。2.ESPCN利用亚像素卷积进行操作,但没有对视频处理帧的情况。3.VSRnet也是一个不错的网络...2019-04-04 10:51:412428
2