咆哮的阿杰
码龄9年
关注
提问 私信
  • 博客:983,228
    社区:1
    动态:16
    983,245
    总访问量
  • 218
    原创
  • 17,615
    排名
  • 563
    粉丝
  • 3
    铁粉
  • 学习成就

个人简介:吾生也有涯,而知也无涯

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2016-05-07
博客简介:

我的博客有点东西

博客描述:
不做调包侠,也不止于深度学习
查看详细资料
  • 原力等级
    成就
    当前等级
    6
    当前总分
    2,232
    当月
    10
个人成就
  • 获得1,165次点赞
  • 内容获得633次评论
  • 获得3,717次收藏
  • 代码片获得2,954次分享
创作历程
  • 1篇
    2024年
  • 1篇
    2023年
  • 9篇
    2022年
  • 7篇
    2021年
  • 53篇
    2020年
  • 138篇
    2019年
  • 9篇
    2018年
  • 3篇
    2017年
成就勋章
TA的专栏
  • 深度学习
    61篇
  • Nerf
    1篇
  • 图形学
    1篇
  • 机器学习
    3篇
  • Windows开发
    1篇
  • Git
  • 多模态
    1篇
  • 项目展示
    2篇
  • 竞赛经历
    1篇
  • 视频目标分割
    11篇
  • Pytorch
    27篇
  • TensorFlow
    19篇
  • 人脸相关(检测,识别,GAN)
    13篇
  • cs231n
    3篇
  • Opencv
    8篇
  • QT
    1篇
  • Linux
    2篇
  • ACM
    2篇
  • LeetCode
    74篇
  • Python
    9篇
兴趣领域 设置
  • 人工智能
    tensorflowpytorch
创作活动更多

AI大模型如何赋能电商行业,引领变革?

如何使用AI技术实现购物推荐、会员分类、商品定价等方面的创新应用?如何运用AI技术提高电商平台的销售效率和用户体验呢?欢迎分享您的看法

175人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

从另一种简单的形式理解扩散模型原理和代码实践

本文从一个简化的问题入手,用两个不同分布的点集这种简单的数据类型作为样例,讲解了DDPM问题的建模过程,整个建模过程的核心是设计前向公式,并围绕着前向公式变换为推理过程,进而引导读者思考模型在推理过程中起到的作用。并用python代码做了训练和测试的实验,最终的结果也符合我们的预期。从理论和实践上较为完整的介绍了DDPM的核心思想和使用方法。本文为作者原创,转载请注明出处。
原创
发布博客 2024.07.09 ·
750 阅读 ·
20 点赞 ·
0 评论 ·
23 收藏

pytorch多进程处理数据的代码模板

【代码】pytorch多进程处理数据的代码模板。
原创
发布博客 2023.08.29 ·
362 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Instant Neural Graphics Primitives with a Multiresolution Hash Encoding以及源码浅析

现存的一些新视图合成的训练过程和渲染速度都比较慢,其原因是因为query point需要使用MLP编码,而且在一个采样空间中,存在很多无效的query point也要计算其density和color,从而出现很多冗余计算。作者针对这个问题,提出了基于哈希的特征提取方式,通过反向求导更新哈希表中的特征向量。作者陈述了非哈希式的优化方法的弊端,即便像八叉树等方法可以将训练缩短至几分钟,但仍有多余计算,可以进一步精简。作者提出了多分辨率哈希索引,每个分辨率有独立的哈希表,将索引出来的特征全部concat之后送入
原创
发布博客 2022.11.27 ·
2266 阅读 ·
0 点赞 ·
2 评论 ·
10 收藏

拉普拉斯变形的原理解析和python代码

拉普拉斯变形是图形学处理mesh的常用方法,它假定mesh的顶点,在变化前后,顶点的拉普拉斯距离应该是一致的。L=D−A=D(I−D−1A)D是每个顶点的度,A是邻接矩阵。假设有变形前的顶点为V,有L*V,将其拆解,可以发现就是求每个顶点i的顶点位置减去相邻的顶点位置*(1/di​)。LV1​=Vi​−j∈Ni​∑​di​1​Vj​j是顶点i的邻接顶点索引。因此,拉谱拉斯矩阵中保存了顶点的局部信息。
原创
发布博客 2022.10.05 ·
3013 阅读 ·
0 点赞 ·
0 评论 ·
12 收藏

网格细分 mesh subdivision相关资料以及python代码

其中threshold控制是否细分,如果mesh的最长的边小于threshold,就不分割。首先根据github中pymeshlab的readme安装好pymeshlab。以上代码和用meshlab GUI的loop算法一样。推荐使用pymeshlab。
原创
发布博客 2022.09.02 ·
846 阅读 ·
0 点赞 ·
0 评论 ·
5 收藏

