- 博客(69)
- 资源 (8)
- 收藏
- 关注
原创 优雅:“鉴赏”代码
这个和一些收藏类节目中,鉴赏人员通过一副画的实体与印章的位置是否符合美学,就可以论断这副画的真、假一样。“大家”的画必然符合,而不“符合”则必然是赝品。
2025-04-02 13:17:38
128
原创 一致性问题pipeline: 一致性问题梳理
截止到目前,在工作中遇到了至少5次的一致性比较问题,其中有4次是自己亲身参与的,有1次则是旁观者的身份。本篇文章是对这一典型任务的梳理。
2025-01-14 18:10:10
476
原创 软件工程pipeline梳理
以算法/软件工程师为代表的技术工种往往会存在以下的“误区”:“需求沟通是扯皮”,“开会是浪费时间”,“代码review就是走个过场”。上述认知的获得,很大程度上是因为缺乏对一个完整的软件/项目周期的认识,从而拘泥于“写代码”这一“有技术含量”的点上。一叶遮目,不见泰山。梳理软件工程的pipeline可以强化自己的全局意识,更接近事物的真实面貌。
2024-10-10 12:36:36
1011
原创 通过Github Actions实现代码的持续集成(Continuous Integration/CI)(2)
通过集成的持续化和自动化,可以得到如下好处:1.将软件工程师从繁琐的重复操作中解放出来;2.解放软件工程师的大脑,避免记忆一些没必要的指令、账户和密码发;3.主观上增强软件工程师版本发布的信心,客观上提高了软件工程师版本发布的质量。反过来思考,应该也以上述三点为出发点,反过来在尚没有github actions workflow的领域推广、搭建类似该思想的机制。
2024-10-07 19:18:26
985
原创 通过Github Actions实现代码的持续集成(Continuous Integration/CI)(1)
CI之所以重要,是因为它是软件工程领域一个公认的思想”每日构建和冒烟测试“的具体实现。可以在CI中规范不同开发者的代码撰写习惯、及早的返现代码变动的错误、粘合各种构建、集成的繁琐重复工作并自动完成以及增强开发者对代码仓库质量的信心。这些操作都是被push或者tag等git操作自动触发。自动触发,这是一种优雅的计算机思维的体现。。
2024-09-23 23:26:37
803
原创 通过pypi包来降低代码的复杂性和避免重复代码
在编写pypi包时,需要考虑细枝末节。但一旦包写好之后,程序员就可以忘记这些细节,在不了解其内部工作原理的情况下使用该包”。“我不需要知道一切。我只需要知道在哪里可以找到它。”这一观点有一定的道理,但本文可以作为该观点的一定补充。因为毕竟翻阅文档也需要耗费一定的时间,而且如果旁边有同事看着的时候,一些常规的操作,如果需要查阅文档,也显得挺尴尬,但同时程序员的大脑是最宝贵的资源,通过包来主导、统一自己的模式是一个降低记忆的手段。同时pypi包一定程度上避免了重复代码的问题,进而避免了“平行维护”的问题。
2024-09-22 00:40:37
706
原创 pipeline:无题
目前工作中的一个现状是,在季度开始的时候需要自己思考方向、规划工作;可能还需要自己说服上级和产品业务侧争取资源。本篇文章是对近期一次季度规划及评审经历的一次复盘和反思。感觉暂时拿捏不准应该起一个什么样的题目,暂定为无题。
2024-07-20 22:53:36
727
原创 快捷:通过胶水语言实现工作中测试流程并行、加速
计算机思维的要点之一是自动化。如果能够有将一切事务pipeline化之后,然后再自动化的想法以及行动,这样在我看来就具备了一定程度的计算机思维。而这种思维是至关重要的。本篇博客记录了近期在实际工作中的一次有意思的尝试记录。
2024-07-14 18:43:51
763
原创 优雅:通过同时配置多个pip源,实现各种python包的成功安装
如果习惯于在python包安装失败之后,在各个源之间进行切换,是一种比较低效的工作习惯。事实上可以同时配置多个源,pip install的时候可以依次轮训各个源,这样更加高效。
2023-03-13 14:05:13
3028
原创 优雅:通过env手段,在linux平台上安装多个python环境,提高自己的工作效率
在linux平台上安装多个python环境,并流畅的切换是一项研发过程中的高频操作
2023-01-30 14:39:45
1055
原创 优雅:通过vscode进行C++代码开发(linux平台),实现复杂的项目开发,提高自己的工作效率
vscode目前已经成为自己唯一的编译器工具,实现各种语言的开发至关重要。
2023-01-19 23:00:30
3376
原创 内涵:显卡---显卡驱动---CUDA---Cudnn
本文是以日常工作中“需要安装多个CUDA、cudnn版本”实际需求为契机,梳理了一些相关概念、关系和操作流程。
2022-11-30 00:34:20
1194
原创 优雅:通过shell脚本实现中断任务的自动重启
实际工作场景中,常常由于各种因素导致任务执行过程中发生中断,本文介绍了两种遇到的经典case, 通过shell脚本实现中断任务的自动重启。
2022-10-12 16:23:08
1620
原创 内涵:文本识别论文之Aster解读
ASTER是独立于另一篇博文CTC文本识别的另一篇经典识别论文。它的全称是~~A~~ ttentional ~~S~~ cene ~~Te~~ xt Recognizer with Flexible ~~R~~ ectification。这篇文章从两个维度介绍了Aster论文:整体和核心模块TPS细节。接下来计划补充另外两个维度:Attentional 文本识别和基于CTC的CRNN对比以及从Aster这篇论文中获得的启发。
2022-09-26 10:14:33
2452
原创 内涵:YOLO系列解读(上)-----YOLOv1到YOLOv3梳理
写这篇文章的契机是6月底和7月初,Yolo v6和Yolo v7版本相继发布。其中Yolo v7还得到了darknet官方的背书。Yolo系列从2015年提出的Yolo(You Only Look Once),到如今已经经历了7年。本篇博客仅仅是对Yolo系列中,Yolov1, Yolov2和Yolov3的梳理。......
2022-08-30 10:34:30
2160
原创 内涵:文本识别论文CRNN
本文解读的是一篇来自2015年的一篇文字识别论文。里面的CTC Loss相关内容的理解有一定的挑战性,本文是对自己当前理解的一份记录。并通过pytorch和自己手算结果的对比来验证自己理解的正确性。
2022-08-19 21:10:18
1434
原创 debug pipeline: 规范自己debug的流程
本文通过反思自己的debug过程,期待输出一套属于自己的比较规范的流程。并在今后的工作、学习中不断的对该流程进行完善、修订,使其越来越好、越来越适合自己。
2022-07-24 18:23:01
2172
原创 快捷:通过python脚本实现循环将文件上传至git仓库的功能
本文介绍了如何通过python脚本实现循环将文件上传至git的功能,实现了办公效率的提升。
2022-07-09 13:56:07
1259
原创 内涵:为什么需要对结构体进行序列化和反序列化操作,以c++语言为例
序列化操作看似费心,需要自己来设计。但一旦设计出来,代码的鲁棒性,序列化之后的可读性都会更优雅。反观直接的fwrite和fread这种“偷懒”的做法,则是一种比较“快糙猛”的做法,会有较多的隐患存在。.........
2022-06-17 06:39:12
1850
原创 ConvNext用于目标检测
ConvNext目标检测部分的代码,作者仅提供了部分python文件,如果想将该部分代码正常跑起来,会涉及ConvNext、Swin-Transformer-Object-Detection和Mmdetection多个仓库。本篇文章分享了本人组装好的一个用于object detection的ConvNext仓库,方便目标检测领域的读者直接安装、使用。
2022-05-20 16:39:24
1763
7
原创 内涵:STN(spatial transformer network)论文与源码理解
近期对2015年的一篇较为经典的论文"spatial transformer networks(stn)"进行了研究。本博文是stn阅读心得的记录。在第二小节中,会描述stn的实现细节,包括三大组成构件:localisation network, Grid generator, Sampler。在第三小节中会通过跟踪stn源码(pytorch版本)来验证自己的理解。在第四部分作为扩展部分,会尝试从数学角度研究STN的可导性。
2022-05-13 02:03:29
3671
1
原创 内涵:对file descriptor、pipe操作符和redirect操作符等概念的记录
本文是对linux指令中常涉及的(标准)file descriptor、pipe操作符和redirect操作符等概念的简单阐释。期待通过本文的撰写,对上述概念的认知从简单的复制、粘贴到略知其所以然的效果。
2022-04-09 18:06:47
758
原创 内涵:C++类设计准则(初级)
最近在学习侯捷老师的C++课程,该博文是对课程中一些关于类设计的准则提炼。适用于初级学习者。用侯捷老师的话,一个鲁棒性、优雅性比较高的C++代码应该注意这些细节。
2022-03-29 12:14:40
632
原创 快捷:利用python多进程加速日常工作中的for循环操作
本文介绍了如何利用python多进程来加速处理for循环操作的方式,该方案可以处理多进程带有返回值的情景,并结合tqdm模块动态显示进程的处理进度。
2022-03-27 12:22:41
7267
原创 对MS coco数据集的ann file协议的探究
本篇文章探究了当前目标检测领域最为流行的MS coco数据集的ann file协议,并提供了一个含有64张图片及其对应anno file的coco子数据集,方便日常工作中开源算法和框架的安装、调试等工作。
2022-03-26 19:24:31
4548
2
原创 优雅:通过一些细节的调整,将信息优雅的保存为json形式
本文记录了json文件保存过程的一些细节:1.中文乱码问题; 2. 按照字典中key值排序问题; 3.json文件排版问题。期望能够撰写出尽可能优雅、专业的代码。
2022-03-25 21:16:05
698
原创 内涵:算法学习之gumbel softmax
这里写自定义目录标题1. gumbel_softmax有什么用呢?2.argmax(x)是什么?为什么不可导?3. 引入随机性:gumbel分布4. 解决不可导:gumbel_softmax1. gumbel_softmax有什么用呢?假设如下场景:模型训练过程中, 网络的输出为p = [0.1, 0.7, 0.2], 三个数值分别为"向左", “向上”, "向右"的概率。 我们的决策可能是y = argmax§, 也即选择"向上"这条决策。但是,这样做会有两个问题:argmax()函数是不可导
2022-01-20 21:28:21
21761
4
原创 实际开发场景下Git操作流程
利用git对代码的版本管理是一个程序员基本技能之一。本文按照实际研发场景下的情形,描述一下具体每个步骤上相关的git 指令和注意事项。
2021-05-17 07:42:40
842
2
原创 内涵:Linux常见问题记录
1. 无法scp 在一台新的电脑上可能会出现scp指令失效的现象。其原因是因为ssh相关的组件未安装。 如果主机A向主机B进行scp操作。则主机A上需要安装openssh-client, 该组件ubuntu默认是安装了的。 如果没有也可以通过以下指令来安装。sudo apt-get install openssh-client主机B上需要提前安装openssh-server。入宫没有可以通过以下指令来安装。sudo apt-get install openssh-server...
2021-05-16 16:47:33
142
1
原创 内涵:高性能网络之shufflenet v2
1.概述 这篇文章是高性能神经网络的经典论文之一shufflenet-v2, 发表于18年7月份,由旷视的马宁宁,孙坚等人提出。21年的RepVgg论文中的一些理论基础很多也是来自于这篇文章。这篇文章层层递进的可以总结为如下这样几个问题:高性能网络在做什么?之前高性能网络设计是怎么做的?这样设计的依据目标函数是否存在问题?高性能网络的真实的设计目标是什么?依据设计目标,进行对比实验,可以得到一些有用的怎样的设计准则?依据提出的设计准则,设计了一个网络,效果是否可以达到预期?2. 高效能网络
2021-02-28 18:39:03
2581
原创 内涵:目标检测之ATSS
1. 论文1.1 文章讲了什么 目前目标检测领域的做法分为两大类:anchor-based(one-stage vs two-stage)和anchor-free(keypoint-based vs center-based)。anchor-based系列的文章有例如R-CNN系列和YOLO系列。而anchor-free系列的文章是由于FPN和Focal loss的出现,也变得流行起来(大概在2019年初的样子)。atss这篇文章认为两者的本质其实并没有太大差异,一些看似差异的操作其实并不会对最终的性
2021-01-31 14:17:26
3418
1
原创 内涵:半监督学习之Temporal Ensembling For Semi-supervised Learning
这篇文章是ICLR2017的一篇文章,是半监督学习领域的一篇经典文章,以这篇文章作为进入半监督学习的一个切入点。 在这篇文章中,作者的将其工作描述为self-ensembling,而具体来讲有两点:1. Π model 2. temporal ensembling。We describe two ways to implement self-ensembling, Π-model和temporal ensembling. Π model的思路来源比较直接,就是我们如何去使用无标签数据来进行
2020-12-27 12:08:22
6283
8
快捷:通过胶水语言实现工作中测试流程并行、加速-加速测试outline.drawio
2024-07-14
快捷:通过胶水语言实现工作中测试流程并行、加速-原始测试outline.drawio
2024-07-14
UNIX网络编程配套源代码
2016-06-02
OPENCV人眼检测
2016-02-26
空调遥控器,含有PTOTUES仿真图,KELL 源代码工程文件,和单片机课程设计报告
2014-07-04
德州仪器高性能单片机和模拟器件在高校中的应用和选型
2013-08-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人