深度学习/机器学习/强化学习
文章平均质量分 72
深度学习/机器学习/强化学习
0x13
coding...
展开
-
大模型 Agent 任务 ,如何开发一个 AI 代理?
而大模型代理使用类似的思想,利用大模型的自然语言分析能力根据当前对话梳理达到目标需要执行的策略,然后一边执行操作一边根据反馈分析下一个操作,最后达到目标,生成总结输出。Agent 是目前认为最能够将大模型实际落地的应用方向,总的来说 Agent 其实就是提示词工程,通过更好的提示词来激发模型的能力。聊天机器人型AI Agent:聊天机器人型AI Agent是- -种能够通过文本消息与用户进行对话的大模型AI Agent。数据分析型AI Agent可以帮助企业做出更明智的决策、发现潜在的商机、优化运营流程。原创 2024-04-20 12:19:12 · 685 阅读 · 0 评论 -
Elasticsearch 混合检索优化大模型 RAG 任务
Elastic 社区在自然语言处理上面做的很不错官方博客更新速度也很快,现阶段大模型的应用场景主要在 Rag 和 Agent 上,国内 Rag(Retrieval-Augmented Generation 检索增强生成) 的尤其多,而搜索对于 Elasticsearch 来说是强项特别是 8.9 之后的版本提供了 ESRE 模块(集成了高级相关性排序如 BM25f、强大的矢量数据库、自然语言处理技术、与第三方模型如 GPT-3 和 GPT-4 的集成,并支持开发者自定义模型与应用),经过我的各种尝试在 El原创 2024-04-16 16:55:29 · 798 阅读 · 1 评论 -
中文nlp处理常用工具(ltp、apache-nlp、spark-nlp等)
ltp是哈工大社会计算和信息检索研究中心(HIT-SCIR)开源的中文自然语言处理工具集,用户可以使用 ltp 对中文文本进行分词、词性标注、命名实体识别、语义角色标注、依存句法分析、语义依存分析等等工作。目前是我觉得比较好用的nlp工具、相比 apache-opennlp、spark-nlp 等工具对中文支持度更好。ltp是 pytorch 开发,项目上是整合到 elasticsearch 服务中使用。原创 2024-03-19 10:33:00 · 258 阅读 · 0 评论 -
Weka 算法总结以及接口使用
Weka 算法总结。原创 2024-03-04 17:04:59 · 560 阅读 · 0 评论 -
使用 java-onnx 部署 yolovx 目标检测
这里使用 --include torchscript onnx 生成 onnx 文件,并指定 --opset 16,后续使用 com.microsoft.onnxruntime Java 库加载依赖时要求 opset 不超过16.流程是加载权重,输入图片,将图片resize到模型输入的shape,预测完了之后解析 25200*85,根据置信度、nms等阈值进行过滤,然后将过滤剩下的框将坐标按照缩放比例转换到原始图像坐标系中,最后标注即可。原创 2023-03-21 16:47:25 · 18336 阅读 · 20 评论 -
使用 java-onnx 部署 yolovx 实例分割
和目标检测的区别在于,需要将数据1的后32位,乘数据2的32*160*160矩阵来得到目标的 mask 信息。将 output1 的 32*160*160 也就是 float[][][] 转换成二维矩阵 32*25600 的 float[][],相当于把160*160展平,得到矩阵1,是 32行、25600列,将 output2 的每个检测框的 117 取最后32位,转为一维矩阵 float[],得到矩阵2,是1行,32列。将矩阵3再转换为二位矩阵 160*160,再进行插值扩展到原始图像大小得到矩阵4。原创 2023-03-28 14:25:52 · 777 阅读 · 0 评论 -
【Elasticsearch】ES机器学习源码分析
它是一种数据框分析,通过分析每个数据点与其他数据点的接近程度及其周围点簇的密度来识别数据集中的异常点。以 customer_full_name(顾客名称)为实体聚合每个顾客所有订单的总金额 sum/avg(taxful_total_price),得到一个每个顾客的平均消费金额和总消费金额,也就是 transfer 得到的是一般意义的样本数据而不是 datafeed 一样的时序数据。这是一种监督的途径。在这种模式下,用户不用训练机器学习什么是异常,期望得到的是什么,什么是对的,什么是错误的。原创 2023-02-18 15:49:37 · 16199 阅读 · 0 评论 -
DJL 强化学习(附带 FlappyBird示例)
经过我的测试 Java 下面做强化学习有以下几个方案,Deeplearning4j(后面的版本已经移除了rl4j库官方也不维护了,做一些小Work还是可以的),DJL(亚马逊开源,目前这个在 Java 深度学习方向是比较全面的),另外就是强化学习仿真平台 gym、mujoco 这些都可以在 Java 平台找到使用方案。原创 2023-10-21 11:11:44 · 509 阅读 · 0 评论 -
使用 java-onnx 部署 mask rcnn 实例分割
使用 java-ort 部署 mask rcnn 实例分割。原创 2023-03-30 21:00:40 · 703 阅读 · 0 评论 -
使用 java-onnx 部署 Meta-ai Segment anything 分割一切
近日,Meta AI在官网发布了基础模型 Segment Anything Model(SAM)并开源,其本质是用GPT的方式(基于Transform 模型架构)让计算机具备理解了图像里面的一个个“对象”的通用能力。SAM模型建立了一个可以接受文本提示、基于海量数据(603138)训练而获得泛化能力的图像分割大模型。图像分割是计算机视觉中的一项重要任务,有助于识别和确认图像中的不同物体,把它们从背景中分离出来,这在自动驾驶(检测其他汽车、行人和障碍物)、医学成像(提取特定结构或潜在病灶)等应用中特别重要。原创 2023-05-16 14:00:51 · 1215 阅读 · 9 评论 -
android 使用 onnxruntime 部署 yolov5_face_landmark 人脸检测
下面是使用 opencv-camera,实时处理区域内人脸检测 android 推理 demo。原创 2023-08-03 12:14:27 · 702 阅读 · 0 评论 -
使用 java-onnx 部署 PaddleOCR-v3 文本检测
模型推理输出文本区域需要经过二值化之后使用 opencv 查找轮廓,然后获取最小外接矩形并扩展得到最终的文本区域,后续需要矩形旋转、投影变换等操作作为文本识别的输入。文本识别可以用crnn等各种模型。原创 2023-05-13 17:59:31 · 1915 阅读 · 4 评论 -
车牌识别算法
一般来说摄像头的头端的车牌识别用opencv纯图像处理可以达到300-400毫秒一张已经是很成熟商用的方案了。其他的识别方案比如地感+云识别也是500毫秒左右一张。尝试过用深度学习的方法来做车牌检测+车牌识别,比较慢。开源的easypr用的svm等比较古老的方法,尝试了一把识别一张在400毫秒左右。链接:https://blog.csdn.net/qq_31186123/article/details/78661566之前有个学弟找我做一个桌面的java版拿去做毕设,直接复用...原创 2021-02-25 09:44:07 · 1863 阅读 · 5 评论 -
强化学习仿真:mujoco-py 搭建-路径过长问题解决
pip install -r requirements.dev.txt #下载并安装相关依赖。pip install -r requirements.txt #下载并安装相关依赖。如果出现了路径太长的问题,从本地文件进行安装。python setup.py install #安装mujoco-py。然后pycharm创建一个项目,选择当前py环境。原创 2023-04-23 22:08:11 · 282 阅读 · 0 评论 -
【Meta-AI】Sam-分割一切 测试
近日,Meta AI在官网发布了基础模型 Segment Anything Model(SAM)并开源,其本质是用GPT的方式(基于Transform 模型架构)让计算机具备理解了图像里面的一个个“对象”的通用能力。图像分割是计算机视觉中的一项重要任务,有助于识别和确认图像中的不同物体,把它们从背景中分离出来,这在自动驾驶(检测其他汽车、行人和障碍物)、医学成像(提取特定结构或潜在病灶)等应用中特别重要。下载三个权重文件中的一个,我用的第一个,三个模型从大到小,8G以下显存选vit_b。原创 2023-04-24 12:20:58 · 2373 阅读 · 1 评论 -
聚类 Kmeans
随着聚类数k的增大,样本划分会更加精细,每个簇的聚合程度会逐渐提高,那么误差平方和SSE自然会逐渐变小,当k小于最优聚类数时,由于k的增大会大幅增加每个簇的聚合程度,故SSE的下降幅度会很大,而当k到达最优聚类数后,再增加k所得到的聚合程度回报会迅速变小,所以SSE的下降幅度会骤减,然后随着k值的继续增大而趋于平缓,也就是说SSE和k的关系图是一个手肘的形状,而这个肘部对应的k值就是数据的最优聚类数。聚类效果越好,类间差距应该越大,类内差距越小,即类自身越紧密,类间越分散,CH指标值越大聚类效果越好。原创 2022-10-19 14:20:27 · 1769 阅读 · 2 评论 -
dl4j获取中间层输出
获取网络中间层输出。package dl4j;import org.bytedeco.javacv.CanvasFrame;import org.datavec.image.loader.NativeImageLoader;import org.deeplearning4j.nn.graph.ComputationGraph;import org.deeplearning4j.ut...原创 2019-08-24 23:43:00 · 438 阅读 · 0 评论 -
支持向量机
观察约束条件,对于任意的样本点(xi,yi),如果αi=0,则点(xi,yi)在超平面公式f(x)中无效即对分类平面的产生不会有影响。而我们从样本集D中找到的这两个点(xi,yi=+1)和(xi,yi=-1)能够使得距离r最大,则这两个点被称为“支持向量”,找到这些样本点之后去计算得到w和b得到的超平面被称为“支持向量机”。首先分析约束条件,用α2表示α1,找出α1和α2满足的取值范围,在此范围内求解α2的最优值也即是得到α1的最优值。截距为b(原点到超平面的距离),法向量为w(垂直于超平面的n维向量)。原创 2022-10-19 14:13:45 · 500 阅读 · 0 评论 -
多层感知机 MLP
对比期望值得到误差(网络在样本(xk,yk)上的均方误差),然后将误差传递至隐藏神经元,将误差分摊给各层的各个单元,计算各层各个单元的误差信号,并将其作为修正各单元权值w的根据。多层网络的学习能力比单层感知机强得多,想要训练多层网络,M-P神经元通过y和y^调整w的方法就不够用了,需要更加强大的学习算法,误差逆传播算法(BP算法)是杰出和成功的代表。更一般的,给定训练集。非:取w1=-0.6,w2=,0,θ=-0.5,则y=f(-0.6*x1+0.5),当x1=1时y=0,当x1=0时y=1。原创 2022-10-19 14:26:41 · 1366 阅读 · 0 评论 -
Spark ML
1.1 机器学习的定义在维基百科上对机器学习提出以下几种定义:“机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”。“机器学习是对能通过经验自动改进的计算机算法的研究”。“机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。” 一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and pe原创 2022-10-20 11:35:17 · 566 阅读 · 0 评论