SVD求解两个点集之间的刚体运动,即旋转矩阵和平移向量。

给出两个点集A和B,求解点集之间的刚体变化,包含scale,rotation,translate。使其A经过变换之后,可以和B在空间上对齐。
原创
发布博客 2022.08.19 ·
1720 阅读 ·
0 点赞 ·
0 评论 ·
8 收藏

sklearn中的SparseCoder是什么?又该如何使用

SparseCoder的应用场景不多,因为本身无法考虑更多的约束,比如加入不等式,就不好求解了。SparseCoder其实是一个最优化求解方法。它所处理的对象是线性方程。因为3dmm的公式中。就有求表情基系数的地方,而那里是线性方程。在3dmm人脸重建中,可以应用SparseCoder。则可以使用SparseCoder。...
原创
发布博客 2022.08.15 ·
627 阅读 ·
1 点赞 ·
1 评论 ·
1 收藏

从RepVgg到MobileOne,含mobileone的代码

重参数化的思想本质上就是利用线性模型的可加性。在工业界就在conv和bn层融合上有所应用。最近几年一直有re-parameter的工作。RepVGG是一个比较好的应用。VGG是直筒式模型,因为没有skip connnection,导致训练更深层的vgg会出现模型的退化。但如resnet等,skip connnect为端上设备增加了运行耗时,在数据的存取上有不小的消耗。因此RepVGG,将重参数的思想融合进来,在训练时,为vgg引入了skip connection,在测试时将skip connection和
原创
发布博客 2022.06.25 ·
1697 阅读 ·
2 点赞 ·
2 评论 ·
16 收藏

EditGAN阅读纪要

official code背景目前的GAN图像编辑往往遵循两条路线:输入一些condition作为额外输出,让模型在输入图像的全局信息下,修改图像使得符合该条件。条件一般有class label或者是semantic mask。第二种是在隐空间去解耦各种属性,得到控制该属性的方向向量。让隐变量朝向这个方向进行shift,就能实现编辑的目的。第二种也有用label训练分类器实现编辑效果,也有用无监督的方式获得方向向量的方式。同时也有修改隐变量,也有修改模型参数这两种实现编辑的方式。然而,上面两种方式各有
原创
发布博客 2022.05.01 ·
593 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Pastiche Master: Exemplar-Based High-Resolution Portrait Style Transfer

cvpr2022 code and paper背景现有的stylegan finetuning的人物风格化方法,基本上是将source domain变换到target domain,这要求target domain至少上百张质量较高的样本,并且只能实现一种风格化。DualStyleGAN在stylegan-ffhq的基础上,同样是finetuning,但是增加了condition,引入dual style path以及有效的监督,使得可以利用风格模板,生成符合模板风格的人脸图像。MethodDua
原创
发布博客 2022.03.27 ·
2740 阅读 ·
1 点赞 ·
4 评论 ·
15 收藏

SimSwap: An Efficient Framework For High Fidelity Face Swapping

offifical infernece code背景Deepfake式的换脸decoder的目的是将B的脸换到A的头上。但输入特征是由从B处得到,因此要求decoder学习到了A的表示。这注定了Deepfake只能对两个人之间换脸,无法实现任意人之间的换脸。MethodSimSwap其实也很简单,模型分成5个部分。一个Encoder,对target image提取特征。IIM: 由多个ID block组成的残差网络。Decoder,输出具备source image 的人脸的图像,但属性来自t
原创
发布博客 2022.03.25 ·
1237 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Relation-aware Video Reading Comprehension for Temporal Language Grounding 论文阅读笔记

来自云从,即将开源?paper是做文本查询对应视频片段的工作,即给一个文本作为query,需要知道一段视频中,满足这个query描述的起止时间和终止时间。输出的时间戳满足属于连续时间段。如上图所示,红色框中起止和终止时间就是模型的预测输出。背景众多的temporal language grounding(TLG)方法,注重整个句子和视频的关系,而忽略了每个token和moment的关系,后者是一种更加细粒度的语言信息。而且还忽略了多个候选框之间的联系,暴力的采用ranking方法,单独处理每个候选
原创
发布博客 2021.11.15 ·
940 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Labels4Free: Unsupervised Segmentation using StyleGAN论文解读

入选ICCV2021,官方page website,暂未开源paper还是很有创意的,只是pipeline搭建起来很繁琐,还有很大的改进空间。背景styleGAN等生成对抗网络可以生成逼真的图像,生成器的中间特征已经有了前景和背景的特征学习能力,但目前没有方法研究让GAN生成图像的同时,还生成前景目标的mask。本篇paper正是为了解决该问题。作者基于两种假设前景和背景是独立的,因此独立生成然后组合,也能生成逼真的图像。生成器的中间特征学习到了前背景特征分布,是可以利用起来,用于生成前景目标
原创
发布博客 2021.09.05 ·
1081 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

