自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TyearLin的专栏

封住肆意的时光

  • 博客(182)
  • 资源 (4)
  • 收藏
  • 关注

原创 mediapipe流水线分析 三

张量的形状可以是任意维度的,例如一维、二维、三维等等。与 TensorFlow 的协议缓冲区模型格式相比,这种格式具有多种优势,例如可缩减大小(代码占用的空间较小)以及提高推断速度(可直接访问数据,无需执行额外的解析/解压缩步骤),这样一来,TensorFlow Lite 即可在计算和内存资源有限的设备上高效地运行。TfLiteTensor是TensorFlow Lite中特有的数据结构,它是对Tensor的封装,具有一些额外的属性和方法,用于支持TensorFlow Lite特定的功能和操作。

2025-07-03 00:36:55 918

原创 TensorFlow 中定义模型和层

大多数模型都由层组成。层是具有已知数学结构的函数,可以重复使用并具有可训练的变量。在 TensorFlow 中,层和模型的大多数高级实现(例如 Keras 或Sonnettf.Module。下面是一个在标量张量上运行的非常简单的tf.Module示例:继承 tf.Mode模块和引申而来的层是“对象”的深度学习术语:它们具有内部状态以及使用该状态的方法。__call__并无特殊之处,只是其行为与Python 可调用对象类似;您可以使用任何函数来调用模型。

2025-07-03 00:15:02 958

原创 cmake find_package

问:find_package 使用 module模式依赖关系是不是无法透传AI 答:在 CMake 中使用的 ‌‌(即通过脚本查找库)时,默认情况下确实无法直接实现依赖的透传。其根本原因在于 Module 模式的设计机制与依赖传递的实现方式差异。

2025-07-03 00:09:30 311

转载 RK3568上使用4G及以上内存时报错RGA_MMU unsupported memory larger than 4G

所以可以推断,从3840MB到4096MB的这256M,是rk3568用于MMIO的地址空间,不能用作访问内存的地址空间。为了能访问到4G末尾的[3840MB,4096MB]这一段内存,只能通过从4G以上的内存区间来映射,rk3568用的是前面第三个地址区间,也就是[7936MB,8192MB]来实现。机制进行访问访问受限制的内存(原理上相当于通过CPU将高位内存拷贝至符合硬件要求的低位内存中,再交由硬件进行处理,处理完毕后再通过CPU将低位内存搬运回目标的高位内存上。

2025-07-03 00:03:09 5

原创 Pytorch Transformer

Transformer 模型是一种基于自注意力机制(Self-Attention)的深度学习架构,彻底革新了自然语言处理(NLP)、计算机视觉(CV)等序列数据处理领域。其核心设计摒弃了传统循环神经网络(RNN)的顺序依赖性,实现了高效并行计算与长距离依赖捕捉能力。

2025-06-30 01:01:53 969

原创 Pytorch torch.nn

PyTorch的torch.nn模块是构建神经网络的核心工具,提供神经网络层、损失函数等组件。主要包含:1) nn.Module基类用于自定义模型;2) 预定义层如卷积、全连接层;3) 容器类Sequential/ModuleList组织网络结构;4) 常用损失函数;5) nn.functional函数式接口;6) 权重初始化方法。该模块支持动态计算图和GPU加速,包含丰富的层类型(卷积、循环、归一化等)和激活函数,可通过简单的类继承和组合快速构建复杂网络。

2025-06-30 00:48:32 546

原创 Pytorch torch

PyTorch的torch。

2025-06-30 00:35:48 524

转载 c语言function/bind/lambda及c回调效率对比

