ModaHub魔搭社区:安装、启动 Milvus 服务(GPU版)教程

目录

安装、启动 Milvus 服务

安装前提

操作系统

硬件

软件

确认 Docker 状态

拉取 Milvus 镜像

下载并修改配置文件

启动 Milvus Docker 容器

常见问题

接下来你可以


安装、启动 Milvus 服务

CPU 版 Milvus GPU 版 Milvus

安装前提

操作系统

操作系统

版本

CentOS

7.5 或以上

Ubuntu LTS

18.04 或以上

硬件

硬件

建议配置

CPU

Intel CPU Sandy Bridge 或以上

CPU 指令集

  • SSE42
  • AVX
  • AVX2
  • AVX512

GPU

NVIDIA Pascal 或以上

内存

8 GB 或以上(取决于具体向量数据规模)

硬盘

SATA 3.0 SSD 或以上

软件

软件

版本

Docker

19.03 或以上

NVIDIA Driver

418 或以上

NVIDIA Container Toolkit

NVIDIA-Container-Toolkit

确认 Docker 状态

确认 Docker daemon 正在运行:

$ sudo docker info
  • 如果无法正常打印 Docker 相关信息,请启动 Docker daemon。
  • 在 Linux 上需要使用 sudo 执行 Docker 命令。若要在没有 sudo 的情况下运行 Docker 命令,请创建 docker 组并添加用户,详见 Linux 安装步骤。

拉取 Milvus 镜像

拉取支持 GPU 的镜像:

$ sudo docker pull milvusdb/milvus:1.1.0-gpu-d050721-5e559c
  • 如果你的主机由于网络限制无法在线获得 Docker 镜像和配置文件,请从其他主机在线获取镜像,保存为 TAR 文件传输回本地,传输完成后重新加载为 Docker 镜像:点击查看离线传输相关代码示例。
  • 如果拉取镜像的速度过慢或一直失败,请参考 部署运维问题 中提供的解决办法。

下载并修改配置文件

$ mkdir -p /home/$USER/milvus/conf
$ cd /home/$USER/milvus/conf
$ wget http://raw.githubusercontent.com/milvus-io/milvus/v1.1.0/core/conf/demo/server_config.yaml

如果无法通过 wget 命令正常下载,你也可以在 /home/$USER/milvus/conf 目录下创建 server_config.yaml 文件,然后将 server config 文件 的内容复制到你创建的配置文件中。

配置文件下载完成后,你需要将 server_config.yaml 中的 gpu 区域的 enable 参数设置为 true。

启动 Milvus Docker 容器

启动 Docker 容器之前,你必须将 server_config.yaml 中 gpu 部分的 enable 设为 true。

启动 Docker 容器,将本地的文件路径映射到容器中:

$ sudo docker run -d --name milvus_gpu_1.1.0 --gpus all \
-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:1.1.0-gpu-d050721-5e559c

上述命令中用到的参数定义如下:

  • -d: 在后台运行容器。
  • --name: 为容器指定一个名字。
  • --gpus: 指定可用的 GPU。如填写 all 则表示所有 GPU 均可用。
  • -p: 指定端口映射。
  • -v: 将宿主机路径挂载至容器。

最后,确认 Milvus 运行状态:

$ sudo docker ps

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

$ sudo docker logs milvus_gpu_1.1.0

常见问题

可以在 Windows 上安装 Milvus 吗?

理论上只要能够支持 Docker 的操作系统都可以运行 Milvus。

为什么 Milvus 在启动时返回 Illegal instruction?

如果你的 CPU 不支持 SSE42、AVX、AVX2、AVX512 其中任何一个指令集,则 Milvus 无法正常启动。可以通过 cat /proc/cpuinfo 查看 CPU 支持的指令集。

Milvus 中如何实现数据迁移?

详见数据迁移。

注意:不同版本之间,数据可能会不兼容。目前数据格式兼容到 Milvus v0.7.0。

Milvus 只能使用 Docker 部署吗?

Milvus 还支持源码编译,该方法仅支持 Linux 系统。详见 从源代码编译 Milvus。

应如何设置 IVF 索引的 nlist 和 nprobe 参数?

