0x13
码龄9年
关注
提问 私信
  • 博客:401,756
    社区:4
    问答:1,717
    视频:771
    404,248
    总访问量
  • 153
    原创
  • 26,877
    排名
  • 4,077
    粉丝
  • 225
    铁粉

个人简介:coding...

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:四川省
  • 加入CSDN时间: 2016-03-27
博客简介:

这个人很懒什么都没有~

博客描述:
这个人很懒什么都没有~
查看详细资料
  • 原力等级
    当前等级
    5
    当前总分
    1,126
    当月
    18
个人成就
  • 获得303次点赞
  • 内容获得75次评论
  • 获得957次收藏
  • 代码片获得1,357次分享
创作历程
  • 7篇
    2024年
  • 41篇
    2023年
  • 101篇
    2022年
  • 2篇
    2021年
  • 1篇
    2019年
  • 1篇
    2018年
成就勋章
TA的专栏
  • Thingsboard 源码
    付费
    45篇
  • 支付平台
    付费
    14篇
  • 深度学习/机器学习/强化学习
    22篇
  • 音视频处理算法
    10篇
  • ElasticSearch 源码分析
    8篇
  • PostgreSQL 源码分析
    2篇
  • Kafka 源码分析
    6篇
  • HotSpot JVM 源码分析
    12篇
  • Redis 源码分析
    5篇
  • Netty
    20篇
  • 后端开发
    6篇
兴趣领域 设置
  • 后端
    分布式中间件
  • 人工智能
    语音识别机器学习
  • 音视频
    音视频webrtc
创作活动更多

2024 博客之星年度评选报名已开启

博主的专属年度盛宴,一年仅有一次!MAC mini、大疆无人机、华为手表等精美奖品等你来拿!

去参加
  • 最近
  • 视频
  • 代码仓
  • 课程
  • 帖子
搜TA的内容
搜索 取消

【开发语音助手】android 语音识别、合成、唤醒 sherpa

前面介绍了 android 部署大模型,下一步就是语音处理,这里我们选用 sherpa 开源项目部署语音识别、合成、唤醒等模型。离线语音识别库有whisper、kaldi、pocketshpinx等,在了解这些库的时候,发现了所谓“下一代Kaldi”的sherpa。从文档和模型名称看,它是一个很新的离线语音识别库,支持中英双语识别,文件和实时语音识别。sherpa是一个基于下一代 Kaldi 和 onnxruntime 的开源项目,专注于语音识别、文本转语音、说话人识别和语音活动检测(VAD)等功能。
原创
发布博客 2024.10.19 ·
2730 阅读 ·
14 点赞 ·
1 评论 ·
29 收藏

【开发语音助手】android 部署大模型 MLC-LLM

MLC-LLM 是一个开源项目,旨在为大规模语言模型(LLM)提供高效的训练和推理框架。它支持各种模型架构和训练策略,并且致力于优化计算资源的使用,以提高模型的性能和可扩展性。这里稍微讲解了一些MLC的基本概念,以帮助我们使用和了解 MLC LLM。MLC-LLM 由三个不同的子模块组成:模型定义、模型编译和模型运行。使用 mlc-llm开发流程:➀ Python 中的模型定义。
原创
发布博客 2024.09.14 ·
1083 阅读 ·
22 点赞 ·
0 评论 ·
17 收藏

低音频码率 codec

分享两个神经网络的超低音频码率 codec:这两个都是传统声码基础上使用神经网络进一步压缩音频,Lyra 是 google 开发的最低码率 3.2k,音频质量较好而且编译工具是谷歌官方的 bazel(直接支持android,源码使用了 tensorflow lite 推理加速)。LpcNet 码率是 1.6k 不过在嵌入式平台或者移动端有算力要求,音质也稍微差一些。
原创
发布博客 2024.06.30 ·
861 阅读 ·
19 点赞 ·
0 评论 ·
21 收藏

大模型 Agent 任务 ,如何开发一个 AI 代理?

而大模型代理使用类似的思想,利用大模型的自然语言分析能力根据当前对话梳理达到目标需要执行的策略,然后一边执行操作一边根据反馈分析下一个操作,最后达到目标,生成总结输出。Agent 是目前认为最能够将大模型实际落地的应用方向,总的来说 Agent 其实就是提示词工程,通过更好的提示词来激发模型的能力。聊天机器人型AI Agent:聊天机器人型AI Agent是- -种能够通过文本消息与用户进行对话的大模型AI Agent。数据分析型AI Agent可以帮助企业做出更明智的决策、发现潜在的商机、优化运营流程。
原创
发布博客 2024.04.20 ·
1601 阅读 ·
29 点赞 ·
0 评论 ·
29 收藏

