自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

g11d111的博客

Github: https://github.com/tomguluson92

  • 博客(134)
  • 论坛 (2)
  • 收藏
  • 关注

原创 [Samuel Ko]——我的2020年回顾

0. 写在前面其实一直以来,CSDN博客就完全是我个人的技术成长方面的记录和总结,由于工作的原因,一些更新,更好的资料没办法上传上来。之前的CSDN对我来讲,更像是一个纯技术文档,在这已经几年了,也完全没有发一些关于个人的动态或者经历。现在是2021年1月3号,时光荏苒,我决定让自己在CSDN上写一些自己的想法和思考,作为对自己技术生活的记录,希望能不会让大家觉得这篇博客是我自己在搔首弄姿,卖弄风骚。。。1. 我是谁?对我而言,当很欣赏一些人的博客文章,论文或者开源代码的时候,就非常有了解对方是谁的

2021-01-03 21:10:32 67 3

翻译 StyleGAN2 解释

本文是[1]的译文, 按照作者Connor Shorten的说法, 此博客讨论的是StyleGAN2的诸如weight demodulation, path length regularization和去掉progressive growing等信息。虽然我去年底自己复现过StyleGAN2的pytorch版, 但对这些内容也有些忘记了,借此机会复习下。对于StyleGAN不了解的小伙伴,建议先看下别人写的关于StyleGAN的基本介绍,然后再来看本文,相信会收获更多~0. 前言来自Nvidia.

2020-10-21 15:10:39 885

原创 Yolov5 系列2--- 如何使用Yolov5训练你自己的数据集

上一篇《Yolov5 系列1— Yolo发展史以及Yolov5模型详解》讲了Yolo的发展历史,这一篇的目的是讲述如何使用Yolo v5训练自定的数据集,并会分析一些常见的选项以及背后的故事。相比第一部分《Yolov5 系列1— Yolo发展史以及Yolov5模型详解》的内容,本篇文章主要聚焦于使用代码进行训练,并对一些需要关注的点进行了说明。目的是让读者能够非常快的上手代码,训练其自己的目标检测任务。3. 配置Yolo v5的环境+准备数据集+训练[1]这部分主要参照Yolo v5作者Glenn.

2020-09-29 20:23:20 2711 3

原创 Yolov5 系列1--- Yolo发展史以及Yolov5模型详解

最近在做检测相关的工作,几年前分析过faster-rcnn的代码和论文。现在,把yolov5这个最新且快的模型进行梳理。本文会从Yolo的发展历程开始,到损失函数,mAP的概念,最后到如何在代码层面训练你的定制化数据集。好了,让我们开始吧~1. YOLO (You Only Look Once) 的发展历史这部分内容主要借鉴自 科技猛兽@知乎 在知乎的发文,我这里会做一下简化,具体细节请去看这位大佬的文章 [1-3]。1.1 YOLO v0YOLO v0的思路起源于将基本的CNN思路从分类任.

2020-09-28 20:45:27 12881 8

原创 (中文详解篇)smallpt: 99行代码完成全局光照Path Tracing

目录0. 什么是SmallPTFeatures1. 光线追踪需要了解知识1.1 什么是全局光照?1.2 渲染方程2. SmallPT代码分析2.1 代码块12.2 代码块22.2.1 主函数第1步: 设置呈像平面2.2.2 主函数第2步: 设置相机位置2.2.3 主函数第3步: 创建图像2.2.4 如何计算radiance?2.3 shading 着色2.3.1 diffuse reflection 漫反射2.3.2 Ideal Specular (Mirror) Reflection 高光反射2.3.3

2020-08-24 00:49:46 788

原创 <CVPR2020 Oral>AI妆容迁移: Pose-Robust Spatial-Aware GAN for Customizable Makeup Transfer

写在前面: 跟朋友讨论的时候,发现妆容迁移也有挺大的市场,看到一篇关于这个的介绍文,学习一下~论文地址: https://arxiv.org/pdf/1909.06956.pdf这篇论文是CVPR2020 oral. 没有开源训练代码~古老的美容行业(The age-old beauty industry)正在经历一场变革, 成千上万的博主在互联网上分享美容、化妆技巧、技术和化妆偏好。 但是,当问题来到: "我应该涂哪种唇膏或者为啥我画出来的妆跟demo video里的差这么大?"的时候,人工.

2020-07-29 23:51:01 536

原创 [CVPR2020最佳论文详细解读] Unsupervised Learning of Probably Symmetric Deformable 3D Object
原力计划

本文是基于CVPR2020最佳论文,来自牛津VGG组的吴尚哲学Unsup3D