IVF 索引的 nlist 值需要根据具体的使用情况去设置。一般来说,推荐值为 4 × sqrt(n),其中 n 为 segment 内的 entity 总量。 nprobe 的选取需要根据数据总量和实际场景在速度性能和准确率之间进行取舍。建议通过多次实验确定一个合理的值。 以下是使用公开测试数据集 sift50m 针对 nlist 和 nprobe 的一个测试。以索引类型 IVF_SQ8 为例,针对不同 nlist/nprobe 组合的搜索时间和召回率分别进行对比。

因 CPU 版 Milvus 和 GPU 版 Milvus 测试结果类似,此处仅展示基于 GPU 版 Milvus 测试的结果。

在本次测试中,nlist 和 nprobe 的值成比例增长,召回率随 nlist/nprobe 组合增长呈现上升的趋势。 在 nlist 为 4096 和 nprobe 为 128 时,速度性能最佳。

接下来你可以

  • 如果你刚开始了解 Milvus:
    • 运行示例程序
    • 了解更多 Milvus 基础操作
    • 体验 Milvus 在线训练营
  • 如果你已准备好在生产环境中部署 Milvus:
    • 创建 监控与报警系统 实时查看系统表现
    • 设置 Milvus 参数
  • 如果你想在仅有 CPU 的环境下使用 Milvus:
    • 安装仅需 CPU 的 Milvus

     

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/33153.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Windows下安装ClickHouse图文教程

文章目录 1.安装WSL21.1启用适用于 Linux 的 Windows 子系统1.2启用Windows虚拟机功能1.3将WSL2设置为默认版本1.4下载Linux内核更新包1.5安装Linux子系统1.6设置账户和密码 2.安装Docker2.1下载与安装2.2设置镜像地址 3.安装Clickhouse3.1拉取镜像3.2启动clickhouse-server3.3…

git常用命令之命令集

15. 命令集 场景1. 构造1个文件的10个commit 命令作用for i in {1..10}; do date >> 66.txt && git add . && git commit -sm "update"; done自证 场景2. 构造10个文件 命令作用for i in {1..10}; do date >> "file_$i.log&quo…

vue3+vite安装配置element-plus

配置 element-plus 1. 安装 yarn add element-plus element-plus/icons-vue2. 按需引入插件 yarn add unplugin-vue-components unplugin-auto-import -D3. 配置vite.config.ts // vite.config.ts import AutoImport from unplugin-auto-import/vite import Components fro…

logback日志的分片压缩

logback-spring.xml <?xml version"1.0" encoding"UTF-8"?> <configuration debug"true"><springProperty name"LOG_PATH" source"shands.log.logPath" defaultValue"/var/delonix/logs/local"…

Python 基本数据类型(一)

文章目录 每日一句正能量Python3 基本数据类型多个变量赋值标准数据类型结语 每日一句正能量 最宝贵的生命&#xff0c;是我的灵魂所在&#xff0c;也是我&#xff0c;赖以生存的&#xff0c;最基本的保障。有了生命&#xff0c;也就有了&#xff0c;我的光明&#xff0c;我的神…

数据分析案例-航空公司满意度数据可视化

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

python---------xpath提取数据------打破局限

作者前言 欢迎小可爱们前来借鉴我的gtiee秦老大大 (qin-laoda) - Gitee.com 目录 为什么要学习XPATH和LXML类库 什么是XPATH 认识XML XML的节点关系 常⽤节点选择⼯具 节点选择语法 节点修饰语法 选择未知节点 lxml库 _____________________________________________…

MySQL 高级(进阶) SQL 语句

目录 创建两个表格 location 表格​编辑 store_info 表格​编辑 ---- SELECT ---- ---- DISTINCT ---- ---- WHERE ---- ---- AND OR ---- ---- IN ---- ---- BETWEEN ---- ---- 通配符 ---- ---- LIKE ---- ---- ORDER BY ---- ---- 函数 ---- ---- GROUP BY ---- ----…

最新ai创作系统CHATGPT镜像系统源码+支持GPT4.0+支持ai绘画(MJ)+实时语音识别输入+免费更新版本

AI系统CHATGPT镜像程序源码支持GPT4支持ai绘画实时语音识别输入免费更新版本 一、AI创作系统二、系统介绍三、系统程序下载四、安装教程五、主要功能展示六、更新日志 一、AI创作系统 1、提问&#xff1a;程序已经支持GPT3.5、GPT4.0接口、支持新建会话&#xff0c;上下文记忆…

Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境