Elasticsearch 混合检索优化大模型 RAG 任务

Elastic 社区在自然语言处理上面做的很不错官方博客更新速度也很快,现阶段大模型的应用场景主要在 Rag 和 Agent 上,国内 Rag(Retrieval-Augmented Generation 检索增强生成) 的尤其多,而搜索对于 Elasticsearch 来说是强项特别是 8.9 之后的版本提供了 ESRE 模块(集成了高级相关性排序如 BM25f、强大的矢量数据库、自然语言处理技术、与第三方模型如 GPT-3 和 GPT-4 的集成,并支持开发者自定义模型与应用),经过我的各种尝试在 El
原创
发布博客 2024.04.16 ·
2365 阅读 ·
21 点赞 ·
2 评论 ·
34 收藏

中文nlp处理常用工具(ltp、apache-nlp、spark-nlp等)

ltp是哈工大社会计算和信息检索研究中心(HIT-SCIR)开源的中文自然语言处理工具集,用户可以使用 ltp 对中文文本进行分词、词性标注、命名实体识别、语义角色标注、依存句法分析、语义依存分析等等工作。目前是我觉得比较好用的nlp工具、相比 apache-opennlp、spark-nlp 等工具对中文支持度更好。ltp是 pytorch 开发,项目上是整合到 elasticsearch 服务中使用。
原创
发布博客 2024.03.19 ·
952 阅读 ·
3 点赞 ·
0 评论 ·
2 收藏

Weka 算法总结以及接口使用

Weka 算法总结。
原创
发布博客 2024.03.04 ·
1101 阅读 ·
10 点赞 ·
0 评论 ·
12 收藏

webrtc-agc 自动增益控制算法

最近又开始调 webrtc-agc 算法,这里记录自适应模拟增益模式下音量反馈调节的过程。
原创
发布博客 2023.11.08 ·
1765 阅读 ·
2 点赞 ·
1 评论 ·
4 收藏

DJL 强化学习(附带 FlappyBird示例)

经过我的测试 Java 下面做强化学习有以下几个方案,Deeplearning4j(后面的版本已经移除了rl4j库官方也不维护了,做一些小Work还是可以的),DJL(亚马逊开源,目前这个在 Java 深度学习方向是比较全面的),另外就是强化学习仿真平台 gym、mujoco 这些都可以在 Java 平台找到使用方案。
原创
发布博客 2023.10.21 ·
897 阅读 ·
2 点赞 ·
2 评论 ·
4 收藏

android 使用 onnxruntime 部署 yolov5_face_landmark 人脸检测

下面是使用 opencv-camera,实时处理区域内人脸检测 android 推理 demo。
原创
发布博客 2023.08.03 ·
1974 阅读 ·
5 点赞 ·
2 评论 ·
11 收藏

使用 java-onnx 部署 Meta-ai Segment anything 分割一切

近日,Meta AI在官网发布了基础模型 Segment Anything Model(SAM)并开源,其本质是用GPT的方式(基于Transform 模型架构)让计算机具备理解了图像里面的一个个“对象”的通用能力。SAM模型建立了一个可以接受文本提示、基于海量数据(603138)训练而获得泛化能力的图像分割大模型。图像分割是计算机视觉中的一项重要任务,有助于识别和确认图像中的不同物体,把它们从背景中分离出来,这在自动驾驶(检测其他汽车、行人和障碍物)、医学成像(提取特定结构或潜在病灶)等应用中特别重要。
原创
发布博客 2023.05.16 ·
1684 阅读 ·
3 点赞 ·
11 评论 ·
6 收藏

使用 java-onnx 部署 PaddleOCR-v3 文本检测

模型推理输出文本区域需要经过二值化之后使用 opencv 查找轮廓,然后获取最小外接矩形并扩展得到最终的文本区域,后续需要矩形旋转、投影变换等操作作为文本识别的输入。文本识别可以用crnn等各种模型。
原创
发布博客 2023.05.13 ·
2380 阅读 ·
1 点赞 ·
4 评论 ·
3 收藏

yolovp-目标、车道线、行驶区域

发布视频 2023.05.07

【PostgreSQL】客户端请求处理 PostgresMain()

