hdrnet,Deep Bilateral Learning for Real-Time Image Enhancement解读
Published:
论文、代码和ppt地址:Deep Bilateral Learning for Real-Time Image Enhancement
Published:
论文、代码和ppt地址:Deep Bilateral Learning for Real-Time Image Enhancement
Published:
在Python中编写测试的最经典办法是使用内置的unittest模块。例如,这里有个定义在utils.py文件里的工具函数,我们想验证它能不能正确地处理各种输入数据。
Published:
我们实现的目标是做image classification,使用MINIST数据集。
Published:
Published:
论文地址:An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
Published:
ISP本身并不是一个标准化的对象,但数字视频的标准化却已持续进行了很长时间。1982年制定的Rec. ITU-R Rec. 601和 Rec. ITU-R BT. 656(也被称作CCIR601/656)首次对ISP的基本组件进行了标准化。
Published:
Published:
有些Python程序写到一定阶段,性能就再也上不去了。即便优化了代码,程序的执行速度可能还是达不到要求。考虑到现在的计算机所装配的CPU核心数量越来越多,所以我们很自然地就想到用并行方式来解决这个问题。那么接下来就必须思考,如何将代码所要执行的计算任务划分成多个独立的部分并在各自的核心上面平行地运行。
Published:
前一篇blog说明了怎样把采用线程所实现的项目逐步迁移到asyncio方案上面。迁移后的run_tasks协程,可以将多份输入文件通过tail_async协程正确地合并成一份输出文件。
Published:
在前一篇中,我们用asyncio模块把通过线程来执行阻塞式I/O的TCP服务器迁移到了协程方案上面。当时我们一下子就完成了迁移,而没有分成多个步骤,这对于大型的项目来说,并不常见。如果项目比较大,那通常需要一点一点地迁移,也就是要边改边测,确保迁移过去的这一部分代码的效果跟原来相同。
Published:
上一篇blog我们详细介绍了Real-ESRGAN论文的原理,以及paper中的所有技术细节。这篇blog我们来看一下Real-ESRGAN的实际效果。
Published:
本篇blog除了对论文内容进行了详实的翻译,同时对论文中的相关技术细节展开了说明和讨论,部分技术通过示例代码进行了说明。
Published:
知道了协程的好处之后,我们可能就想把现有项目之中的代码全都改用协程来写,于是有人就担心,这样修改起来,工作量会不会比较大呢?所幸Python已经将异步执行功能很好地集成到语言里面了,所以我们很容易就能把采用线程实现的阻塞式I/O操作转化为采用协程实现的异步I/O操作。
Published:
在前面几条里,我们以生命游戏为例,试着用各种方案解决I/O并行问题,这些方案在某些情况下确实可行,但如果同时需要执行的I/O任务有成千上万个,那么这些方案的效率就不太理想了
Published:
Python有个内置模块叫作concurrent.futures,它提供了ThreadPoolExecutor类。这个类结合了线程(Thread)方案与队列(Queue)方案的优势,可以用来平行地处理康威生命游戏里的那种I/O操作(参见前面讲的线程方案和队列方案)。
Published:
在前面“python并发与并行(五.2) ———— 不要在每次fan-out时都新建一批Thread实例”里面,大家看到,每次都手工创建一批线程并平行地执行I/O任务是有很多缺点的。 这一条要介绍另一种方案,也就是用内置的queue模块里的Queue类实现多线程管道。
Published:
Published:
beam search(束搜索) decoding是一种在语言模型、文本识别等sep2sep的场景中快速、高效的神经网络解码算法。结合前面几个blog,我们重点展开一下beam search在场景文本识别中的作用。
Published:
论文paper地址:What Is Wrong With Scene Text Recognition Model Comparisons? Dataset and Model Analysis
Published:
这篇论文来自CVPR2019,paper地址:Character Region Awareness for Text Detection。 代码:CRAFT-pytorch。
Published:
想在Python里平行地做I/O,首先要考虑的工具当然是线程。但如果真用线程来表示fan-out模式中的执行路径,你就会发现,这样其实有很多问题。
Published:
我们使用康威生命游戏的例子来解释这个专题。首先我们要实现一个康威生命游戏。
Published:
Python程序如果要同时执行多项任务,而这些任务又分别针对同一种产品的不同环节,那么就有可能得在它们之间进行协调。比较有用的一种协调方式是把函数拼接成管道。
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的推荐系统还是不错的。