2020-06-26 22:54:26 3738 12

原创 [PyG] 1.如何使用GCN完成一个最基本的训练过程(含GCN实现)

0. 前言为啥要学习Pytorch-Geometric呢?(下文统一简称为PyG) 简单来说,是目前做的项目有用到,还有1个特点,就是相比NYU的DeepGraphLibrary, DGL的问题是API比较棘手,而且目前没有迁移的必要性。图卷积框架能做的事情比较多,提供了很多方便的数据集和各种GNN SOTA的实现,其实最吸引我的就是这个framework的API比较友好,再加之使用PyG做项...

2020-04-14 11:24:47 6211 11

翻译 PyTorch学习笔记(19) ——NIPS2019 PyTorch: An Imperative Style, High-Performance Deep Learning Library

0. 前言波兰小哥Adam Paszke从15年的Torch开始,到现在发表了关于PyTorch的Neurips2019论文。中间经历了漫长的过程。这里,把原文进行翻译放出来,以供读者了解这几个问题:为什么要设计PyTorch?PyTorch与之前的深度学习framework的区别是什么?PyTorch有什么设计准则?是什么导致了PyTorch在研究者社区的流行?相信读者在看完下面...

2020-03-01 10:36:19 1437

原创 PyTorch学习笔记(18) ——基于pytorch 1.1.0编写cuda扩展

0. 前言对于一些特殊的算子, 我们需要进行定制其前向和反向的过程, 从而使得其能够获得更快的速度, 加速模型的训练. 这样, 我们自然会想到使用PyTorch的cuda扩展来实现, 这里, 我将以一个简单且易于理解的例子出发, 详细的介绍如何构造一个属于你的cuda扩展.1. 为什么需要写cuda扩展?由于我们的一些特殊结构可以由基础的pytorch提供的算子进行组合而形成, 但是, 其问...

2020-02-20 12:23:10 1342 3

原创 Voxceleb2 视频数据集下载(国内链接)

