python并发与并行(三) ———— 利用Lock防止多个线程争用同一份数据
Published:
Published:
Published:
Published:
并发(concurrency)指计算机似乎能在同一时刻做许多件不同的事情。例如,在只配有一个CPU核心的计算机上面,操作系统可以迅速切换这个处理器所运行的程序,因此尽管同一时刻最多只有一个程序在运行,但这些程序能够交替地使用这个核心,从而造成一种假象,让人觉得它们好像真的在同时运行。 并行(parallelism)与并发的区别在于,它强调计算机确实能够在同一时刻做许多件不同的事情。例如,若计算机配有多个CPU核心,那么它就真的可以同时执行多个程序。每个CPU核心执行的都是自己的那个程序之中的指令,这些程序能够同时向前推进。
Published:
Published:
上一篇我们说的是树莓派camera的libcamera库,提供了在命令行的对camera的操作功能。今天要说的是picamera2库,树莓派官方提供的picamera2库是针对libcamera 驱动提供的 python库。Picamera2仅支持Raspberry Pi OS Bullseye 以及更新的系统。
Published:
Published:
本篇blog来分析和总结下树莓派系统文件以及他们的作用。使用的系统是Raspberry Pi OS with desktop
Published:
Script mode通过torch.jit.trace
或者torch.jit.script
来调用。这两个函数都是将python代码转换为TorchScript的两种不同的方法。
Published:
PyTorch支持两种模式:eager模式和script模式。eager模式主要用于模型的编写、训练和调试,script模式主要是针对部署的,其包含PytorchJIT和TorchScript(一种在 PyTorch 中执行高效的序列化代码格式)。
Published:
transformers目前大火,但是对于长序列来说,计算很慢,而且很耗费显存。对于transformer中的self attention计算来说,在时间复杂度上,对于每个位置,模型需要计算它与所有其他位置的相关性,这样的计算次数会随着序列长度的增加而呈二次增长。在空间复杂度上,self attention需要存储一个矩阵来保存所有位置的相关性分数,这个矩阵的大小也会随着序列长度的增加而呈二次增长。因此,对于非常长的序列,这种二次复杂度会导致计算和内存消耗急剧增加,使得模型在处理这样的输入时会变得相对缓慢且需要大量内存。这也是为什么对于超长序列,可能需要采取一些策略,如切分成短序列进行处理,或者使用其他模型架构来替代传统的Transformer模型。
Published:
感受野可能是卷积神经网络中最重要的概念之一,在学术中也被广泛关注。几乎所有的目标检测方法都围绕感受野来设计其模型结构。这篇文章通过可视化的方法来表达感受野的信息,并且提供一用于计算任何CNN网络每一层感受野的程序。
Published:
模型量化分为后量化(Post-training Quantization, PTQ)和训练量化(Quantization aware training,QAT)。PTQ是直接将模型浮点权重转换为整数,QAT是将模型插入量化节点,之后再fine-tune调整模型的权重。
Published:
pytorch的hook机制允许我们在不修改模型class的情况下,去debug backward、查看forward的activations和修改梯度。hook是一个在forward和backward计算时可以被执行的函数。在pytorch中,可以对Tensor
和nn.Module
添加hook。hook有两种类型,forward hook
和backward hook
。
Published:
1. 背景
Published:
浅谈 Deep Learning 落地与工程部署问题
Published:
浅谈 Deep Learning 落地与工程部署问题
Published:
python多层循环列表推导。
Published:
python中*号用法大全。
Published:
各方向优秀博主。
Published:
使用realsense d415获取相机与物体之间的距离,OS环境为Jetson Nano。
Published:
yolov4 + pytorch + tensorrt + cuda + docker环境配置。各主要软件版本如下:
Published:
启用esp32的多核,以便并行执行任务,同时设置芯片的主频和freertos实时系统。
Published:
本地连接运行在服务器docker中的jupyter notebook。
Published:
ESP32使用LVGL GUI库,在单片机设备上使用现代且华丽的GUI。
Published:
强化学习docker环境配置,使用rllib强化学习算法库,使用tensorflow2和pytorch深度学习框架。
Published:
使用jetson nano进行深度学习模型部署的过程,本文基于Pytorch。
Published:
ESP32使用Arduino框架驱动树莓派3.5寸LCD屏幕。
Published:
LaTex使用总结
Published:
Linux使用总结。
Published:
记录一些学习深度强化学习的过程中值得记录的东西
Published:
记录一些编程的技巧和经验.
Published:
将常用的Python文件和目录操作整理了一下,包括文件和文件夹的读写、创建删除、复制移动,还有一些像文件、文件夹的过滤等其他的小技巧。
Published:
找到了几篇写的比较好的强化学习和模仿学习的国外的硕士论文,有很多小伙伴问我这些论文是哪里找到的,是GitHub推荐给我的,多看GitHub上相关的内容,GitHub的推荐系统还是不错的。