介绍
Milvus 是一款开源的特征向量相似度搜索引擎,具有使用方便、实用可靠、易于扩展、稳定高效和搜索迅速等特点,在全球范围内被上百家组织和机构所采用。Milvus 已经被广泛应用于多个领域,其中包括图像处理、机器视觉、自然语言处理、语音识别、推荐系统以及新药发现等。
以图搜图
在这里我使用的是ubuntu18.04
确保你已经安装好了docker环境了。
安装CPU版本Milvus
第一步:拉取镜像
docker pull milvusdb/milvus:0.9.1-cpu-d052920-e04ed5
第二步:配置文件下载
首先创建一个文件夹来存放配置文件
mkdir -p /home/$USER/milvus/conf
进入文件夹
cd /home/$USER/milvus/conf
下载配置文件
wget https://raw.githubusercontent.com/milvus-io/milvus/v0.9.1/core/conf/demo/server_config.yaml
第三步:启动Milvus Docker容器
docker run -d --name milvus_cpu_0.9.1 \
-p 19530:19530 \
-p 19121:19121 \
-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.1-cpu-d052920-e04ed5
上述命令中用到的 docker run 参数定义如下:
- -d: 运行 container 到后台并打印 container id。
- --name: 为 container 分配一个名字。
- -p: 暴露 container 端口到 host。
- -v: 将路径挂载至 container。
最后一步:查看Milvus运行状态
docker ps
安装webserver
下载数据集:host.robots.ox.ac.uk/pascal/VOC/…
解压数据集:tar xvf tar包名.tar
先下载镜像然后再运行镜像
docker run -d \
-v /home/root/code:/app/src
-v /home/leshem/datas/data/VOCdevkit/VOC2012/JPEGImages:/tmp/pic1 \
-v /home/leshem/datas/data/VOCdevkit1:/tmp/pic2 \
-p 35000:5000 -e "DATA_PATH=/tmp/images-data" -e "MILVUS_HOST=192.168.xx.xx" milvusbootcamp/pic-search-webserver:0.7.0
解释:
- -v /home/root/code:/app/srcj 是把docker中的代码映射到物理机中,这样方便修改
- /home/leshem/datas/data/VOCdevkit/VOC2012/JPEGImages 宿主机图库路径
- /tmp/pic1 映射路径
- MILVUS_HOST 是主机的ip,可以通过
ifconfig
查看
如果你有很多个图库文件夹,比如 home/demo/images 那么就需要再加入一条信息,如下:
docker run -d \
-v /home/leshem/datas/data/VOCdevkit/VOC2012/JPEGImages:/tmp/pic1 \
-v /home/leshem/datas/data/VOCdevkit1:/tmp/pic2 \
-v home/demo/images:/tmp/pic3
-p 35000:5000 -e "DATA_PATH=/tmp/images-data" -e "MILVUS_HOST=192.168.xx.xx" milvusbootcamp/pic-search-webserver:0.7.0
如果在遇到问题可以进入webserver容器中查看pymilvus版本:
进入webserver容器中:
docker exec -ti <webserver的id> bash
查看pymilvus版本
pip3 show pymilvus
如果不是0.2.12版本的话就更新:
pip3 install --upgrade pymilvus==0.2.12 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
扩展webserver
安装webclient
先下载镜像然后再运行镜像
docker run -d -p 8001:80 \
-e API_URL=http://192.168.xx.xx:35000 \
milvusbootcamp/pic-search-webclient:0.1.0
检查上面三个容器是否正在运行
docker ps
浏览器查看效果
milvus Admin界面
拉取镜像
docker pull milvusdb/milvus-admin:v0.3.0
运行镜像
docker run -p 3000:80 milvusdb/milvus-admin:v0.3.0
你也可以映射 3000 以外的端口,但相应的访问 URL 也需要更新。
打开任意浏览器并访问以下
http://localhost:3000
界面图如下所示:
扩展: 如果是windows系统下的话,映射就类似于下面这种:
docker run -d --name milvus_cpu_0.10.0 -p 19530:19530 -p 19121:19121 -v /C/milvus/db:/E/var/lib/milvus/db -v /C/milvus/conf:/E/var/lib/milvus/conf -v /C/milvus/logs:/E/var/lib/milvus/logs -v /C/milvus/wal:/E/var/lib/milvus/wal milvusdb/milvus:0.10.0-cpu-d061620-5f3c00
解释:
- /C/milvus/logs : C:/milvus/logs
- /E/var/lib/milvus/logs : E:/var/lib/milvus/logs
注意:
如果你的milvus版本是0.10.0的话,那么webserver对应的版本是0.7.0,还有就是webserver里的模块pymilvus对应的版本是0.2.13。