以图搜图系统搭建

  • 参考链接:
    https://milvus.io/cn/blogs/2020-01-07-search-by-image.md
    https://tutorials.milvus.io/cn/
  • 版本选择:
milvusdb/milvus:0.9.0 【核心服务】
milvusbootcamp/pic-search-webserver:0.7.0【服务端】
milvusbootcamp/pic-search-webclient:0.1.0【客户端】

1、数据准备

  • 本文以 PASCAL VOC 图片集为例搭建了一个以图搜图的端到端解决方案,该图片集包含 17,125 张图片,涵盖 20 个目录:人类;动物(鸟、猫、牛、狗、马、羊);交通工具(飞机、自行车、船、公共汽车、小轿车、摩托车、火车);室内(瓶子、椅子、餐桌、盆栽植物、沙发、电视)。数据集大小: ~2GB 下载地址:http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

2、docker安装(注意设置docker的内存要大于8G)

  • 安装教程: https://www.runoob.com/docker/windows-docker-install.html

3、安装Milvus Docker(CPU版,配置高可安装GPU版)

  • 这里选择安装Milvus Docker0.9.0的cpu版本

(1)确认 Docker 状态

  • 查看docker是否正在运行
docker info

(2)拉取 Milvus 镜像

  • 拉取仅需 CPU 的镜像:
docker pull milvusdb/milvus:0.9.0-cpu-d010621-4eda95

(3)下载配置文件

 mkdir -p /home/$USER/milvus/conf
 cd /home/$USER/milvus/conf
 wget https://raw.githubusercontent.com/milvus-io/milvus/v0.9.0/core/conf/demo/server_config.yaml
  • 注意:如果无法通过 wget 命令正常下载配置文件的情况,您也可以在 /home/$USER/milvus/conf 路径下创建 server_config.yaml 文件,然后直接打开链接复制粘贴 server config 文件 的内容。

(4)启动 Milvus Docker 容器

docker run -d --name milvus_cpu_0.9.0 \
-p 19530:19530 \
-p 19121:19121 \
-p 9091:9091 \
-v /home/$USER/milvus/db:/var/lib/milvus/db \
-v /home/$USER/milvus/conf:/var/lib/milvus/conf \
-v /home/$USER/milvus/logs:/var/lib/milvus/logs \
-v /home/$USER/milvus/wal:/var/lib/milvus/wal \
milvusdb/milvus:0.9.0-cpu-d051520-cb92b1
  • 上述命令中用到的 docker run 参数定义如下:
    -d: 运行 container 到后台并打印 container id。
    –name: 为 container 分配一个名字。
    -p: 暴露 container 端口到 host。
    -v: 将路径挂载至 container。

最后,确认 Milvus 运行状态:

 docker ps

如果 Milvus 服务没有正常启动,您可以执行以下命令查询错误日志。

 docker ps -a
 Check docker logs
 docker logs <milvus container id>

4、安装pic-search-webserver docker

(1)拉取 pic-search-webserver 镜像

docker pull docker pull milvusbootcamp/pic-search-webserver:0.7.0

(2)启动 pic-search-webserver docker镜像

docker run -d --name zilliz_search_images_demo \
-v ${IMAGE_PATH1}:/tmp/pic1 \
-v ${IMAGE_PATH2}:/tmp/pic2 \
-p 35000:5000 \
-e "DATA_PATH=/tmp/images-data" \
-e "MILVUS_HOST=${MILVUS_IP}" \
milvusbootcamp/pic-search-webserver:0.7.0
  • 上述启动命令中, IMAGE_PATH1 、 IMAGE_PATH2 表示你的服务器上存放图片的绝对路径,启动时将这些路径映射到 docker 容器里面。系统搭建好以后,可以直接在前端界面上输入 docker 容器中的图片路径 " /tmp/pic1 " 、" /tmp/pic2 " 去加载图片。 MILVUS_IP 表示启动 Milvus docker 的服务器 IP 地址,注意不要使用回环地址 “127.0.0.1” 。命令其他部分保持不变即可。

5、安装pic-search-webclient docker(用来演示的客户端)

(1)拉取 pic-search-webclient 镜像

docker pull milvusbootcamp/pic-search-webclient:0.1.0

(2)启动 pic-search-webclient docker镜像

docker run --name zilliz_search_images_demo_web -d --rm -p 8001:80 \
-e API_URL=http://${WEBSERVER_IP}:35000 \
milvusbootcamp/pic-search-webclient:0.1.0
  • http://${WEBSERVER_IP}:35000 代表上一步中服务端的地址入口
评论