基于 Milvus 和 VGG 实现以图搜图-实践

首先说下主机配置

内存754G

磁盘存储32T+

官方指导链接

https://tutorials.milvus.io/how-to-do-reverse-image-search-with-milvus/index.html​tutorials.milvus.io

 

0.数据库准备

因为个人想配置Milvus与MySQL

MySQL的安装参照(https://juejin.im/post/6854573221971247117)

图中执行

yum -y install mysql-community-server

遇到问题

Error: Unable to find a match: mysql-community-server

我执行

yum module disable mysql

后解决(如你也遇到,可以参考下我的解决方案)

我的MySQL配置信息

账号 root

密码 z2lab-Gpu

 

1.1安装CPU版Milvus0.9.0

docker pull milvusdb/milvus:0.9.0-cpu-d051520-cb92b1

基于 Milvus 和 VGG 实现以图搜图-实践_第1张图片

基于 Milvus 和 VGG 实现以图搜图-实践_第2张图片

 

1.2Milvus与MySQL的配置

参考文章(使用 MySQL 管理元数据)

create database milvus090;

meta_uri: mysql://root:z2lab-Gpu@:3306/milvus090

基于 Milvus 和 VGG 实现以图搜图-实践_第3张图片

1.3启动Milvus Docker容器

启动是遇到一个问题

docker: Error response from daemon: driver failed programming external connectivity on endpoint milvus_cpu_0.9.0 (e1fdfa3d9185cd038383069f9a5581102b15ae77e07f47cff877f71bec8426f3): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 19530 -j DNAT --to-destination 172.17.0.2:19530 ! -i docker0: iptables: No chain/target/match by that name.

我用一下命令重启docker解决了

service docker restart

启动命令

docker run -d --name milvus_cpu_0.9.0 \

-p 19530:19530 \

-p 19121:19121 \

-p 9091:9091 \

-v /milvus/0.9.0/db:/var/lib/milvus/db \

-v /milvus/0.9.0/conf:/var/lib/milvus/conf \

-v /milvus/0.9.0/logs:/var/lib/milvus/logs \

-v /milvus/0.9.0/wal:/var/lib/milvus/wal \

milvusdb/milvus:0.9.0-cpu-d051520-cb92b1

查看启动日志

docker logs 210711ef1c1c

基于 Milvus 和 VGG 实现以图搜图-实践_第4张图片

 

2.启动 pic-search-webserver docker

docker run -d --name zilliz_search_images_demo \

-v /data/share/apps/pic-search/pic1:/tmp/pic1 \

-v /data/share/apps/pic-search/pic1:/tmp/pic2 \

-p 35000:5000 \

-e "DATA_PATH=/tmp/images-data" \

-e "MILVUS_HOST=${MILVUS_IP}" \

milvusbootcamp/pic-search-webserver:0.7.0

基于 Milvus 和 VGG 实现以图搜图-实践_第5张图片

 

3、启动 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

注意,IP不要填127.0.0.1,要填你局域网的实际地址

 

4、加载数据

加载17125张图片用了19分钟

## 关于数据集

- 数据集名称:Open Images Dataset V4

- 发布机构:google,CMU,Cornell universities

- 网址:Open Images V4

- 大小:574.0 GB

- 简介:These annotation files cover the 600 boxable object classes, and span the 1,743,042 training images where we annotated bounding boxes and visual relationships, as well as the full validation (41,620 images) and test (125,436 images) sets.

Picture search​ps.z2lab.com

 

5、ps.z2lab.com外网访问

因为提供外网服务,所以想屏蔽清除按钮与增加文件按钮,所以自己编译docker运行

sudo docker build --no-cache --force-rm -t z2lab/pic-search-webclient:v2 .

sudo docker run --name pic_search_webclient -d --rm -p 8002:80 -e API_URL=http://{WEBSERVER_IP}::35000 z2lab/pic-search-webclient:v2

 

6、数据加载open image dataset

加载数据ing

 

7、修改源码

因服务暴露在公网,所以需要屏蔽CLEAR ALL按钮与数据增加按钮

7.1修改前端代码后启动Docker命令

sudo docker run --name pic_search_webclient -d --rm -p 8002:80 -e API_URL=http://{WEBSERVER_IP} z2lab/pic-search-webclient:v2

7.2修改后端代码(可参考小龙提供的附件)

const.py与config.py文件中的UPLOAD_PATH目录需要修改为你存放原始图片的目录

基于 Milvus 和 VGG 实现以图搜图-实践_第6张图片

python app.py启动的是默认端口5000

8、联系方式

文章的最后如同往常,欢迎加微交流

基于 Milvus 和 VGG 实现以图搜图-实践_第7张图片

你可能感兴趣的:(stylegan2,milvus,vgg,tensorflow,机器学习)