参数化 Prepared-statement 的解析阶段:bind,将上一阶段的 PreparedStatement 生成执行计划并绑定保存,后续相同的参数化请求可以复用,还需要对已有的计划进行校验。请求传递的是参数、参数格式和返回列格式。参数化 Prepared-statement 的解析阶段:parse,对语法进行分析并重写,请求传递的是带参数占位符的sql语句。参数化 Prepared-statement 的解析阶段:execute,参数和计划 Portal 都有了直接执行请求。
原创
发布博客 2023.04.26 ·
262 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【Hotspot】 JNI/JNA调用、Native调用

因为前面 Java Static 中调用的 RegisterNatives 函数用于 JNI 注册,而底层调用的 Java_java_lang_Xxxx_registerNatives() 这些函数本身也是一个 JNI ,那么这些起始的 JNI 函数就是通过 NativeLookup::lookup() 进行注册的。native 是与C++联合开发的时候用的!JNA(Java Native Access)框架是一个开源的Java框架,是SUN公司主导开发的,建立在经典的JNI的基础之上的一个框架。
原创
发布博客 2023.04.26 ·
1626 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

【Hotspot】类生命周期(4):对象引用管理:HandleMark 和 HandleArea

(new 出来的对象的实例存储在堆中,但是仅仅存储的是成员变量,也就是平时所说的实例变量,成员变量的值则存储在常量池中。成员方法被存储在方法区,并不是存储在第一个创建的对象中,因为那样的话,第一个对象被回收,后面创建的对象也就没有方法引用了。与堆一样,是被线程共享的内存区域,要注意线程安全问题。在HandleMark的析构函数中会将HandleArea的当前内存地址到方法调用前的内存地址top之间的所有分配的oop都销毁掉,然后恢复当前线程的HandleArea的内存地址top到方法调用前的状态。
原创
发布博客 2023.04.25 ·
275 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【Hotspot】类生命周期(3):对象创建 new 关键字

也就是说,Java中每个线程都会有自己的缓冲区称作TLAB(Thread-local allocation buffer),每个TLAB都只有一个线程可以操作,TLAB结合bump-the-pointer技术可以实现快速的对象分配,而不需要任何的锁进行同步,也就是说,在对象分配的时候不用锁住整个堆,而只需要在自己的缓冲区分配即可。在一般应用中,不会逃逸的局部对象所占的比例很大,如果能使用栈上分配,那大量的对象就会随着方法的结束而自动销毁了,无须通过垃圾收集器回收,可以减小垃圾收集器的负载。
原创
发布博客 2023.04.25 ·
148 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

【Hotspot】类生命周期(2):类解析、类链接:Oop和Klass机制

oop 指的是 Ordinary Object Pointer(普通对象指针,指向被创建的对象),它用来表示对象的实例信息,看起来像个指针实际上是藏在指针里的对象;也就是说 oopDesc 是所有对象类的顶级基础类,Java 所有对象都转换为 C++ 下 oopDesc 类对象,以此通过 C++ 方法来访问 Java 对象。HotSpot的解决方案是,为每一个已加载的Java类创建一个instanceKlass对象,用来在JVM层表示Java类。是 JVM 的规范,所有虚拟机 必须遵守的。
原创
发布博客 2023.04.25 ·
561 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

【Hotspot】类生命周期(1):类加载 Bootstrap 以及双亲委托

这个ClassLoader类是用C++/C语言编写的,负责将/lib目录、-Xbootclasspath选项指定的目录或系统属性sun.boot.class.path指定的目录下的核心类库加载到内存中。扩展类加载器由sun.misc.Launcher$ExtClassLoader类 Java 实现,负责将/lib/ext目录或者由系统变量-Djava.ext.dir所指定的目录中的类库加载到内存中。JVM在运行时,需要一种用来标识Java内部类型的机制。
原创
发布博客 2023.04.25 ·
361 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【hotspot】执行字节码指令流程(4):编译器C1/C2

在HotSpot VM 中,除了模板解释器外,有很多地方也会用到运行时机器代码生成技术,如广为人知的C1编译器产出、C2编译器产出、C2I/I2C 适配器代码片段、解释器到JNI适配器的代码片段等。C2即时编译器采用了激进乐观的优化技术,并采用传统编译器许多的编译优化手段,如内联优化、全局值编码(GVN)、图着色的寄存器分配、BURS指令选择算法等。接着进行平台无关优化并生成平台相关的 MachNode图:最后进行平台相关优化,包括指令选择、代码重排、寄存器分配、窥孔优化,直至输出目标机器代码。
原创
发布博客 2023.04.25 ·
542 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏
加载更多