- 博客(83)
- 资源 (2)
- 收藏
- 关注

原创 Dify对比主流大模型开发框架:Langchain、LlamaIndex、n8n,谁更适合企业落地?
Dify的优势在于“快速开发与可落地”,但在大规模企业应用中,必须强化分布式部署与定制扩展能力。与Langchain、LlamaIndex等底层框架相比,Dify代表了一种“中台即服务(PaaS)”的发展趋势,有望在企业智能化转型中扮演重要角色。企业在选择框架时,关键在于明确自身业务需求、技术能力和成本投入,避免“盲选”而导致后期成本增加。
2025-05-29 10:19:20
990

原创 融合静态图与动态智能:重构下一代智能系统架构
智能系统的未来不是全生成,而是在“边界内的智能决策”。我们呼吁用系统思维重构 LLM 应用架构,建立真正可用、可控、可落地的大模型应用体系。
2025-05-07 09:45:02
1290

原创 线下CPG零售的核心:POG与销量的循环优化
在CPG(Consumer Packaged Goods,快速消费品)领域,线下零售的核心在于之间的高效联动。简单来说,CPG品牌经理的关键任务之一,就是,通过销量反馈不断调整优化POG,进而持续提升销量,开启正向循环。:指商品在零售货架上最佳摆放方式的图形化表示,涵盖位置、排列、数量等信息。
2025-04-28 15:02:19
916