c函数回调效率最高,如果非常频繁且需要考虑效率的地方,建议尽量采用c函数回调,而在对效率要求不高的场景可以使用function。function类型,lambda方式耗时:5.5毫秒。function类型,bind方式耗时:9.9毫秒。在初始化时候也有多种类型。下面通过代码演示一下。function类型,c函数方式耗时:8毫秒。使用c函数初始化c回调方式耗时:2.8毫秒。2.模板function回调;function型的初始化方式。for(1000000次){使用c函数初始化c回调。3.C函数初始化方式。

2025-06-25 20:00:00 9

原创 yolov10训练自己的数据集

1 图片样本数据集包含300张图片样本,训练集210张,验证集60张,测试集30张。2 标注文件。

2025-06-25 01:17:49 477

原创 关于train.py、val.py和predict.py

以下是关于train.pyval.py和predict.py。

2025-06-25 01:04:54 393

转载 Yolov10

关联问题换一批在过去几年中,YOLO系列模型已成为实时目标检测领域的主导范式,这得益于它们在计算成本和检测性能之间的有效平衡。研究行人探索了YOLOs的架构设计、优化目标、数据增强策略等,取得了显著的进展。然而,对非最大值抑制(NMS)的后处理依赖阻碍了YOLOs的端到端部署,并不利影响推理延迟。此外,YOLOs中各种组件的设计缺乏全面彻底的检查,导致明显的计算冗余并限制了模型的能力。这导致了次优的效率,同时存在相当大的性能提升潜力。

2025-06-24 22:59:26 7

原创 coco128 训练

YOLOv10训练与评估摘要 本文详细介绍了YOLOv10模型的训练流程及评估方法。主要内容包括: 环境配置:基于Python 3.12、PyTorch 2.7.1和CUDA 12.8,使用NVIDIA RTX 5060 GPU进行训练。 数据集准备:配置COCO128数据集,解析其标注格式(YOLO TXT),统计类别分布(32/80类,前5类占比44%)。 训练参数:调整超参数(学习率0.005、热身周期5、混合增强0.1),启用数据增强(色相调整、马赛克增强等),训练100轮次,批量大小32。 评估指

2025-06-24 22:57:29 984

翻译 译文 Neon

Neon是Arm高级SIMD架构的实现。‌32个128位向量寄存器‌:每个寄存器可容纳多个数据通道(Lane)‌SIMD指令‌:支持对多个数据通道同时执行并行操作多媒体与信号处理3D图形渲染语音与图像处理其他对定点和浮点性能要求严苛的领域。

2025-03-14 15:27:08 61

原创 Android Composable 与 View 的联系和区别

‌优先选择 Compose‌:新项目、动态 UI(如动画、主题切换)或需快速迭代的场景‌‌沿用传统 View‌:维护旧项目或依赖原生控件(如 WebView、地图 SDK)的场景‌。

2025-03-14 15:04:24 550

原创 Pytorch学习

‌。

2025-03-11 20:57:43 765

原创 机器学习 神经网络(BP)

前向传播是神经网络从输入数据到输出结果的核心计算流程,通过逐层传递和变换数据实现预测功能损失函数(Loss Function)是衡量模型预测值与真实值之间差异的函数,通过最小化损失值优化模型参数,提升预测精度‌。其本质是‌量化预测误差‌,并作为模型训练的核心优化目标‌。每个批次的训练数据送入模型后,通过前向传播输出预测值,然后损失函数会计算出预测值和真实值之间的差异值,也就是损失值。

2025-03-02 09:48:39 14

原创 常见激活函数示意图

它保留了 step 函数的生物学启发(只有输入超出阈值时神经元才激活),不过当输入为正的时候,导数不为零,从而允许基于梯度的学习(尽管在 x=0 的时候,导数是未定义的)。然而,当输入为负值的时候,ReLU 的学习速度可能会变得很慢,甚至使神经元直接无效,因为此时输入小于零而梯度为零,从而其权重无法得到更新,在剩下的训练过程中会一直保持静默。它是完全可微分的,反对称,对称中心在原点。经典(以及广泛使用的)ReLU 激活函数的变体,带泄露修正线性单元(Leaky ReLU)的输出对负值输入有很小的坡度。

2025-03-02 09:47:23 800

原创 深度学习的基本原理和内容概要笔记

‌深度学习‌自动特征学习‌:无需人工设计特征,直接从原始数据(图像、音频、文本)中提取多层次抽象特征‌12‌深度网络架构‌:构建包含输入层、隐藏层(通常≥3层)、输出层的神经网络模型,通过非线性变换处理高维数据‌24‌大数据驱动‌:依赖海量标注数据进行模型训练,参数规模可达百亿级别(如GPT-4模型参数超1.8万亿模块核心作用技术支撑神经网络架构构建数据分层表征体系激活函数、权重矩阵、层级连接‌38前向传播实现输入到预测的端到端映射线性变换与非线性激活的叠加‌57损失函数。

2025-03-01 12:52:14 652

原创 深度学习与传统机器学习的区别

深度学习与传统机器学习的核心区别

2025-03-01 12:01:19 249

原创 lambda c++/java/kotlin

在C++、Java和Kotlin中,lambda表达式都是一种简洁的表示匿名函数的方式,它们允许你以更直观和灵活的方式编写代码。下面我将通过一些例子来对比分析这三种语言中lambda表达式的使用。

2024-08-28 21:49:54 650

原创 ​C++ 中的 Lambda​

C++11引入了lambda表达式,使得C++程序员能够编写更简洁的回调函数和闭包,表达式用于定义并创建匿名的函数对象,以简化编程工作。

2024-08-28 21:45:36 1489

转载 转 Android显示系统 概述

一篇文章,介绍Android显示系统的全貌与联结细节。Android显示系统,是Android知识体系中一个非常重要的组成部分。酝酿许久,写出此文,希望能最大化降低各位的学习成本,给各位应有的帮助。Android显示系统的内容,太大,太深了。内容之繁杂,让我很难只通过一篇文章,就介绍详尽。而我已经给自己立下了目标了,不能轻易退缩。SurfaceHALVSync多缓冲机制我将尽可能将细节描述清楚,但篇幅有限,我也会在必要之处做些简化。如若有疏漏或错误,还请不吝赐教。

2024-07-23 18:20:15 527

转载 转 Android Graphics 图像显示系统 - 开篇

该系列文章聚焦Graphics知识,从基本概念和简单的Demo入手,分析图形显示基本框架和运作流程。涉及内容众多,比如SurfaceFlinger的运行机制,VSYNC信号的产生与分发,BufferQueue的工作原理,Mapper&Allocator,Fence同步机制 ....比如生产者消费者模型比如BufferQueue的工作机制比如图形显示合成的基本流程DRM HWC 合成的基本工作流程Android多屏显示的基本知识-同显、异显、多屏互动作为学习记录,后续会分主题分别介绍。

2024-07-23 18:00:01 130

原创 c++ bind/packaged_task/forward

头文件中,它允许你绑定一个可调用对象(如函数、函数对象或Lambda表达式)到特定的参数,并生成一个新的可调用对象。这个新的可调用对象在调用时会调用原始的可调用对象,并传递给它绑定的参数。完美转发意味着将参数按照它们原来的类型(包括值类别,即左值或右值)转发给另一个函数。是 C++ 标准库中的一个模板类,它用于包装一个可调用对象(比如函数、lambda 表达式或函数对象),以便可以异步执行该对象,并获取其返回值。时,通常与模板函数和完美转发一起使用,以便将参数按照它们原来的值类别转发给另一个函数。

2024-04-23 18:33:14 718

转载 Android Studio中使用LLDB更方便地进行内存探查

​关注他5 人赞同了该文章C++程序开发过程中,内存往往是一个经常需要关心的话题,特别是在进行Debug时,能正确的找出内存中的异常数据更是非常有用。如对一个void*类型的数据,在很多IDE中都可以对其直接进行内存查的,如下图是在Xcode中查看的结果:从图中可以很清楚地看出data所指向内存的数据,具体方法就是xcode中,选中变量,直接右键选择查看内存即可。

2023-12-06 16:56:10 450

原创 -pthread和-lpthread

这两个选项的效果是类似的,都可以使程序正确地使用多线程功能。选项则直接指定了pthread库的链接路径。它告诉编译器在链接阶段使用指定的pthread库文件(通常是。因为它可以自动处理与多线程相关的链接信息。如果你确定要指定pthread库的链接路径,可以使用。选项告诉编译器生成适用于多线程程序的可执行文件。它包含了多线程库的链接信息,以。但是,使用该选项时需要确保指定的库路径是正确的,否则可能会导致链接错误。.(我放弃了小'L'.)之后编译'make'没有错误。

2023-11-16 14:36:44 556

原创 mediapipe流水线分析 二

张量的形状可以是任意维度的,例如一维、二维、三维等等。与 TensorFlow 的协议缓冲区模型格式相比,这种格式具有多种优势,例如可缩减大小(代码占用的空间较小)以及提高推断速度(可直接访问数据,无需执行额外的解析/解压缩步骤),这样一来,TensorFlow Lite 即可在计算和内存资源有限的设备上高效地运行。TfLiteTensor是TensorFlow Lite中特有的数据结构,它是对Tensor的封装,具有一些额外的属性和方法,用于支持TensorFlow Lite特定的功能和操作。

2023-11-06 18:04:36 1006

原创 mediapipe流水线分析 一

它 计算图里的每个node都是calculator,是计算图的逻辑计算的载体,一个calculator可以接受0或多个stream或side packet, 输出0或多个stream或side packet. Calculator需要继承相同的基类并实现所需要的接口,并且要在framework中进行注册,以便可以通过配置文件进行构建。这个基类为插件的实现提供了一个统一的框架和规范,使得开发者可以根据自己的需求和创意来创建自定义的插件,并将其集成到MediaPipe的多媒体处理程序中。

2023-11-02 16:05:07 567

转载 markdown 常用语法

作者:Char0n链接:https://www.zhihu.com/question/486201255/answer/2784074544来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2023-11-02 10:55:13 145

转载 速率控制模式 CBR、VBR...

最大的不同在低帧分值(审校者注:指以帧的粒度看 VMAF 分数,其最低单帧 VMAF 分),即瞬态质量问题的指标,其中 CBR 比 200% 受限 VBR 低了约 5.5 分。有趣的是,在 200% 受限 VBR 和 150% 受限 VBR 的低帧 VMAF 之间只有 1 分之差,150% 受限 VBR 和 110% 受限 VBR 之间有两分之差。顾名思义,当你使用 CBR(Constant Bitrate Encoding)编码时,意味着你对全部文件都使用了恒定的码率(无论视频文件中场景的复杂度如何)。

2023-11-01 15:12:22 336

原创 pip3源更换

中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/清华 https://pypi.tuna.tsinghua.edu.cn/simple。华中理工大学 http://pypi.hustunique.com/豆瓣 http://pypi.douban.com/simple/山东理工大学 http://pypi.sdutlinux.org/ubuntu更换pip3源提高下载速度。然后将下面这两行复制进去就好了。

2023-10-31 14:56:47 530

转载 【C++ 修饰符关键字 explicit 】掌握C++中的explicit :构造函数行为和初始化综合指南

目录标题1. 引言1.1 为什么需要了解 `explicit`1.2 文章目标和主要内容概览2. C++ 构造函数简介2.1 什么是构造函数2.1.1 构造函数的基本语法2.1.2 重载构造函数2.2 构造函数的类型2.2.1 默认构造函数(Default Constructor)2.2.2 参数化构造函数(Parameterized Constructor)2.2.3 复制构造函数(Copy Constructor)2.2.4 移动构造函数(Move Constructor)

2023-10-31 11:59:28 2912 2

转载 ubuntu 18.04 install Boost 1.75

首先上下载Boost 1.75的源代码,如下图所示:Boost 1.75源代码下载。

2023-10-31 10:34:19 600

原创 ffmpeg x264 x265 fdk-aac 编译记录

ffmpeg 裁剪定制编译过多次了 这里记录下。

2023-10-27 16:24:10 652

转载 ffmpeg configure 参数

源码的路径[默认:/home/nsc/workspace/android_code/ffmpeg]启用 AMR-NB 编解码通过 libopencore-amrnb[默认:关闭]启用 AMR-WB 编解码通过 libopencore-amrwb[默认:关闭]原文链接:https://blog.youkuaiyun.com/wangbuji/article/details/121818750。通过 librtmp 启用 RTMP[E]支持 [默认:关闭]通过 libtheora启用 Theora 编码[默认:关闭]

2023-10-27 15:19:54 183

原创 SRS srs-bench

srs服务没有开多进程或者多线程来处理高并发 内部通过协程来实现高并发 ,100多播放一路 1280*720 i5cpu 16G内存 cpu已占用 50% 内存剩余2G。设置完之后,我以为直接生效了,又去go get了一下,发现还是报一样的错,有点失望,原来需要依赖于 go module 功能,即go的环境变量。音视频压测工具,包括RTMP/FLV/WebRTC/GB28181等,未来还会完善。编译依赖golang环境 ubuntu16.04安装高版本 golang。直播播放压测,一个流,很多个播放。

2023-10-26 17:44:56 837 1

原创 SRS Config 二 Stream Caster

Stream Converter侦听特殊的TCP/UDP端口,接受客户端连接和媒体流,并转成RTMP流,推送给SRS。复制Note: 有些流可能不止一个流,甚至有不同的传输通道。1.1 Build​SRS默认开启Stream Converter的支持,不需要特别的编译参数。但某些协议可能需要特别的编译参数,请参考下面具体协议的使用介绍。​MPEG-TS over UDP: MPEG-TS裸流,基于UDP协议。FLV by HTTP POST: FLV流,基于HTTP协议。

2023-10-24 19:00:00 446

转载 使用Linux的dstat命令监控系统性能和资源

在Linux系统中,了解系统的性能和资源使用情况对于有效管理和故障排除至关重要。dstat是一个功能丰富的命令行工具,它提供了实时监控和统计系统性能和资源的能力。本文将介绍如何使用dstat命令来监控关键指标并显示实时统计信息和图表。

2023-10-24 17:37:52 1144

转载 傅里叶变换的意义和理解(通俗易懂)

从我们出生,我们看到的世界都以时间贯穿,股票的走势、人的身高、汽车的轨迹都会随着时间发生改变。这种以时间作为参照来观察动态世界的方法我们称其为时域分析。而我们也想当然的认为,世间万物都在随着时间不停的改变,并且永远不会静止下来。但如果我告诉你,用另一种方法来观察世界的话,你会发现世界是永恒不变的,你会不会觉得我疯了?我没有疯,这个静止的世界就叫做频域。先举一个公式上并非很恰当,但意义上再贴切不过的例子:在你的理解中,一段音乐是什么呢?这是我们对音乐最普遍的理解,一个随着时间变化的震动。

2023-10-23 17:54:42 159

转载 readelf

系统里的目标文件是按照特定的目标文件格式来组织的,各个系统的目标文件格式都不相同。从贝尔实验室诞生的第一个Unix系统使用的是a.out格式(直到今天,可执行文件仍然称为a.out文件)。Windows使用可移植可执行(PortableExecutable,PE)格式。Mac OS-X使用Mach-O格式。现代x86-64Linux和Unix系统使用可执行可链接格式(Executable and Linkable Format,ELF)。

2023-10-19 19:45:00 275

android 4.1 api 新功能详解

eoe 原件 很详细 很实用 高清版

2012-10-10

webrtc相关资料.rar

WebRTC零基础开发者教程 Real-Time Communication with WebRTC Getting.Started.With.WebRTC

2019-12-20

orgDemo.rar

利用frameng回退栈简单实现 组织架构功能 可在此基础上时间 部门选择 人员选择 业务 仅供参考

2020-02-03

actionbar 学习demo

androd ActionBar 学习demo 包含部分自定义actionbar 样式 。希望能帮到一些人

2015-04-07

空空如也

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

TA关注的人

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