自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (4)
  • 收藏
  • 关注

原创 C++之compare_exchange_weak和compare_exchange_strong

这两个函数都是C++原子操作中的比较交换(compare-and-swap, CAS)操作,用于实现无锁编程,但它们有一些重要区别。

2025-07-21 19:45:54 233

原创 gstreamer之pipeline/loop/bus

是 GLib 和 GStreamer 中两个重要的函数,它们在多媒体应用程序中通常一起使用,但服务于不同的目的。是通过 GStreamer 的 bus (消息总线) 机制集成在一起的。管道是多媒体处理的基本单元,包含一系列连接的元件(element)来处理媒体流。GStreamer 的 bus (消息总线) 会向 GLib 主循环发送消息。管道处理媒体数据,而主循环处理相关事件,两者协同工作实现完整的媒体处理应用。会处理 GStreamer 管道产生的各种事件 (如状态改变、消息等)

2025-07-16 20:42:46 894

原创 Video Python(Pyav)解码二

img = frame.to_ndarray(format="bgr24") # 转为OpenCV可用的numpy数组。print("解码帧:", frame.pts, frame.time_base)print("解码帧:", frame.pts, frame.time_base)# frame 是解码后的视频帧(av.VideoFrame)# frame 是解码后的视频帧(av.VideoFrame)print("解码帧:", frame.pts)# 直接解码帧(自动处理Packet→Frame)

2025-07-15 14:19:29 639

原创 Video Python(Pyav)解码一

是一个字典,用于传递FFmpeg的格式(Format)、编解码器(Codec)、协议(Protocol)等选项。'c:v': 'h264_cuvid', # NVIDIA硬解。'analyzeduration': '100000', # 快速格式探测。'fflags': 'nobuffer', # 减少缓冲。'flags': 'low_delay', # 低延迟模式。'timeout': '10000000', # 10秒超时。

2025-07-15 14:17:40 540

原创 Gstreamer之”pad-added“事件

gst_bin_add_many(GST_BIN(pipeline), rtspsrc, queue, /* 其他元素 */, NULL);是 GStreamer 中一个非常重要的信号,当元素动态创建一个新的 pad(连接点)时会发出此信号。:某些元素(如 rtspsrc、decodebin)在运行时才会创建 pad,而不是在初始化时就存在。:GStreamer 中元素之间的连接点,数据通过 pad 流动。// 可以在这里实现流重启逻辑。// ... 其他元素创建。// pad-added 回调。

2025-07-14 21:33:44 615

原创 AI之batch normalization

通过对每个批次的均值和方差添加噪声(因批次样本随机性),BN隐式地起到了轻微正则化的作用,可减少对Dropout的依赖。BN通过标准化和可学习的仿射变换,显著提升了深度网络的训练效率和性能,成为现代神经网络设计的标配组件之一。标准化后的数据更接近激活函数(如ReLU)的敏感区间,缓解梯度消失/爆炸问题,允许使用更大的学习率。:对每一层的输入进行标准化(均值为0、方差为1),减少分布波动,使后续层的学习更稳定。对卷积层,BN会沿批次和空间维度(H、W)计算统计量,保持通道(C)独立。# 定义带BN的模型。

2025-07-10 21:37:38 594

原创 AI梯度传播之链式法则

残差连接提供恒等映射路径,确保至少有一条路径的梯度为1(∂y/∂x=1),缓解梯度消失。:残差连接通过梯度叠加(而非连乘)缓解深层网络的梯度消失问题。若多层梯度绝对值 ≪1≪1,连乘后前层梯度趋近于0(消失)。若多层梯度绝对值 ≫1≫1,连乘后前层梯度急剧增大(爆炸)。(II 为指示函数,ReLU的梯度在输入≤0时为0)激活函数(如ReLU)的梯度是局部门控(0或1)。每一层的梯度都是后一层梯度与本层局部梯度的乘积。这是残差结构的核心:梯度来自两条路径的叠加。,每一层的梯度依赖于后一层的梯度计算结果。

2025-07-10 20:50:21 924

原创 AI之梯度反向传播

