Posts by Tags

Arduino

ESP32使用LVGL GUI库

2 minute read

Published:

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

CNN

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

3 minute read

Published:

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

ESP32

esp32启用多核

3 minute read

Published:

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

ESP32使用LVGL GUI库

2 minute read

Published:

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

LVGL

ESP32使用LVGL GUI库

2 minute read

Published:

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

LaTex

Python

编程随笔

7 minute read

Published:

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

Python文件和目录操作整理

1 minute read

Published:

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

cutlass

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

11 minute read

Published:

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

d415

deep learning

docker

强化学习docker环境配置

2 minute read

Published:

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

effective python

flash attention

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

11 minute read

Published:

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

hook

pytorch hook

4 minute read

Published:

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

jetson nano

jit

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 中执行高效的序列化代码格式)。

jupyter notebook

libcamera

linux

nanoDet

picamera2

DIY相机(二)picamera2库

18 minute read

Published:

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

python

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

less than 1 minute read

Published:

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

pytorch

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 中执行高效的序列化代码格式)。

pytorch hook

4 minute read

Published:

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

realsense

subrocess

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

less than 1 minute read

Published:

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

tensorrt

torch.jit

torch.jit.trace与torch.jit.script

4 minute read

Published:

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

triton

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

11 minute read

Published:

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

yolov4

yolov4-tiny

优秀博主

多线程

嵌入式GUI

ESP32使用LVGL GUI库

2 minute read

Published:

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

并发与并行

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

less than 1 minute read

Published:

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

强化学习

强化学习docker环境配置

2 minute read

Published:

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

强化学习的国外硕士论文

less than 1 minute read

Published:

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

感受野

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

3 minute read

Published:

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

文件夹操作

Python文件和目录操作整理

1 minute read

Published:

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

文件操作

Python文件和目录操作整理

1 minute read

Published:

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

树莓派

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

树莓派LCD

模型部署与落地

模型量化

1 minute read

Published:

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

模型量化

模型量化

2 minute read

Published:

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

模型量化

1 minute read

Published:

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

深度学习

深度强化学习

深度强化学习笔记

less than 1 minute read

Published:

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

相机

DIY相机(二)picamera2库

18 minute read

Published:

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

硕士论文

强化学习的国外硕士论文

less than 1 minute read

Published:

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

编程技巧

编程随笔

7 minute read

Published:

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

编程随笔

编程随笔

7 minute read

Published:

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

论文

强化学习的国外硕士论文

less than 1 minute read

Published:

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