Linux(ubuntu) 部署xinference

news/2024/11/8 16:07:48 标签: linux, 运维, 服务器, python, ubuntu, ai
aidu_pl">

注:在此前提我已经准备好了环境 - 文章中大部分命令我都会有说明 进阶命令就需要友友们在研究了

miniconda 安装

gpu 显卡驱动安装
 xinference使用命令什么的我就不放了官方文档中很简单易懂 xinference 官方文档地址

注:此文章不叙述docker版安装(docker安装很简单 配置一个好的docker镜像源 然后执行已下命令即可)

docker pull xprobe/xinference:latest
docker run  -p 9997:9997 --gpus all xprobe/xinference:latest xinference-local -H 0.0.0.0

环境准备-显卡驱动

 nvidia-smi

环境准备-conda

conda  -V

创建conda的Xinference环境

# 使用conda创建一个  python3.10 的环境
conda create --name xinference python=3.10

# 进入conda 环境
conda activate xinference

安装指定 cupy, cudnn, cutensor, nccl 并指定 cuda 版本

cuda版本指定 根据显卡信息指定

conda install -c conda-forge cupy cudnn cutensor nccl cuda-version=12.4

安装 Xinference

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "xinference[all]"

验证安装(true)

 python -c "import torch; print(torch.cuda.is_available())"

问题记录

llama-cpp-python 构建失败


方案一:取消xinference的全部环境,只安装自己需要的

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "xinference[all]"

将此命令中的 all 修改为  [transformers,vllm]  即可正常安装


方案二:使用如下命令尝试重新安装

#非conda环境执行
sudo apt-get update
sudo apt-get install python3-dev build-essential cmake libcudart-dev gcc g++ libgomp1
#进入conda 空间执行
conda activate xinference
conda install -c conda-forge libgomp
conda install -c conda-forge gxx_linux-64
conda install -c conda-forge openmp
conda install -c nvidia cudatoolkit=12.4 cuda-version=12.4

CMAKE_ARGS="-DGGML_CUDA=on" pip install llama-cpp-python -U

注:

sudo apt-get install python3-dev build-essential cmake libcudart-dev gcc g++ libgomp1
此命令有可能提示  libcudart-dev 不存在 那就去掉这个重新执行

此命令的版本号注意和你的保持一致
conda install -c nvidia cudatoolkit=12.4 cuda-version=12.4


命令执行完 (我的系统版本是24.04(太高了)) 大概率还是会报错但是重新执行
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple "xinference[all]"
会使llama-cpp-python这个环境构建成功(不懂为什么) (后续我会出几个大模型部署文章,如果有机会我在出个这个问题的怎么解决的文章)


http://www.niftyadmin.cn/n/5744120.html

相关文章

Gradle命令编译Android Studio工程项目并签名

文章目录 gradlew命令gradlew编译debug apkgradlew编译release apkapksigner签名apkgradlew注意事项 gradlew命令 gradlew 是一个脚本文件,它允许你在没有全局安装 Gradle 的情况下运行 Gradle 构建。这个脚本在多平台上可用,对于 Windows 系统来说是 g…

笔记整理—linux驱动开发部分(6)platform平台总线

与前文提到的usb、IIC、PCI总线不同,platform总线是一种虚拟抽象的总线,不存在物理层面上的一个名为platform的总线。 cup与外部设备通信有两种方法,地址总线或接口(32位范围是0~2^32-1);专用接口连接&…

深度学习经典模型之Network in Network

1 Network in Network 1.1 模型介绍 ​ Network In Network (NIN)是由 M i n L i n Min Lin MinLin等人提出,在CIFAR-10和CIFAR-100分类任务中达到当时的最好水平,因其网络结构是由三个多层感知机堆叠而被成为NIN [ 5 ] ^{[5]} [5]。NIN以一种全新的角…

【华为机试题】 [Python] 贪心的商人

代码 # 其实就是贪心算法求每个商品的最大利润,最后再和商品数相乘就好了 from unittest.mock import patchclass Solution:def func(self, number, days, item_max_num, item_price):max_money 0for i in range(number):max_money item_max_num[i] * self.compu…

大数据数据存储层MemSQL, HBase与HDFS

以下是对 MemSQL、HBase 和 HDFS 的详细介绍,这些工具在分布式数据存储和处理领域有着重要作用。 1. MemSQL MemSQL(现称为 SingleStore)是一种分布式内存数据库,兼具事务处理(OLTP)和分析处理(OLAP)的能力,专为高性能实时数据处理设计。 1.1 核心特点 内存优先存储…

Unity中IK动画与布偶死亡动画切换的实现

在Unity游戏开发中,Inverse Kinematics(IK)是创建逼真角色动画的强大工具。同时,能够在适当的时候切换到布偶物理状态来实现死亡动画等效果,可以极大地增强游戏的视觉体验。本文将详细介绍如何在Unity中利用IK实现常规…

docker-compose.yml 文件来配置 Redis

你可以创建一个 docker-compose.yml 文件来配置 Redis,确保 Redis 在启动时使用指定的密码和相关配置。以下是配置文件的示例: version: 3.8services:redis:image: redis:latestcontainer_name: redis-serverports:- "6379:6379"environment:…

Spark中的宽窄依赖-宽窄巷子

1、什么是依赖关系? 2、什么是宽窄依赖? 窄依赖:Narrow Dependencies 定义:父RDD的一个分区的数据只给了子RDD的一个分区 【不用经过Shuffle】 特点:一对一或者多对一,不经过Shuffle,性能相对…