计算主路径:(x -> h1 -> a1 -> h2 -> yres( 也就是F(x)+x) -> y。y=ReLU(F(x)+x),其中 F(x)=Conv2(ReLU(Conv1(x)))即使深层梯度 ∂L/∂F(x) 很小,∂L/∂x仍能有效更新浅层权重。:残差结构确保梯度能直接回传至浅层(如 ∂L/∂x​),避免梯度消失。若输入>0则梯度为1,否则为0。

2025-07-10 20:42:19 502

原创 AI onnxruntime iobinding介绍

在 ONNX Runtime 中,是一种,允许直接将输入/输出张量绑定到特定的内存(如 GPU 显存),避免不必要的内存拷贝,从而提升推理速度。

2025-07-01 14:15:28 695

原创 AI 内存基础介绍

在 ONNX Runtime 中,合理选择内存类型可以显著提升推理性能,特别是在 GPU 加速场景下。显卡(GPU)专用的高速内存,CPU 无法直接访问,必须通过 PCIe 总线传输数据。时,输入数据通常需要先拷贝到固定内存,再传输到 GPU 显存。:当系统内存不足时,部分内存页可能被交换到磁盘(虚拟内存)。→ 普通 CPU 内存,可能被换出,适合非实时任务。→ GPU 专用内存,计算速度最快,但容量有限。从固定内存高速拷贝数据,比可分页内存快得多。管理,内存页可以按需交换到磁盘(swap)。

2025-07-01 10:07:48 524

原创 Mesa中DRI3与SWRast屏幕创建区别

如果你需要高性能的图形渲染,并且系统支持硬件加速,使用。如果你在没有GPU或需要兼容性测试的环境下,使用。

2025-03-13 14:10:50 298

原创 Linux PCIE热插拔设备及其驱动相关(on-going)

struct pci_device_id用于定义PCI设备;MODULE_DEVICE_TABLE;导出pci_device_id中设备的相关信息至modules.pcimaphttps://zhuanlan.zhihu.com/p/116478513http://blog.chinaunix.net/uid-7187477-id-3221645.htmlpci_driver其中,成员id_table指向struct pci_device_id设备信息,其他成员为驱动相关的函数等;然后会调用p

2021-01-20 11:49:30 648

原创 PCI & PCIE (on-going)

Backgroundhttps://blog.youkuaiyun.com/zuowanbishe/article/details/86751577

2021-01-18 10:33:25 571

原创 Keil工具

RegionTableTableTableBasehttps://blog.youkuaiyun.com/u012502355/article/details/105000014

2020-12-25 10:46:15 377

原创 Good Articles

DFT,FFT傅里叶变换 https://zhuanlan.zhihu.com/p/19763358DFT https://blog.youkuaiyun.com/enjoy_pascal/article/details/81478582Audio wavehttps://www.chiphell.com/thread-2166579-1-1.htmlAudio AIhttps://ww...

2020-12-23 16:34:18 157

原创 ftrace 使用示例

1.make menuconfig->Kernel hacking>Tracers>Kernel Function Tracer …2.user manualexample:If I am only interested in sys_nanosleep and hrtimer_interrupt:# echo sys_nanosleep hrtimer_interrupt > set_ftrace_filter# echo function > current_t

2020-12-23 15:43:16 622

原创 Libmad编译的坑

1.参考文章https://www.ibm.com/developerworks/cn/linux/l-cn-libmadmp3player/https://blog.youkuaiyun.com/cnclenovo/article/details/45562389https://blog.youkuaiyun.com/xiahouzuoxin/article/details/7867260https://www.cnblogs.com/musicfans/archive/2012/07/15/2819301.html2

2020-12-21 19:53:25 383

原创 Linux 驱动不固化,编译成模块

需求,调试USB gadget一直存在问题,想按照网上的例子,以模块加载的形式来试一下,所以想把默认的USB配置全部删除,顺便把没有用到的sound等无用的设备驱动一并删除~发现一 对defconfig删减了一通,删除了USB所有的模块等,使用的开发板 通过命令“$ cat /lib/modules/$(uname -r)/modules.builtin”查看以编译进内核的模块,发现还有usb*.ko编译进了内核,这个问题的主要原因是,内核的确删除了USB模块,但查看的命令,使用的是文件系统

2020-12-21 14:33:06 261

原创 虚拟机设置及安装Win10的坑

安装环境:虚拟机:VMware Workstation 15 Player系统镜像:YLMF_GHOST_WIN10_X64_V2018_11.iso1.创建新虚拟机后,修改*.vmx中,firmaware为"bios"。2.CD/DVD高级设置->虚拟设备节点,选择IDE

2020-12-21 13:04:41 867

原创 Orangepi 4B

www.orangepi.cn1.orangepi 4B利用python3使用snowboy实现语音唤醒以及使用腾讯AI api实现语音识别、回复以及合成https://blog.youkuaiyun.com/q310139033/article/details/108873825

2020-12-15 16:55:12 715

原创 GitHub Git Command

1.下载git clone https://github.com/fudexiang/TestTool.git2.提交

2020-12-11 15:12:49 148

原创 USB gadget UVC 笔记(待续)

1.应用代码https://github.com/wlhe/uvc-gadgetgadget-testing.txt 提到的命令用法为:# uvc-gadget -u /dev/video<uvc video node #> -v /dev/video<vivid video node #>,其中u后面的video节点为 out数据流 udev ubufv后面的video节点为 capture数据流 vdev vbuf所以,难怪uvc gadget驱动中一直没

2020-12-09 19:22:47 5191

原创 USB gadget 笔记

1.查看注册了多少个UDCls /sys/class/udc/

2020-12-09 11:52:18 1357 4

原创 Linux Driver Things (on-going)

1.device resource managementhttp://www.wowotech.net/linux_kenrel/device_resource_management.html相关的函数:platform_get_resource:获取寄存器资源芯片资源一般在特殊的文件中统一定义,通过name匹配要找的资源devm_ioremap_resource...

2020-10-30 11:00:08 197

原创 Good Blog

1.蜗窝科技http://www.wowotech.net/about.html

2020-10-29 19:32:11 88

原创 Soc-Camera Subsystem(阅读理解与记录)

1.三要素camera/camera device/came sensor, 通常指带有I2C接口作为控制与配置,并行或串行总线作为图像数据传输通道的传感器。camera host, 提供sensor连接的接口。came host bus, 数据通道,包含时钟,控制总线,图像同步信号等。2.目的早期是为host驱动和sensor驱动提供统一的接口,后来sensor API被V4L2标准子设备API代替,这也使得,没有host的情况下,camera驱动代码可以复用。3.Camera Host AP

2020-10-28 16:25:00 443

原创 Linux kernel media framework(阅读理解与记录)

1.Abstract media device model在系统内部的拓扑结构中,快速找到设备,并进行实时配置,是设计该模型的一个重要目的,为了实现它,把那些具有方向图表性的构件抽象为通过pads相连的entities的硬件设备模型。三要素:entity:实体,sensor, controller等。pad: entity用于连接其他entity的端点。link: pad间的点对点连接。2.Media device强制要赋值的属性dev, 指向parent devicemodel,dev

2020-10-28 14:19:49 933

原创 基于信号案例,解析离散傅里叶变换结果的本质与公式推导

假设待分析的模拟信号为y(t) = A * sin(w1 * t + Q1) + B * sin(w2 * t + Q2) + C, FFT的目标就是根据采样点数据,获取A,B,w1, w2的信息(Q1,Q2假设为0)用如下参数模拟未知信号y(t):#define A 10#define B 20#define C 50#define Q1 0#define Q2 0#define freq_signal_1 1#define freq_signal_2 16#define

2020-08-28 11:55:59 396

原创 我学嵌入式linux(二)V4L2(持续更新中)

V4L2 apihttps://www.cnblogs.com/emouse/archive/2013/03/04/2943243.html

2020-06-03 11:11:29 2334

原创 我学嵌入式Linux(一)吐槽

1.第一次写文章,记录些无关的东西,因工作和学习的需要,买了友善之臂的Nanopi Neo小开发板,初衷是等着将来空闲有心情且想学的时候,学习下嵌入式Linux系统方面的知识,工作快7年,刚开始接触这块,很多优秀的工作机会都是跟系统相关,这块没啥经验只能望而却步。2.选择这款开发板的原因,便宜,小巧玲珑,配上铝制的盒子,看着舒服,就当买块砖头也罢。3.以前不是没有学习嵌入式linux开发板的想法,看到那些繁琐的工具链安装,还要在linux系统里面操作,真是麻烦,哪有单片机的开发环境简单,比如keil,连

2020-05-30 17:10:47 450

PID增量式算法模块设计

模块化设计,PID.H中包含所有函数信息描述,PID.C为所有函数的内容。可直接添加至工程,基于keil编写的C程序。如有问题,欢迎指正,谢谢

2011-02-28

UCOSIIV2.52在STM32F103的移植

本源代码经修改与实验测试,可直接应用在STM32F103RB的开发应用中,此外附加stm32f10x_it.C与stm32f10x_it.h文件,仅将中断函数PendSVC注释掉,并在UCOSII中的OS_CPU_A.ASM中申明

2011-05-06

BMP格式图片的翻转

240*320BMP格式图片的翻转,实现图片的倒置,所操作的图片仅为240*320BMP格式

2010-08-08

TortoiseGit Installation for Windows

需要先安装好Git方可正常工作,即安装Git与TortoiseGit两个东东,本资源是后者的安装包

2017-05-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除