最近需要用到voxceleb2的视频数据集做点东西, 但是发现从官网下载实在太过于费劲, 好不容易下载下来, 将将近300GB的文件切片上传至百度云. 希望能对需要这个数据集做事情的童鞋有点帮助. ^.^1. 写在前面我们使用的是牛津大学Zisserman大神率领的团队做的 <Voxceleb2: Deep Speaker Recognition>[1] 数据集的视频部分(因为...

2019-11-14 10:11:56 3641 40

原创 PyTorch学习笔记(16)——编写你自己的PyTorch kernel(基于PyTorch1.2.0)

在前一阵看过PyTorch官方核心开发者Edward Z, Yang的在纽约举办的PyTorch NYC Meetup的关于PyTorch内部机制的讲解。从通过strides指定逻辑布局,tensor wrapper到autograd机制以及对PyTorch内部最重要的几个基本代码模块的扼要说明,让人受益匪浅。其中,在PyTorch写kernel是一个非常让人兴奋的内容,作为一个contribu...

2019-06-25 14:55:15 2638

原创 2018 Additive Attention分析及代码

最近需要评估一些self-attention模块的效果, 除了简单好用的Squeeze-Excitation外, Additive Attention (AA) 是最近开始受到人们注意的一个新型self-attention的注意力机制, 来自犹他大学和亚马逊的作者们, 原意是将其用在BiLSTM的序列模型中的, 但是因为我是做CV方向的, 所以借由他的实现, 参考论文, 实现了精简版的(即可以...

2019-03-29 18:03:26 2059 4

原创 PyTorch学习笔记(14) ——PyTorch 1.0 的C++ FrontEnd初体验

在去年12月份,我尝试了一下PyTorch 1.0的C++前端, 当时官方负责PyTorch的C++前端的老哥是: Peter Goldsborough, 当时的C++前端还不够稳定,官方文档提供的demo无法跑通.所以为了避免后面的同学再次入坑. 本部分将会手把手教你如何用PyTorch1.0 跑通C++ Mnist模型的训练~0. PyTorch C++接口哲学PyTorch’s ...

2019-02-28 10:30:41 1755 5

原创 2018 Iterative Visual Reasoning Beyond Convolutions 论文梳理

18年是GNN开始初出茅庐也是大放异彩的一年, 这篇论文是李飞飞团队的关于GNN在CV领域中的一个开拓性的应用.甚至作者陈鑫磊称, 通过结合CNN和GNN, 本文发明了&amp;amp;quot;下一代的视觉识别系统&amp;amp;quot;. 这个观点是不是很让人瑟瑟发抖? 好了, 下面开始分析论文结构和代码组成.0. 论文简述近年来, 由于卷积神经网络的大放异彩, 我们在如图像分类, 图像分割等经典的CV任务中取得了很大的进展. 但是...

2019-01-12 11:52:37 2031 1

原创 Tensorflow③ Keras的LSTM和TF的LSTM实现的源码剖析

最近在做可以转成pb模型的RNN/LSTM层的实现细节分析。经过一些分析,发现了在Keras里面常见的keras.layers.LSTM和Tensorflow的tf.contrib.rnn.LSTMCell有一些实现上面的区别。本文将立足于Keras和Tensorflow源码,分别搭建两个简单的一层LSTM的神经网络,验证权重的解析顺序及计算逻辑的正确性。Let’s roll~0. 常见的L...

2018-12-19 13:00:18 5332 24

原创 PyTorch学习笔记(13)——强力的可视化工具visdom

今天,让我们来放松一下大脑,学习点轻松的东西————可视化工具Visdom,它可以让我们在使用PyTorch训练模型的时候,可视化中间的训练情况,无论是loss变化还是中间结果比较。相比干呆呆的瞪着命令行,Visdom让我们的调参之路变得更加生动和活泼了.~0. 前言对于一些任务,尤其是难以收敛以及情况复杂的,如果在训练过程中,实时可视化训练情况,将会让我们对训练手段进行及时调整,更好的达...

2018-11-27 18:47:24 4762

原创 PyTorch学习笔记(12)——PyTorch中的Autograd机制介绍

在《PyTorch学习笔记(11)——论nn.Conv2d中的反向传播实现过程》[1]中,谈到了Autograd在nn.Conv2d的权值更新中起到的用处。今天将以官方的说明为基础,补充说明一下关于计算图、Autograd机制、Symbol2Symbol等内容。0. 提出问题不知道大家在使用PyTorch的时候是否有过“为什么在每次迭代(iteration)的时候,optimizer都要清...

2018-10-13 09:35:00 5219

原创 PyTorch学习笔记(11)——论nn.Conv2d中的反向传播实现过程

0. 前言众所周知,反向传播(back propagation)算法 (Rumelhart et al., 1986c),经常简称为backprop,它允许来自代价函数的信息通过网络向后流动,以便计算梯度。它是神经网络之所以可以进行学习的最根本因素。在如PyTorch、Tensorflow等深度学习框架中,都广泛的使用了自动微分(Autograd)的机制,主要也就是从哈佛的智能概率系统组(Har...

2018-10-12 12:36:57 4507 4

原创 PyTorch学习笔记(7)——多重派发

本文主体内容转载自罗秀哲——PyTorch源码浅析(五),因为我的C语言不熟悉,所以本篇大体还是借鉴于罗神的文章。不过相比罗身,我比较侥幸成为了PyTorch官方的contributor,一共也没改多少代码…,可能对罗神对PyTorch改动太多,没人有时间review吧。多重派发首先我们需要了解什么是多重派发,详细的内容可以参考这个wiki:Multiple dispatch,具体...

2018-08-16 15:10:59 1043

原创 PyTorch学习笔记(6)——DataLoader源代码剖析

这两天把DataLoader的源代码的主要内容进行了一些分析,基于版本0.4.1。当然,因为内容比较多,没有全部展开,这里的主要内容是DataLoader关于数据加载以及分析PyTorch是如何通过Python本身的multiprocessing和Threading等库来保证batch是顺序取出的。额外的内容都会给出链接,在这里不会详细展开。0.前言(楔子)本篇关于DataLoad...

2018-08-08 14:40:31 26441 7

原创 PyTorch学习笔记(5)——论一个torch.Tensor是如何构建完成的?

最近在准备学习PyTorch源代码,在看到网上的一些博文和分析后,发现他们发的PyTorch的Tensor源码剖析基本上是0.4.0版本以前的。比如说:在0.4.0版本中,你是无法找到a = torch.FloatTensor()中FloatTensor的usage的,只能找到a = torch.FloatStorage()。这是因为在PyTorch中,将基本的底层THTensor.h TH...

2018-07-27 13:25:38 3713 3

翻译 PyTorch学习笔记(21) ——损失函数

0. 前言本博客内容翻译自纽约大学数据科学中心在2020发布的《Deep Learning》课程的Activation Functions and Loss Functions部分.废话不多说,下面直接开始吧 ^ . ^1. 损失函数本文是PyTorch学习笔记(20)——激活函数的姊妹篇。PyTorch实现了许多损失函数,这些我们将介绍其中的一些。nn.MSELoss()MS...

2020-05-03 16:40:45 771

翻译 PyTorch学习笔记(20) ——激活函数

0. 前言本博客内容翻译自纽约大学数据科学中心在2020发布的《Deep Learning》课程的Activation Functions and Loss Functions部分.废话不多说,下面直接开始吧 ^ . ^1. 激活函数本内容将回顾一些重要的激活函数以及其在PyTorch中的实现,它们来自各种各样的论文,并在一些任务上有着优异的表现~ReLU torch.nn.ReLU(...

2020-05-02 12:44:23 2127

原创 2017 LARS:LARGE BATCH TRAINING OF CONVOLUTIONAL NETWORKS (训练大Batch的卷积神经网络)

0. 写在前面前一段时间调研AI芯片在尽量保证准确率的情况下,如何快速训练大规模数据集并分析其可行性。UC Berkeley的大佬尤洋[1]的这篇<LARS:LARGE BATCH TRAINING OF CONVOLUTIONAL NETWORKS> 提供了一个很好的保证在大Batch Size的分布式训练情况下,精度损失很小的策略。下面, 让我们开始~1. 摘要 (Abstra...

2020-01-26 14:24:06 1455

原创 PyTorch学习笔记(17) ——pytorch的torch.repeat和tf.tile的对比

0. 前言在对比stylegan2的D_stylegan2的时候, 我需要校对我的Minibatch_stddev_layer和作者的tf版本的区别,其中,有一个算子f.tile, 网上已经介绍的很清楚了,将其翻译为pytorch版本的时候其对应的算子没有清晰的解释,因此我将torch.repeat和tf.tile进行了简单比较(下面),基本结论是2者是一致的,可以等效替换.1. 测试比较①...

2019-12-29 19:30:24 2677

转载 如何构建一个大脑---为工程师们介绍神经生理学.

日期: 2019.11.25 星期一 晚作者: Julius Kunze (这个小伙是UCL博士, 我是看他写了基于Jax的神经网络框架而关注他的, 他的这个项目是属于刚刚起步阶段, 只有他自己1个人提交代码.)译者: Samuel Ko(即本人)1. 为什么想要翻译这篇文章?因为我看到这篇文章的中段, 里面以生物学的角度阐述了membrane potential的变化情况, 这在之前...

2019-12-02 18:20:09 517 1

翻译 反卷积的棋盘格效应

本文译自来自谷歌大脑的AUGUSTUS ODENA等人的文章: Deconvolution and Checkerboard Artifacts[1], 虽然是16年的博客了, 但是其对解释反卷积的棋盘效应已经如何规避都给出了非常好和到位的意见. 下面让我们开始~前言当我们分析由神经网络生成的图片的时候, 常常会发觉有一种奇怪的人造物 (artifacts) 的棋盘格效应 (checker...

2019-09-30 19:12:01 2736 2

翻译 机器翻译评价指标BLEU介绍

最近需要设计一个机器翻译相关的试验, 其中好多东西都不同, 先从基础的评价指标来吧. 本文翻译自Jason Brownlee的博客[1]. 可能会简化一部分内容, 如有需要请读者直接读原文.0. 前言BLEU (其全称为Bilingual Evaluation Understudy), 其意思是双语评估替补。所谓Understudy (替补),意思是代替人进行翻译结果的评估。尽管这项指标...

2019-08-28 11:15:37 21304 4

转载 ON-LSTM:用有序神经元表达层次结构

本文转载自 苏剑林[1]在科学空间上关于ON-LSTM非常好的解析, 中间加入一些细节的说明, 以期读者在理解原理之余, 对其实现也有概念. 下面开始…前言今天介绍一个有意思的LSTM变种:ON-LSTM,其中“ON”的全称是“Ordered Neurons”,即有序神经元,换句话说这种LSTM内部的神经元是经过特定排序的,从而能够表达更丰富的信息。ON-LSTM来自文章《Ordered ...

2019-08-20 11:18:58 965 1

原创 基于TensorRT 5.x的网络推理加速(python)

本文目的主要在于如何使用TensorRT 5.x的python api来进行神经网络的推理。因为目前TensorRT只支持ONNX,Caffe和Uff (Universal Framework Format)这三种格式。这里以tensorflow的pb模型为例(可以无缝转换为uff)进行说明。0. TensoRT介绍TensorRT是英伟达(NVIDIA)开发的一个可以在NVIDIA旗下...

2019-06-15 10:30:02 5346 6

原创 gRPC python封装深度学习算法教程

最近需要提供一个包含多个神经网络推理的python代码供gRPC调用,即我需要在这个主程序的基础上封装一个支持gRPC的服务端(server)。本教程的目的在于通过简单的代码,来帮助有需求的朋友使用python来构建属于自己的gRPC服务端/客户端。0. 前言最近需要用grpc调用我们的算法模块, 对于我来讲,就是需要提供一个grpc的server,供它们的go或者c++的client进行...

2019-05-25 11:39:39 3309

转载 PyTorch学习笔记(15) ——PyTorch中的contiguous

本文转载自栩风在知乎上的文章《PyTorch中的contiguous》。我觉得很好,特此转载。0. 前言本文讲解了pytorch中contiguous的含义、定义、实现,以及contiguous存在的原因,非contiguous时的解决办法。并对比了numpy中的contiguous。contiguous 本身是形容词,表示连续的,关于 contiguous,PyTorch 提供了is...

2019-05-21 23:30:20 4858 2

原创 2018 轻量化网络Mobilnet v2

0. MobileNet介绍MobileNet是M为移动和嵌入式设备提出的高效模型。MobileNet基于流线型(streamlined) 架构,使用深度可分离卷积(depthwise separable convolutions, 即Xception变体结构, 详细请参考干巴他爹–Depthwise卷积与Pointwise卷积)来构建轻量级深度神经网络。论文验证了MobileNet在目标检测...

2019-05-13 14:20:17 720

翻译 2017 如何训练一个GAN网络

GAN, 作为一种非常厉害的生成模型, 在近年来得到了广泛的应用. Soumith, PyTorch之父, 毕业于纽约大学的Facebook的VP, 在2015年发明了DCGAN: Deep Convolutional GAN. 它显式的使用卷积和转置卷积在判别器和生成器中使用. 他对GAN的理解相对深入, 特地总结了关于训练GAN的一些技巧和方式, 因为不同于一般任务, 像设置优化器, 计算l...

2019-04-08 22:26:56 2521

翻译 Nevergrad: 一个Facebook发布的derivative-free的开源优化工具包

本文翻译自Olivier Teytaud等人于2018年底发布在code.fb.com上的一篇文章Nevergrad: An open source tool for derivative-free optimization . Nevergrad是一个新颖的东西, 按开发者的意思, 未来要将其纳入到对PyTorch等AI框架的支持中, 这引起了我的一点点兴趣, 下面开始贴正文.0. 前言...

2019-02-28 13:45:53 705

原创 2017 Deformable ConvNets V1介绍及分析(包括代码)

最近Deformable Conv V2比较火, Deformable Conv的概念是MSRA的戴季峰等人提出来的, 挺不错的一个东西, 对于有形变的物体的识别效果很好, 今天先把其前身Deformable ConvNets V1做个总结, 以便打好学习Deformable ConvNets V2的基础. 发现了一个特别好的博客 imperfect00——deformable convolut...

2019-01-23 15:25:33 1954 2

原创 阿里云ECS搭建gogs(Ubuntu16.04)

前言因为我的阿里云服务器是只有1核和512MB内存最“顶级”的配置。安装和配置gitlab做版本管理的话至少需要4GB,即便我把搞了4G的SWAP分区也不行。在gitlab的配置过程中不只一次把我搞死,所以在请教大神的意见后,转而搭建gogs。这个比gitlab需要的资源少多了,下面把安装和配置的过程讲述一下。安装配置详细过程① 下载&amp;amp;amp;amp;amp;安装go和gogs这里先在根目录下创建一个叫...

2018-12-13 14:00:17 681 2

转载 Ubuntu /boot 占满解决方案

转载自SpeculateCat写的文章&lt;Ubuntu /boot 占满解决方案&gt;我们在安装 Window 和 Ubuntu 双系统的时候,往往会自定义 /boot 分区,一般网上的教程都会建议给 /boot 分区分配 200M-300M 的大小。但是,系统升级的时候,往往会是这个分区空间被占满,导致不能升级,以下为针对这以问题的解决方法。解决问题的思路造成这一问题的主要原因是...

2018-11-21 17:38:34 826

原创 Tensorflow① 模型转换 ckpt转pb h5转pb

此篇博客重在总结Tensorflow,Keras模型训练的模型文件转换为pb结构的方式,节省寻找转换工具的时间。1. Tensorflow ckpt模型转换pb模型我们在Tensorflow中训练出来的模型一般是ckpt格式的,一个ckpt文件对应有xxx.ckpt.data,xxx.ckpt.meta和xxx.ckpt.index三个内容。而在生产环境中,一般C++只能加载pb的模型,...

2018-11-16 11:39:55 9465 13

空空如也

sooner高的留言板

发表于 2020-01-02 最后回复 2020-05-14

申请CSDN博客专家

发表于 2018-08-27 最后回复 2018-09-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除