Windows11安装oneAPI和Visual Studio 2022配置Fortran并行环境 安装Visual Studio 2022 Community安装oneAPI建立Fortran工程项目测试建立单核运行的Fortran运行算例建立并行运行的Fortran运行算例 结语 安装Visual Studio 2022 Community 访问微软Visual Studio官网&#xff…

【java】HashMap扩容机制详解

文章目录 JDK1.7下的扩容机制JDK1.8下的扩容机制 JDK1.7下的扩容机制 JDK1.7下的resize()方法是这样的&#xff1a; void resize(int newCapacity) { Entry[] oldTable table; int oldCapacity oldTable.length; if (oldCapacity MAXIMUM_CAPACITY) { threshold Integer.…

git上传云效codeup

为了标识身份&#xff0c;建议先完成 Git 全局设置 git config --global user.name "xxx" git config --global user.email "xxxxxxqq.com" 1.删除本地 .git文件夹 2.云效上 添加库-新建代码库 3.在 git bash 里 按照 建好的代码库 下方的 命令行指引-…

无迹卡尔曼滤波在目标跟踪中的作用(一)

在前一节中&#xff0c;我们介绍了扩展卡尔曼滤波算法EKF在目标跟踪中的应用&#xff0c;其原理是 将非线性函数局部线性化&#xff0c;舍弃高阶泰勒项&#xff0c;只保留一次项 &#xff0c;这就不可避免地会影响结果的准确性&#xff0c;除此以外&#xff0c;实际中要计算雅各…

美团动态线程池实践思路,开源了

使用线程池 ThreadPoolExecutor 过程中你是否有以下痛点呢&#xff1f; 1.代码中创建了一个 ThreadPoolExecutor&#xff0c;但是不知道那几个核心参数设置多少比较合适 2.凭经验设置参数值&#xff0c;上线后发现需要调整&#xff0c;改代码重启服务&#xff0c;非常麻烦 3.线…

TypeScript学习(一):快速入门

文章目录 一、TypeScript 简介1、TypeScript 是什么&#xff1f;2、TypeScript 与 JavaScript 的区别3、JavaScript 的缺点4、为什么使用 TypeScript 二、TypeScript 开发环境搭建1、下载Node.js2、安装Node.js3、使用npm全局安装TypeScript4、创建一个ts文件5、使用tsc对ts文件…

【资料分享】全志科技T507-H评估板规格书(4核ARM Cortex-A53,主频1.416GHz)

1 评估板简介 创龙科技TLT507-EVM是一款基于全志科技T507-H处理器设计的4核ARM Cortex-A53国产工业评估板&#xff0c;主频高达1.416GHz&#xff0c;由核心板和评估底板组成。核心板CPU、ROM、RAM、电源、晶振等所有器件均采用国产工业级方案&#xff0c;国产化率100%。同时&a…

Nexus如何导入jar以及批量导入Maven的本地库目录

前言 本篇基于 Nexus 的版本是 nexus-3.55.0-01本方法适用Linux和WindowsWindows 需要安装Git , 使用Git Bash执行 Nexus上传依赖包的方式 上传依赖包到Nexus 服务器的方式有多种&#xff0c; 包含&#xff1a; 单个jar上传&#xff1a; 在Nexus管理台页面上传单个jar源码编…

Thinkphp5分页后携带参数进行跳转传递

问题&#xff1a; 我在tp框架中写了一个图书详情分页的&#xff0c;代码如下&#xff1a; public function verify_details(){$sell_order_numinput(sell_order_num);$resDB::table(verif)->where(["sell_order_num">$sell_order_num])->paginate(10);// 模…

(三)灌溉系统WIFI通信部分

ESP8266 ESP8266S烧录器&#xff1a;CH430C arduino离线配置esp8266参考&#xff1a;参考文章 灯光闪烁就是烧录成功 ESP8266调试入门&#xff1a;参考文章 ESP8266调试&#xff1a;参考文章 人麻了已经&#xff0c;尝试半天了&#xff0c;AT指令没回应&#xff0c;尝试刷固…

【自监督论文阅读 4】BYOL

文章目录 一、摘要二、引言三、相关工作四、方法4.1 BYOL的描述4.2 Intuitions on BYOL’s behavior&#xff08;BYOL行为的直觉&#xff09;4.3 实验细节 五、实验评估5.1 Linear evaluation on ImageNet&#xff08;ImageNet上的线性评估&#xff09;5.2 Semi-supervised tra…