驯服“模型动物园”:基于 Docker 的多模型统一运维实践 驯服“模型动物园”:基于 Docker 的多模型统一运维实践在 AI 落地应用的过程中,我们往往面临着一个棘手的“模型动物园”现状:轻量级的 OCR 模型、庞大的 LLM(如 Llama 3)、以及调用外部 API(如 OpenAI)的代理服务混杂在一起。 不同的框架依赖(PyTorch vs TensorFlow)、巨大的算力差异(CPU vs GPU)、以及碎片化的调用方式,让运维变得异常痛苦 2025-12-09 MLOps #AI MLOps Docker
打造 C++ 高性能 AI 推理服务:Drogon + ONNX Runtime 打造 C++ 高性能 AI 推理服务:Drogon + ONNX Runtime (YOLOv5 GPU)在构建需要高并发、低延迟的深度学习推理服务时,性能至关重要。本项目展示了如何使用 C++ 的 Drogon 异步 Web 框架和 **ONNX Runtime (ORT)**,搭建一个基于 YOLOv5 模型的 GPU 加速目标检测 HTTP 服务。该架构完美结合了高性能 I/O 和 2025-12-09 Onnx Drogon #AI Drogon Onnx Cxx OpenCV
一次简单的Onnx和OpenCV的实验 因为业务要求,最近部署了很多小模型(纯cpu版本),其中涉及到的就是图像处理比较多,基本框架和思路,依然是onnx和opencv的组合。然后,这篇博客主要是记录一下开发的骨架,其中的业务相关的代码剔除了,可以给后续需要的时候快速开发、参考。 代码结构 12345678910111213141516171819202122232425262728293031323334353637383940414 2025-11-29 Onnx #AI OpenCV Onnx Cxx
Gunicorn部署pyzbar程序 最近组里的小伙伴,搞条形码识别,没搞定,我简单写了个识别的程序,然后用Gunicorn 部署了下,很有参考意义。为了满足可扩展性(后续增加OCR、图像处理等功能)和内网部署的需求,使用 FastAPI 作为 Web 框架(因为它性能高、开发快、原生支持异步),配合 Gunicorn 作为 WSGI/ASGI 服务器进行部署。 整个小项目遵循了分层架构(路由层、业务层、工具层),这样以后要 2025-11-28 Python #AI Gunicorn Uvicorn Python
利用Colab玩转Onnx——包括可以同时编写和运行Python和C++代码 公司没有提供带显卡的笔记本(贼抠门),也不敢瞎用公司的服务器显卡,双十一犹豫了半天也没买新电脑(经济下行啊)。但是最近有点迷AI部署,所以想到了用Colab,试试能不能搭建Onnx环境,没想到可以。 Colab 本质上是一个运行在 Google 服务器上的 Ubuntu Linux 虚拟机,它预装了 C++ 编译器(如 g++)。 我们将通过以下步骤实现: 挂载 Google Drive:用于访 2025-11-15 AI #Onnx Colab CXX
brpc编译环境搭建 众所周知,C++编译是个大难题,之前的brpc环境学习环境是放在公司电脑的,现在在自己电脑的虚机Ubuntu16.04上,重新搭建个学习环境。以下是艰苦奋战的结果。 升级 CMake以下是升级 CMake 的详细步骤: 1. 检查当前版本先确认当前系统已安装的 CMake 版本: 1cmake --version 2. 从官方网站下载最新版本访问 CMake 官方下载页面 选择适合你的系统版 2025-01-02 CXX #brpc CXX
协程调用系统函数会发生什么? 前几天被人问及协程调用系统函数会发生什么,这个问题还是很有趣的,不同的语言和模型实现的机制会有所不同,今天特地用几种流行的语言实现研究了一下,结果也是非常有趣。 在协程中调用系统调用函数是否成功,取决于以下几个因素: 系统调用的类型(阻塞/非阻塞)。 协程的实现机制(用户态、内核态,或者语言特性)。 语言运行时及其调度模型。 不同语言和运行时对协程的实现差异会导致行为不同。 2024-11-16 Coroutine #Coroutine 系统调用
MySQL的常用查询语句集锦 最近参加了一些传统企业的面试,通常都会写一份笔试题,和大厂不一样,他们是真的笔试题(纸质试卷,考察技术基础题:比如语言特性、计算机体系结构、SQL等),虽然说是技术基础,但是很多题目难度还是很高的,比如MySQL的查询语句,不仅考察基础知识,还考察如何解决复杂的业务问题。故此,我翻阅了一些博客和书籍,记录了一些典型的MySQL查询场景,提供建表语句和解答,而且难度是依次递增,非常有趣。 1. 查询 2024-11-13 MySQL #MySQL
生成器在Python和Java中的实践 AI训练的代码中,包括很多教学代码,有很多Python的生成器实践(尤其李沐的课件),但是Web端写日常业务到是很少用到,就顺手查了一下资料,比较了一下各自的实现方式和原理。 Python 中的生成器Python 生成器使用 yield 关键字和协程特性,能够在延迟计算的基础上节省内存并实现流式处理。生成器的实现基于协程(Coroutine)机制,使得函数可以暂停和恢复,从而可以在迭代过程中按需生 2024-10-30 Python #Python Java Generator 生成器
SPI在MySQL JDBC Connector 和 Flink Table Connector的实践 最近在看Flink的时候,发现 Flink Table Connector也是使用了SPI技术的,结合很早之前MySQL JDBC Connector的使用,将两者的SPI实践记录下这篇文章。 1. Java SPI 技术概述Java SPI(Service Provider Interface)是一种机制,允许模块化开发和服务提供者的动态加载。通过 SPI,可以在运行时发现和加载实现特定接口的服 2024-10-27 Java #SPI Flink MySQL