原创 线下零售数据采集:在精度与效率之间寻找平衡点
采集系统的精度与效率,并不仅仅是执行层的小问题,而是决定零售行业能否迈向智能驱动时代的基础设施问题。如果停留在局部最优,整个行业将继续受限于低效采样、人工修正、缓慢响应的旧范式。只有在数据采集层面实现质变,零售智能化才能真正实现从辅助决策到主动优化的跃迁。每一次更高效、更精准的采集迭代,都是行业向前的一小步,也是决定性的一步。
2025-04-28 09:01:56
1835
原创 AI创业公司分析报告:Blue
摘要: Blue是一家聚焦语音控制技术的AI初创公司(2024年成立),其创新产品通过LLM模拟触屏操作,实现免提控制所有手机应用,突破传统语音助手的功能局限。核心团队由Google、Apple前技术专家组成,拥有专利壁垒与硬件集成优势,但面临技术可靠性(如误操作风险)、巨头竞争及用户接受度等挑战。目前处于萌芽期,Android版已上线,未来可能定义“免提交互”新标准,或受限于垂直场景。成败关键取决于技术突破与市场教育能力,其探索将重新定义人机交互边界。(149字)
2025-08-14 10:06:44
378
原创 以任务为中心的智能推荐系统架构设计:原理、实现与挑战分析
本文针对复杂业务流程中智能推荐系统面临的全局状态空间爆炸、规则维护困难等问题,提出以任务为中心的架构设计。通过聚焦任务节点及其局部上下文,结合规则引擎和语义匹配技术,构建了灵活高效的推荐系统。文章详细阐述了架构设计理念、关键模块实现及技术挑战应对方案,包括任务库设计、局部上下文抽取、规则与语义匹配融合等方法。该架构有效降低了系统复杂度,提升了推荐准确性和维护效率,为复杂业务场景下的智能推荐系统建设提供了创新思路和实践参考。
2025-08-08 13:18:48
742
原创 一些观察:关于招聘算法实习生和工程师的五点思考
这篇文章分享了面试算法实习生和工程师过程中的五点观察与建议: 实习生与应届生能力接近,建议深入研究系统架构而非仅复现项目; 小公司算法工程师经历较杂,需梳理技术主线并沉淀经验; 代码习惯工具化,但C++仍是核心系统的关键,需保持动手能力; 数据理解能力不足,建议多处理原始脏数据并掌握ETL工具; 需从“做题思维”转向系统思维,参与完整项目以提升架构能力。 文章强调潜力需要清晰路径,并肯定认真钻研技术的人。
2025-08-05 10:00:40
587
原创 用 SuperPoint + LightGlue 精准重建低纹理目标:从原理到实践
本文深入探讨如何利用 SuperPoint 与 LightGlue 实现低纹理场景下的高精度三维重建。针对传统 SfM 方法在纹理稀缺环境中特征提取和匹配失败的问题,作者提出通过调整 SuperPoint 的特征密度与阈值、结合 LightGlue 的鲁棒匹配能力,有效提升配准成功率与重建完整度。文章不仅剖析算法优势与适配策略,还提供实测效果对比和部署建议,适合科研、测绘、文保等复杂环境下的实际应用。
2025-07-24 10:15:43
631
原创 Hierarchical-Localization 安装与常见问题解决手册
提供了全面的hloc工具箱使用指南,该工具箱基于深度学习,支持多种特征提取与匹配方法,广泛应用于图像定位和三维重建任务。手册从详细的环境搭建和依赖安装(包括解决国内网络访问GitHub/PyPI的痛点)入手,继而系统地罗列并给出了多种常见问题的解决方案,例如MATLAB格式权重文件的兼容性问题、NumPy 2.x与PyTorch等依赖的版本冲突、以及因hloc对Path类型参数和特定命名规则的偏好而导致的路径或参数不匹配错误。
2025-07-23 17:50:28
897
原创 OpenMVG & OpenMVS 安装全流程常见问题与解决方法总结
本文总结了OpenMVG和OpenMVS三维重建工具链安装过程中的常见问题及解决方法。主要问题包括:依赖包缺失、GitHub下载失败、Python3找不到、GCC/CUDA版本不兼容、OpenCV版本过低、VCGLib未找到等。文章提供了详细的解决方案,如安装特定版本依赖、设置环境变量、源码编译等操作指南。同时针对Docker构建问题,给出了优化构建顺序和使用缓存的建议。推荐使用Ubuntu 22.04 + GCC 11 + CUDA 11.8/12.2的兼容环境组合,可有效减少安装过程中的报错。
2025-07-22 19:47:30
994
原创 从 COLMAP 到 3D Gaussian Splatting
随着NeRF和3D Gaussian Splatting等新技术的崛起,三维重建已进入“系统集成优先”的工程阶段。本文从实用角度出发,梳理了COLMAP、RGB-D、3DGS等主流方案的优劣对比,覆盖从建模输入、算法选择、Mesh导出到GPU/CPU部署的全链条实践路径。针对不同精度、预算与交付周期的需求,提供了一张清晰的选型路线图,并辅以实际脚本与经验建议,助力团队在1天内完成评估,1周内原型验证,1个月内产品交付。
2025-07-22 19:03:47
1169
原创 3D Gaussian Splatting (3DGS) 从入门到精通:安装、训练与常见问题全解析
本指南全面总结 3D Gaussian Splatting (3DGS) 从安装到渲染的常见问题。重点包括:环境配置: 确保 Python (Conda)、PyTorch 与 CUDA 版本精准匹配,注意 numpy 兼容性。COLMAP 与 Ceres 编译: 解决 Abseil-CPP 配置、GCC/CUDA 兼容性及依赖缺失问题。数据准备: 视频转图片,COLMAP 稀疏重建后,利用脚本将数据转换为 3DGS 兼容格式。训练与渲染: 解决训练参数、CUDA/PyTorch 扩展 ABI
2025-07-17 19:18:59
1691
原创 COLMAP 编译全流程问题与解决方案汇总【含Ceres/absl/CUDA/GCC/CMake 报错详解】
本文针对Ubuntu 24.04环境下Ceres Solver和COLMAP的编译问题,提供了从源码到部署的完整解决方案。重点解决了abseil-cpp依赖、CMake配置和CUDA兼容性等核心问题,包含: absl版本冲突的三种修复方案(版本指定、配置生成、动态库转换) COLMAP依赖缺失的五种应对方法(手动下载、路径配置、环境变量设置) GCC/CUDA兼容性问题处理(编译器版本切换) 静态库链接问题的-fPIC解决方案 提供
2025-07-17 13:10:27
915
原创 领域特定知识的智能管理与应用:三位一体解决方案
本文提出一套基于大型语言模型(LLM)、语义向量检索和知识图谱的三位一体解决方案,用于领域特定知识的管理与应用。首先利用LLM从非结构化数据中智能抽取实体和关系,构建结构化知识图谱;其次通过语义向量检索实现模糊意图匹配,结合过程型知识图谱提供实时动态洞察;最后通过归档型知识图谱支持深度推理与知识沉淀。三者协同工作,形成一个从知识捕获到智能应用的完整闭环,实现了领域知识的高效管理、精准查询和智能应用。该方案克服了单一技术的局限性,为各行业处理海量领域数据提供了有效路径。
2025-07-15 10:52:49
911
原创 零售智能执行大模型架构设计:从空间建模到上下文推理,再到智能Agent
我们提出一套基于多阶段大模型的零售执行智能架构,将空间建模、上下文推理与智能Agent系统整合为统一体系,目标是构建未来10年通用的零售智能基础设施。
2025-05-20 11:18:29
1090
原创 高级 LLM 应用架构设计建议手册:认知工具的正确打开方式
让系统更人性化让交互更自由但无论哪种,LLM 从来不是系统的主角。它是认知层,是语言转译器,是接口层的增强器。真正的主角,是你,是理解业务和系统的架构师!
2025-05-07 09:50:13
957
原创 从DistBelief看深度学习早期的并行化
从DistBelief看深度学习早期的并行化背景DistBelief是TensorFlow的前身,与TF的名扬天下如雷贯耳相比,DistBelief简直是不值一提,但是仔细琢磨就能发现,大部分深度学习框架的问题,在DistBelief里面就已经有了回答。其中就有今天要讨论的并行部分。一言以蔽之,深度学习,或者说机器学习,在工程上最大的难题就是满足大规模数据的要求。与摩尔定律相比,数据的爆发显然更令人惊讶,所以如何处理大规模数据,并从中学习到一个好的模型,是一个非常严肃的问题。大规模数据首先是大规模的
2021-01-12 17:05:23
1979
原创 CoreML 的 C++部署 [2] 模型类抽象
接上一篇CoreML 的 C++部署 [1] 模型转换和预处理再解决了预处理的问题后,部署部署还剩下模型类的抽象,主要包括初始化、推理以及获取输出。模型类的抽象什么是模型类?可以参考:CoreML模型分析我们是以MobileNetV2.mlmodel为例说明了mlmodel的结构。这里有一个预备知识,模型头文件中的类仅仅是对底层MLModel和MLFeatureProvider的封装。也就是说,每一个mlmodel,真正的实现是通过MLModel和MLFeatureProvider进行的,上层做
2020-12-31 11:11:07
1072
原创 Core ML简史
背景深度学习是最新一波技术发展的最大增长点,随着研究的深入和算力的发展,深度学习也逐渐从论文走到了实际应用。由于现在我们仍然处于移动互联网的成熟期,手机仍然是今年最通用的计算平台,所以深度学习不可避免的也要跑在手机上,这是技术+时代的共同需求。为了应对这个需求,科技行业的巨头们都提出了自己的解决办法,2017年3月,Google就在TensorFlow的基础上开源了TensorFlow Lite,目标就是完成移动端深度学习计算。Google做这个事情是非常好理解的,因为TensorFlow太重了,不太可
2020-12-30 17:43:24
2018
原创 CoreML 的 C++部署 [1] 模型转换和预处理
背景当写下这个题目的时候,我是有疑问的。为什么要用C++来部署CoreML?是OC不香还是Swift不甜了?如此简单的CoreML模型部署,使用OC或者Swift几行代码就搞定的事情,非要整一个C++版本,实属想不通,是真的想不通。。。可能唯一能够理解的是,当模型推理只是一个很大的功能中的一部分,而这个功能又无法快速通过OC或者Swift搞定的时候,还是需要将整个模型推理部分下沉到C++中,与其他底层逻辑保持一致。简单来说就是为了满足程序架构的完整性,就牺牲了开发中的便捷性。但是如果是上面这个理由,
2020-12-29 10:54:51
1785
原创 CoreML模型分析
准备工作首先得有一个Xcode以及一个简单的添加了CoreMLFramework的工程;下载模型,如官方推荐的MobileNetV2将模型导入到工程中,并添加到你的编译项目中双击打开,会看到这么一个页面:然后点击 就可以进入到模型自动生成的头文件中:模型分析1.关键词@interface通过搜索关键词interface,我们可以得到三个结果:@interface MobileNetV2Input : NSObject@interface MobileNetV2Output :
2020-12-23 20:09:15
1786
2
原创 为什么TensorFlow要使用图结构?
当我们说起TensorFlow,不可避免会提到图结构,为什么TensorFlow要用图结构呢?有什么好处呢?为了搞清楚这些问题,我们先从深度学习的计算过程说起。深度学习计算过程作为图像计算的一种,深度学习计算与其他图计算并没有什么本质的区别,输入图像,根据定义好的规则对图像进行计算,并输出计算结果,然后按照规则对计算结果,然后得到最终场景需要的结果。其中,这个规则就是由深度学习模型来定义,决定我们如何对图像进行一层层计算,并得到结果。我们稍微细化一下,从结果倒推,为了得到计算结果,我们至少需要什么?
2020-12-16 16:00:19
726
1
原创 gRPC c++版本安装使用实录
背景gRPC作为google全家桶之一,拥有极高的传输效率,最近想把它加入到我们云端协议中去,提供高效的传输,解决进程间通信的问题。看着很诱人,但是用起来却不是那么简单,花了一些功夫才把完整的Demo给跑起来,也遇到不少问题,大部分与环境有关,少部分需要改一些代码,在此记录并分享一下,怕忘了。环境OS : macOS Catalina 10.15.7 (19H2)clang : Apple clang version 12.0.0 (clang-1200.0.32.27)protoBuf: 3
2020-12-08 17:31:30
3374
5
原创 Docker文件的存储位置
Ubuntu上docker文件的存储位置/var/lib/dockerMac 上docker文件的存储位置$HOME/Library/Containers/com.docker.docker/Data/vms/0/data/Docker.raw和Ubuntu不同,在mac上,所有docker相关的文件都被保存到这一个文件中,默认大小是64GB,设置是在docker Desktop的Preferences/Resources中:...
2020-10-19 17:09:28
3488
原创 [续] TensorFlow + MKL 内存泄漏及解决办法
[续] TensorFlow + MKL 内存泄漏及解决办法背景之前就发现了tf+mkl的内存泄漏问题,当时给出的办法是不用mkl了,使用原版的TensorFlow C++动态库。这样内存确实不怎么泄漏了(实测还是会有一点点上涨),但是CPU上的性能也就没有了,毕竟已知在我们的机器上,mkl的4个线程单次推理能够比原版快一倍,从600ms降到300ms,相当可观的性能提升了。思来想去,还是要把这个坑填上。填坑之旅1.重燃希望本来已经不抱希望的,直到发现百度的paddle库中有一个issue说解决
2020-10-13 09:24:48
1449
6
原创 tfjs进行RGB-BGR转换的三种方法
变量定义var t_rgb; 原始RGB的tensorvar t_bgr; 目标BGR的tensor小结默认从frame数组构造的tensor的hwc格式的,所以我们先要将hwc格式转成chw格式,然后再去交换R和B通道的数据,这是从图像层面比较容易想到的过程,但是也比较复杂,方法1就描述了这个过程。然后我们可以注意到,实际上并不需要显示的CHW格式,我们要做的事情就是交换R和B的值,所以方法2直接在第三个维度去做split,然后重新组合成新的tensor即可。进一步,我们考虑一下宏观的信息,注
2020-08-05 15:30:17
966
原创 TensorFlow + MKL 内存泄漏及解决办法
TensorFlow + MKL 内存泄漏及解决办法背景最近在做深度学习在线推理相关的项目,底层使用TF来作为推断框架,我们知道,TF底层是用Eigen完成CPU的计算的,而Eigen的速度只能说一般般,与成熟的计算库在性能上的差距还是比较明显的,比如TF支持的intel MKL。之于如何使用TF+MKL,可以参考此文,其实就是在编译时加上--config=mkl选项,然后在生成可执行文件时链接libmkldnn.so, libmklml_intel.so, libimop5.so,就可以使用TF+
2020-06-08 20:32:24
1542
4
原创 TensorFlow c++ SessionFactory注册与No session factory registered错误
TensorFlow c++ SessionFactory注册与No session factory registered错误背景近期我们在服务器上使用TensorFlow来进行推理,作为云推理服务的基础。具体如何使用tensorflow c++库来进行推断可以参考之前的记录《从0开始使用tensorflow的c++库进行模型推断》。在经过一些demo的验证之后,我们开始在项目中正式使用TensorFlow的c++库,简单描述我们的用法:tensorflow作为最底层,上面有一层对推理框架的封装静态库
2020-05-27 16:34:01
1678
4
原创 java.library.path和LD_LIBRARY_PATH的介绍与区别
背景近期要将算法部署到一个机群的虚拟主机(Debian 9.1 gcc 6.3.0)上,采用的是Java + JNI + shared library的方式来完成底层算法能力的部署。其中需要用到各种第三方库,有从源码编译的,也有直接下载的so,包括OpenCV相关、TensorFlow相关、MKL以OpenMP相关的动态库。遇到一个问题,libmklml_intel.so 这个库只能放在 LD_LIBRARY_PATH中进行加载,而不能通过java.library.path完成加载,所以有必要搞清楚这
2020-05-21 15:11:10
11270
原创 从0开始使用tensorflow的c++库进行模型推断
背景之前我们一直用MNN来作为推断框架,且取得了不错的效果!近期要在服务器上跑一下模型,我们也顺理成章想到用MNN的GPU,主要是OpenCL和Vulkan,因为在Android手机上已经验证过这两个backend的可行性,所以认为在x86平台上也是顺水推舟的事情。然后就打脸了,而且是在项目快到期之前才发现这些问题:心慌意乱,然后只能赶紧用Tensorflow的c++库救急:主要内容...
2020-04-20 20:15:16
1854
1
原创 TensorFlow 源码阅读[0]
背景最近有一点时间,决定撸一撸TF的源码,知其然也希望能知其所以然,想从四个方面来学习:接口层设计以及C到各平台接口转换Graph编译和executor执行过程解析Ops和OpKernel的解析重点Kernel的实现解析网上没找到趁手的资料,只能硬着头皮写一写,一方面当做记录,另一方面也是一种鞭策和激励,希望能多写一点。1.TensorFlow 源码阅读[1] OpKernel的...
2020-04-10 21:46:54
335
原创 TensorFlow 源码阅读[1] OpKernel的注册
OpKernel介绍在TF的架构中,OpKernel是Ops和硬件的中间层,用来抽象统一各个硬件平台上的Kernel类和接口。注册过程我们首先大致列出OpKernel注册的过程,后面再详细分析,我们按照调用顺序,从上层往下说:在各个xxx_op.cc文件中调用REGISTER_KERNEL_BUILDER()调用OpKernelRegistrar的构造函数并在该构造函数中调用OpK...
2020-04-10 21:43:33
1724
原创 OpenCV Mat相关结构体详细介绍 [1]
class Mat 定义及其构造函数定义OpenCV最重要的数据结构,官方对Mat的定义是:Mat类表示的是一个n维的稠密的单通道或多通道的数值数组。定义是非常重要的,能把一个类的定义看明白,也就了解了它最重要的作用。我们看定义中的几个定语:n维的、任意通道的、稠密的、数值的。前面两个用来描述形状,说明Mat类几乎可以描述任意形状;“稠密的”主要是为了说明它并没对内存做特殊处理,如果你的目标...
2020-04-02 11:40:04
1640
原创 OpenCV Mat相关结构体详细介绍 [0]
背景众所周知,Mat是OpenCV最核心的核心数据结构,没有这个灵活高效的Mat,OpenCV也就没有了灵魂。作为一个初学者,只需要会简单用一下Mat当然就够了,但是作为一个有理想的程序猿,我们还是要挖掘挖掘,看看Mat里面还藏着什么宝藏。mat.hpp我们将目光投向OpenCV/modules/core/include/opencv2/core/mat.hpp,这个3600多行(v3.4...
2020-04-01 11:41:42
539
2
翻译 TensorFlow2.0的动态图和静态图切换 part 2
TensorFlow2.0的动态图和静态图切换 part 2在part1中,我们学习了如何使用tf.function将python函数转换成tf的静态图,也学习了转换时创建一个状态(tf.Variable)可能出现的问题以及解决办法。在第二部分,我们将尝试传入一个tf.Tensor,而不是tf.Variable,来确定转换是否和我们想象的一样。tf.function使用AutoGraph为...
2020-03-31 11:36:57
2734
翻译 TensorFlow2.0的动态图和静态图切换 part 1
TensorFlow2.0的动态图和静态图切换tf.function介绍动态图是tf2.0最引人注目的特征,大部分其他改动都是为了适应动态图。它允许将一部分python语法转换为可移植、高性能、语言无关的TensorFlow1.x语法,通过这种方式完成tf1.x静态库和tf2.0动态图的切换。尽管听起来很美好,但是tf.function还是有一些不为人知的细节值得我们注意,本文就是通过错误驱...
2020-03-30 11:47:58
6851
3
原创 深度学习应用开发架构的一种思路
深度学习应用开发架构的一种思路背景深度学习当下依然处在风口,它从一开始解决单一场景中单一问题的算法,逐步成长为能够解决复杂问题的效率工具。随着深度学习相关的各项技术的发展,对深度学习的要求也越来越具体:一方面是朝着小而快的方向发展,不断针对特定场景做深度定制优化、精简模型,将算法部署到到移动端甚至嵌入式设备;另一方面是朝着大而全的方向演进,目标是解决一些复杂但是通用的问题,这部分模型大多部署...
2020-03-25 14:22:23
552
原创 详解100行c11线程池 ThreadPool.h
介绍这个大神的100行实现c11线程池,真的是相当简洁给力,偶尔会在项目里面使用,但是老实说一直是迷迷糊糊,并不清楚具体实现细节,现在有空学习了一波,记录一下,方便以后查阅。ThreadPool.h#ifndef THREAD_POOL_H#define THREAD_POOL_H#include <vector>#include <queue>#inclu...
2020-03-12 17:49:49
2239
3
原创 google/mediapipe Demo
背景最近项目中要用到手势检测以及手势关键点追踪,回想起google的这篇文章“On-Device, Real-Time Hand Tracking with MediaPipe”,打不开这个的,也可以看“中文版”,给出的效果是这样的:看到demo图片很心动,就想试试。过程1.下载项目代码git clone [email protected]:google/mediapipe.git...
2020-01-14 19:50:02
8774
12
原创 从0开始使用TensorFlow.js进行深度学习推断
原因最近项目里面考虑要在微信小程序里面加上识别触发以及检测追踪的功能,所以需要调研一下在Web端进行深度学习前向的可行性。这个可行性主要包含两个方面,一是模型是否支持:能否从现有模型转换为tfjs支持的模型;二是性能:tfjs的前向推断效率是否能满足我们的需求。名词解释JavaScriptJavaScript通常简写为JS,是一种高级的解释性脚本语言,遵循ECMAScript标准。JS支持...
2019-11-19 14:48:37
1420
264学习总结
2016-10-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人