# pic_search_server **Repository Path**: justkkalways/pic_search_server ## Basic Information - **Project Name**: pic_search_server - **Description**: milvus1.0.0 Python3.8 给予vgg模型 提取512维向量 实现以图搜图 记录train、mysql日志 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-15 - **Last Updated**: 2026-04-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pic_search_server #### 介绍 milvus1.0.0 Python3.8 基于vgg模型 提取512维向量 实现以图搜图 记录train、mysql日志 #### 软件架构 本项目使用的docker容器均基于x86架构 建议intel cpu上运行 也可以使用GPU加速特征提取 但要安装gpu版本的tf #### 安装教程 以下组件均在生产线上环境验证过 建议milvus1.0.0容器的端口 19530、19121都配置防火墙 仅允许目标应用服务器访问这两个的端口 1.milvus1.0.0 docker pull milvusdb/milvus:1.0.0-cpu-d030521-1ea92e 这个是配置向量数据库 注意配置文件server_config.yaml (在本项目根目录 要放到milvus挂在出来的目录的conf目录中) 这两个配置要符合实际向量数据大小 比如当前线上环境有130w的图片 就要去https://milvus.io/zh/tools/sizing 向量数量填1.3 million(百万) 维度 nlist 看看需要多少内存 ``` 配置文件中的这个配置 可以修改为sqlite或mysql 就是存储元数据的 差别不大 建议存储在mysql中 如果重置milvus容器了 sqlite中的数据可能会丢 general: timezone: UTC+8 meta_uri: sqlite://:@:/ # meta_uri: mysql://root:123456@172.19.20.174:3306/milvus cache: cache_size: 1GB insert_buffer_size: 1GB preload_collection: docker run -d --name milvus_cpu_1.0.0 \ -p 19530:19530 \ -p 19121:19121 \ -v /Users/Downloads/milvus/docker/local_milvus/db:/var/lib/milvus/db \ -v /Users/Downloads/milvus/docker/local_milvus/conf:/var/lib/milvus/conf \ -v /Users/Downloads/milvus/docker/local_milvus/logs:/var/lib/milvus/logs \ -v /Users/Downloads/milvus/docker/local_milvus/wal:/var/lib/milvus/wal \ -v /Users/Downloads/milvus/docker/local_milvus/www:/var/lib/milvus/www \ milvusdb/milvus:1.0.0-cpu-d030521-1ea92e ``` 2.server 这个就是核心特征提取的python程序的 线上是基于python3.8的 依赖版本在pip.txt中 版本号都配置好了 import是要提取的图片路径 这个是官方demo 这一套配置好了 直接就能查看效果 git仓库中的是适配了线上环境基于venv的代码 添加了向量提取分页插入功能 防止训练失败 导致全部失败 demo是全部训练完一次性插入 git是是优化后的 关于依赖的业务数据 是文件名称存储了业务数据的关键id 由此关联的milvus的id和业务数据的 ip地址填milvus1.0.0所在服务器ip 直接启动就可以运行起来搜索api了 vgg16模型是在镜像中的 直接就能用 这里填milvus所有服务器ip MILVUS_HOST= 192.168.0.103 ``` docker run -d --name milvus_image_search_demo \ -v /Users/Downloads/milvus/docker/milvus_1_0_0/webserver/import:/tmp/import \ -v /Users/Downloads/milvus/docker/milvus_1_0_0/webserver/common:/tmp/common \ -p 35000:5000 \ -e "DATA_PATH=/tmp/images-data" \ -e "MILVUS_HOST= 192.168.0.103" \ milvusbootcamp/pic-search-webserver:1.0 ``` 3.client demo的客户端界面 适配本项目的没有客户端界面 是提供api给业务系统的 这个界面可以快速查阅搜图效果 访问方式为 本机http://本机ip:8902 访问的API_URL配置为python程序开放的端口 比如这里是35000 ``` docker run --name milvus_image_search_demo_web -d -p 8902:80 \ -e API_URL=http://192.168.0.103:35000 \ milvusbootcamp/pic-search-webclient:1.0 ``` 4.em 可视化管理 连接milvus 19121端口 安装好后 直接浏览器访问 http://localhost:3000 连接里面填milvus所在服务器ip 端口填milvus开放的端口 这里是19121 可以可视化查看milvus的向量状态 ``` docker run -d --name milvus-em -p 3000:80 milvusdb/milvus-em:latest ``` 5.如果是win环境 开启wsl2 WSL2 ``` dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart wsl --set-default-version 2 docker --version docker run hello-world ```