首先说下主机配置
内存754G
磁盘存储32T+
官方指导链接
https://tutorials.milvus.io/how-to-do-reverse-image-search-with-milvus/index.htmltutorials.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
1.2Milvus与MySQL的配置
参考文章(使用 MySQL 管理元数据)
create database milvus090;
meta_uri: mysql://root:z2lab-Gpu@
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
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
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 searchps.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目录需要修改为你存放原始图片的目录
python app.py启动的是默认端口5000
8、联系方式
文章的最后如同往常,欢迎加微交流