transformer中的相对位置偏置的介绍(relative position bias)

前言在很多近期的transformer工作中,经常提到一个词: relative position bias。用在self attention的计算当中。笔者在第一次看到这个概念时,不解其意,本文用来笔者自己关于relative position bias的理解。笔者第一次看到该词是在swin transformer。后来在focal transformer和LG-transformer中都看到它。relative position bias(相对位置偏置)基本形式如下:Attention(Q,K
原创
发布博客 2021.08.23 ·
11850 阅读 ·
16 点赞 ·
11 评论 ·
31 收藏

Python多进程池的使用详解,以及结合tqdm进度条的使用

进程池是为了简化多进程任务而生。当我们有大量的任务,其处理函数都是相同的,或者只是函数参数不同。这种情况,直接生成和任务数量相同的进程是极其消耗资源的(比如用Process和for依次生成进程)。这个时候就非常适合使用进程池Poolimport multiprocessing as mpn_proc = 5pool = mp.Pool(n_proc)以上代码生成了5个进程的池子。最多可以同时运行5个相同的函数。pool类有以下4种非常常用的类型。apply:阻塞,任务其实是一个一个执行完的。
原创
发布博客 2021.08.06 ·
12475 阅读 ·
12 点赞 ·
2 评论 ·
46 收藏

Designing an Encoder for StyleGAN Image Manipulation论文解读

官方源码和论文地址又是基于StyleGAN用于图像编辑的又一力作!基于StyleGAN做图像编辑,首先要找到隐向量(GAN inversion),这个过程的主流方式有两种:优化隐向量,找寻能重构出指定图像的隐向量。代表有image2style,in-domian GAN。设计一个Encoder,用于将图像映射到StyleGAN的隐空间上。代表有style-encoder。其实还有一种比较小众,利用分类器的思想,步骤也繁琐。代表有interpretGAN。IDEA目前基于styleGAN的图
原创
发布博客 2021.03.25 ·
3010 阅读 ·
7 点赞 ·
0 评论 ·
14 收藏

MAST: A Memory-Augmented Self-Supervised Tracker论文解读和代码剖析

官方代码作者开源的官方代码有一处错误,在代码剖析部分将指出。有人已经在github上提出了issue,作者一直没回应。我也是在阅读代码的时候发现了这个错误。背景VOS任务很少有使用自监督的,即在训练中不借助mask,只用frame image来训练。作者巧妙的在STM的基础上,将value换成frame自身,使用过去帧重构当前帧作为代理任务(proxy),实现自监督的vos。效果还不错,在davis val上是64的J&F。核心思想仍然是采用STM的memory bank的思想。mem
原创
发布博客 2021.01.16 ·
750 阅读 ·
3 点赞 ·
2 评论 ·
3 收藏

U-GAT-IT: 人脸转动漫网络(非配对图像翻译)精华总结

ugatit也是基于cyclegan,需要使用gan loss, cycle loss和idt loss。除此之外,论文还提出了在G和D中使用一个分类器,训练分类器也需要一个loss,叫做cam loss,受类激活映射启发。论文的两个创新点:adaptive Layer Instance normalization(adaLIN)类似于SENet的通道注意力。只不过exciting权重是来自CAM分类器。方法G_A代表从A域往B域转换,D_A代表判别真实的B域和假的B域样本G_A(X)。另外的
原创
发布博客 2021.01.14 ·
3606 阅读 ·
2 点赞 ·
0 评论 ·
22 收藏

Visual Tracking by TridentAlign and Context Embedding论文解读和代码剖析

用于在GPU上实时的目标跟踪新方法,入选ECCV2020官方代码我认为论文有如下特点:相对于simaMask这种孪生网络,作者进行full-frame matching。不在上一帧预测位置expand一个box作为search image。直接用原图作为search的对象。因为没了时间smooth假设,没法在目标邻域截取search image。为了解决在原图存在很多相似目标的情况,作者提出tridentAlign方法,考虑到多尺度,更好的表达时序上的目标尺度变化。使用full-frame se
原创
发布博客 2020.12.25 ·
544 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

PyTorch多进程分布式训练最简单最好用的实施办法

PyTorch的distributed训练已经逐渐代替nn.Dataparallel的方式,因为官方对其有更好的支持,并且训练速度更快。大家可能知道一种启动方法,就是用torch.launch启动。但有没有被冗长的代码段惹的不开心呢。今天阿杰为大家带来一种更简单的启动方式,那就是torch.multiprocessingNote: torch.multiprocessing的启动和用torch.launch本质是一样的,就是单纯的代码量少。使用方法使用头文件import torch.multipro
原创
发布博客 2020.12.03 ·
13567 阅读 ·
28 点赞 ·
3 评论 ·
47 收藏
加载更多