Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

python并发与并行(一) ———— 用subprocess管理子进程

less than 1 minute read

Published:

并发(concurrency)指计算机似乎能在同一时刻做许多件不同的事情。例如,在只配有一个CPU核心的计算机上面,操作系统可以迅速切换这个处理器所运行的程序,因此尽管同一时刻最多只有一个程序在运行,但这些程序能够交替地使用这个核心,从而造成一种假象,让人觉得它们好像真的在同时运行。 并行(parallelism)与并发的区别在于,它强调计算机确实能够在同一时刻做许多件不同的事情。例如,若计算机配有多个CPU核心,那么它就真的可以同时执行多个程序。每个CPU核心执行的都是自己的那个程序之中的指令,这些程序能够同时向前推进。

DIY相机(二)picamera2库

18 minute read

Published:

上一篇我们说的是树莓派camera的libcamera库,提供了在命令行的对camera的操作功能。今天要说的是picamera2库,树莓派官方提供的picamera2库是针对libcamera 驱动提供的 python库。Picamera2仅支持Raspberry Pi OS Bullseye 以及更新的系统。

树莓派系统文件分析

4 minute read

Published:

本篇blog来分析和总结下树莓派系统文件以及他们的作用。使用的系统是Raspberry Pi OS with desktop

torch.jit.trace与torch.jit.script

4 minute read

Published:

Script mode通过torch.jit.trace或者torch.jit.script来调用。这两个函数都是将python代码转换为TorchScript的两种不同的方法。

PyTorch JIT和TorchScript

2 minute read

Published:

PyTorch支持两种模式:eager模式和script模式。eager模式主要用于模型的编写、训练和调试,script模式主要是针对部署的,其包含PytorchJIT和TorchScript(一种在 PyTorch 中执行高效的序列化代码格式)。

flash attention 1和flash attention 2算法的python和triton实现

11 minute read

Published:

transformers目前大火,但是对于长序列来说,计算很慢,而且很耗费显存。对于transformer中的self attention计算来说,在时间复杂度上,对于每个位置,模型需要计算它与所有其他位置的相关性,这样的计算次数会随着序列长度的增加而呈二次增长。在空间复杂度上,self attention需要存储一个矩阵来保存所有位置的相关性分数,这个矩阵的大小也会随着序列长度的增加而呈二次增长。因此,对于非常长的序列,这种二次复杂度会导致计算和内存消耗急剧增加,使得模型在处理这样的输入时会变得相对缓慢且需要大量内存。这也是为什么对于超长序列,可能需要采取一些策略,如切分成短序列进行处理,或者使用其他模型架构来替代传统的Transformer模型。

容易被忽视的CNN模型的感受野及其计算

3 minute read

Published:

感受野可能是卷积神经网络中最重要的概念之一,在学术中也被广泛关注。几乎所有的目标检测方法都围绕感受野来设计其模型结构。这篇文章通过可视化的方法来表达感受野的信息,并且提供一用于计算任何CNN网络每一层感受野的程序。

模型量化

2 minute read

Published:

模型量化分为后量化(Post-training Quantization, PTQ)和训练量化(Quantization aware training,QAT)。PTQ是直接将模型浮点权重转换为整数,QAT是将模型插入量化节点,之后再fine-tune调整模型的权重。

pytorch hook

4 minute read

Published:

pytorch的hook机制允许我们在不修改模型class的情况下,去debug backward、查看forward的activations和修改梯度。hook是一个在forward和backward计算时可以被执行的函数。在pytorch中,可以对Tensornn.Module添加hook。hook有两种类型,forward hookbackward hook

模型量化

1 minute read

Published:

浅谈 Deep Learning 落地与工程部署问题

esp32启用多核

3 minute read

Published:

启用esp32的多核,以便并行执行任务,同时设置芯片的主频和freertos实时系统。

ESP32使用LVGL GUI库

2 minute read

Published:

ESP32使用LVGL GUI库,在单片机设备上使用现代且华丽的GUI。

强化学习docker环境配置

2 minute read

Published:

强化学习docker环境配置,使用rllib强化学习算法库,使用tensorflow2和pytorch深度学习框架。

深度强化学习笔记

less than 1 minute read

Published:

记录一些学习深度强化学习的过程中值得记录的东西

编程随笔

7 minute read

Published:

记录一些编程的技巧和经验.

Python文件和目录操作整理

1 minute read

Published:

将常用的Python文件和目录操作整理了一下,包括文件和文件夹的读写、创建删除、复制移动,还有一些像文件、文件夹的过滤等其他的小技巧。

强化学习的国外硕士论文

less than 1 minute read

Published:

找到了几篇写的比较好的强化学习和模仿学习的国外的硕士论文,有很多小伙伴问我这些论文是哪里找到的,是GitHub推荐给我的,多看GitHub上相关的内容,GitHub的推荐系统还是不错的。

portfolio

publications

talks

teaching