基于 Milvus 和 ResNet50 的图像搜索(部署及应用)

Posted 骑着哈哥去旅行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于 Milvus 和 ResNet50 的图像搜索(部署及应用)相关的知识,希望对你有一定的参考价值。

官网部署文档(猛戳这里

小编部署系统的系统版本如下:

 

 1.启动 Milvus v2.0

1.1 下载docker-compose文件

wget https://github.com/milvus-io/milvus/releases/download/v2.1.0/milvus-standalone-docker-compose.yml -O docker-compose.yml

 1.2 启动 Milvus

sudo docker-compose up -d

 

 2. 启动mysql

docker run -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

 3. 启动后端

3.1 创建宿主机上存放图片的路径

3.2 往此路径上传图片数据

 

方便后面将图片挂在进容器中。

3.3 使用命令启动服务器

docker run -d \\
-v /milvus_test/data:/data \\
-p 5000:5000 \\
-e "MILVUS_HOST=192.168.220.132" \\
-e "MILVUS_PORT=19530" \\
-e "MYSQL_HOST=192.168.220.132" \\
milvusbootcamp/img-search-server:2.0

注意:命令里面的IP和端口要根据自己的情况进行修改。

 4. 启动客户端

docker run -d -p 8001:80 \\
-e API_URL=http://192.168.220.132:5000 \\
milvusbootcamp/img-search-client:1.0

注意:命令里面的IP和端口要根据自己的情况进行修改。

 到此,部署完成,打开浏览器,访问:ip:8001

 5. 加载图片数据

 点击右边的+切记不可多点击

 使用如下命令实时查看后端容器日志

docker logs -tf 572315ef104d

 如上图所示,图片正在努力加载中,请耐心等待。

注意:小编感觉这个版本的前端页面并没有实时显示加载过程,但是可以从后端日志看到。

 如上图所示,即加载完成。然后就可以上传图片进行搜索。

结果图片是相似度由高到低展示的。

6. 相关应用

6.1 修改搜索界面返回的数据格式

 

 观察search接口返回的数据,如果自己想调用这个接口,但又觉得返回的的数据格式不是自己想要的,可以修改源码。

在对应的源码server目录下,src中的main.py文件中 

 修改如图所示的地方即可。

6.2 调用接口加载单张图片

还是在main.py文件中

 其他需根据相应问题再做定夺。

以上是关于基于 Milvus 和 ResNet50 的图像搜索(部署及应用)的主要内容,如果未能解决你的问题,请参考以下文章

基于 Milvus 和 ResNet50 的图像搜索(部署及应用)

Computer Vision基于ResNet-50实现CIFAR10数据集分类

图像分类猫狗分类实战—基于pytorch框架的迁移学习(ResNet50模型实现分类实战)

resnet18和resnet101的区别

Keras Resnet-50 图像分类过拟合

当使用 OpenCV 完成图像加载和调整大小时,Resnet50 会产生不同的预测