当前位置: 首页 > news >正文

ubuntu20.04+RTX4060Ti大模型环境安装

装显卡驱动

这里是重点,因为我是跑深度学习的,要用CUDA,所以必须得装官方的驱动,Ubuntu的附件驱动可能不太行.

进入官网https://www.nvidia.cn/geforce/drivers/,选择类型,最新版本下载。

在这里插入图片描述
挨个运行,更新/安装必须的包

sudo apt-get update
sudo apt-get install g++
sudo apt-get install gcc
sudo apt-get install make

禁用自带的显卡驱动nouveau

终端运行以下命令:

sudo gedit /etc/modprobe.d/blacklist.conf

在弹出的文本文档最后写入以下两行内容:

blacklist nouveau
options nouveau modeset=0

(3)终端依次运行以下代码更新系统,并重启

sudo update-initramfs -u  # 更新
sudo reboot  # 重启

(4)验证禁用是否成功

lsmod | grep nouveau

若没有任何输出,则禁用成功。

(5)卸载原有驱动,这个新装系统的话可以跳过,不过跑一遍也没影响

sudo apt-get remove nvidia-*

命令行输入以下命令进入命令行界面,注意要黑屏了,不要慌

sudo telinit 3

进去之后就会弹出来login让你登录,你就先输入用户名回车,然后输入密码回车,这里输入是不会显示的,不用管,你输完回车就行

接着关闭显示服务,Ubuntu20.04的显示是gdm3,老版本Ubuntu的可能是lightdm

输入以下命令或者直接按Ctrl + Alt + F1F6中的一个(分别对应进入tty1tty6)

sudo service gdm3 stop

sudo chmod 777 NVIDIA-Linux-x86_64-550.54.14.run  # 给安装文件root权限
sudo ./NVIDIA-Linux-x86_64-550.54.14.run -no-opengl-files -no-x-check -no-nouveau-check

如果你忘了下载的显卡驱动版本,你就输入 ls 查看当前目录下的文件夹,然后 cd 你之前放显卡驱动的文件夹

ls  # 查看文件夹
cd /home/xxx  # 进入你放驱动的文件夹

进入文件夹后你输入NVI的时候就可以按一下tab,应该会自动补全

然后就跳出来几个选项:

①选continue install

②Install NVIDIA’s 32-bit compatibility libraries? 选no

③Would you like to run the nvidia-xconfig 选no

(7)打开显示服务,然后会跳回桌面界面

输入以下命令或者直接按Ctrl + Alt + F1/F7/F8

sudo service gdm3 start

(8)验证是否安装成功

nvidia-smi

每隔1秒刷新一次显卡状态信息,可以用来监控显卡状态
watch -n 1 nvidia-smi

装conda

下载anaconda或者miniconda都可以,这里下载anaconda也没有那个可视化界面,所以推荐下载miniconda(https://docs.anaconda.com/miniconda/)比较轻量 Miniconda — Anaconda 文档

可以手动下载.sh文件,然后在文件夹鼠标右键-在终端命令打开,然后终端输入以下命令安装:

bash Miniconda3-latest-Linux-x86_64.sh

中间出现[y/n]或者[yes/no]就输入y回车,如果出现很长的用户协议就输入q跳过

这里最后一步有个问你是否init,他默认“no>>”,你直接回车就麻烦了,你要输入yes再回车

还有注意不要用sudo bash,这样会把你安装的文件夹锁住(root权限才能打开)

执行命令:
source ~/.bashrc
conda -V

然后就能看到版本输出了

py虚拟环境创建

使用国内镜像源

由于你遇到的错误可能与国际网络连接有关,如果你位于中国大陆,访问国外的 conda 仓库可能会较慢。此时你可以考虑使用 国内镜像源,这样可以显著提高访问速度和稳定性。

你可以选择 Anaconda 或 conda-forge 的国内镜像,例如清华大学镜像源。以下是将 conda 配置为使用国内镜像的步骤:
步骤 1: 配置 Anaconda 使用清华镜像

首先,打开终端,执行以下命令:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes

步骤 2: 配置 conda-forge 镜像

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/

步骤 3: 检查配置

你可以通过以下命令查看当前配置的镜像源:

conda config --show channels

然后设置不自动激活base虚拟环境,执行如下命令
conda config --set auto_activate_base false

激活、关闭基础虚拟环境,如下:

conda activate base
conda deactivate

此时,anaconda安装完成。

创建虚拟环境

创建一个自定义的虚拟环境,如下:

conda create -n test_env -y python=3.8

Westlake - Omni本地部署实践

环境准备

创建新的conda环境并安装所需的软件包:

conda install pytorch2.3.0 torchvision0.18.0 torchaudio==2.3.0 -c pytorch

git clone https://github.com/xinchen-ai/Westlake-Omni.git
cd Westlake-Omni
pip install -r requirements.txt

如果pip很慢,则指定一下源:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

然后报错
在这里插入图片描述

运行:
pip install --upgrade python-dateutil

2、 启动运行

1)gradio启动演示

python gradio_demo.py
在这里插入图片描述
打开py文件
在这里插入图片描述从huggingface上把模型下载下来,放到同级文件夹下的ckpt文件夹中

2)本地cli测试

python generate.py – 用户音频数据/声音/输入.Wav – 用户文本嗯,最近心情不是很好,能聊聊吗?
python generate.py – 用户音频数据/声音/input.wav

相关文章:

ubuntu20.04+RTX4060Ti大模型环境安装

装显卡驱动 这里是重点,因为我是跑深度学习的,要用CUDA,所以必须得装官方的驱动,Ubuntu的附件驱动可能不太行. 进入官网https://www.nvidia.cn/geforce/drivers/,选择类型,最新版本下载。 挨个运行&#…...

2024~2025学年佛山市普通高中教学质量检测(一)【高三数学】

一、选择题 本题共8小题&#xff0c;每小题5分&#xff0c;共40分。在每小题给出的四个选项中。只有一项是符合题目要求的。 1、若 5 z 2 i 1 \frac{5}{z}2i1 z5​2i1&#xff0c;则 z z z A. 1-2i B. 12i C. 2-i D. 2i2、已知集合 A { x ∣ 1 < x < a } A\left\{…...

管理etcd的存储空间配额

如何管理etcd的存储空间配额 - 防止集群存储耗尽指南 本文基于etcd v3.4官方文档编写 为什么需要空间配额&#xff1f; 在分布式系统中&#xff0c;etcd作为可靠的键值存储&#xff0c;很容易成为系统瓶颈。当遇到以下情况时&#xff1a; 应用程序频繁写入大量数据未及时清理…...

备战蓝桥杯-洛谷

今天打算写一些洛谷上面的题目 P10904 [蓝桥杯 2024 省 C] 挖矿 https://www.luogu.com.cn/problem/P10904 看了大佬写的题解才写出来这道题的&#xff1a;题解&#xff1a;P10904 [蓝桥杯 2024 省 C] 挖矿 - 洛谷专栏 思路&#xff1a; 这是一道贪心的题目&#xff0c;用…...

在线免费 HTML 预览导出为图片,并且支持水平切割

在线体验 作用&#xff1a;可以直接预览 html 的页面效果&#xff0c;导出为图片&#xff0c;支持指定切割的数量&#xff0c;等高水平切割。 https://houbb.github.io/tools/html-preview.html 创作背景 有时候希望给一段 html 导出为长度&#xff0c;或者水平切分&#xff…...

洛谷题目: P2996 [USACO10NOV] Visiting Cows G 题解

题目传送门&#xff1a; P2996 [USACO10NOV] Visiting Cows G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 前言&#xff1a; 本题的核心问题是在一棵由奶牛&#xff08;节点&#xff09;和道路&#xff08;边&#xff09;构成的树状结构中&#xff0c;根据 “不能同时拜…...

告别手动操作!用Ansible user模块高效管理 Linux账户

在企业运维环境中&#xff0c;服务器的用户管理是一项基础但非常重要的任务。比如&#xff0c;当有新员工加入时&#xff0c;我们需要在多台服务器上为他们创建账户并分配合适的权限。而当员工离职或岗位发生变化时&#xff0c;我们也需要迅速禁用或删除他们的账户&#xff0c;…...

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法

java 8 在 idea 无法创建 java spring boot 项目的 变通解决办法 spring boot 3 官方强制 要用 java 17 &#xff0c;但是 不想安装java 17的 &#xff0c;但是又想 使用 spring boot &#xff0c;可以这样 &#xff1a; 在这个网站 https://start.aliyun.com/ 选择 你相对…...

javaEE初阶————多线程初阶(3)

大家新年快乐呀&#xff0c;今天是第三期啦&#xff0c;大家前几期的内容掌握的怎么样啦&#xff1f; 1&#xff0c;线程死锁 1.1 构成死锁的场景 a&#xff09;一个线程一把锁 这个在java中是不会发生的&#xff0c;因为我们之前讲的可重入机制&#xff0c;在其他语言中可…...

eggnog后kegg结果提取和注释

首先进入KEGG BRITE: KEGG Orthology (KO) 下载json文件 用python处理一下 import json import re import osos.chdir("C:/Users/fordata/Downloads/") with open("ko00001.json","r") as f:fj f.read()kojson json.loads(fj)with open(&qu…...

shell脚本控制——处理信号

Linux利用信号与系统中的进程进行通信。你可以通过对脚本进行编程&#xff0c;使其在收到特定信号时执行某些命令&#xff0c;从而控制shell脚本的操作。 1.重温Linux信号 Linux系统和应用程序可以产生超过30个信号。下表列出了在shell脚本编程时会遇到的最常见的Linux系统信…...

Doris更新某一列数据完整教程

在Doris,要更新数据,并不像mysql等关系型数据库那样方便,可以用update set来直接更新某个列。在Doris只能进行有限的更新,官方文档如下: UPDATE - Apache Doris 1、使用Doris自带的Update功能 描述​ 该语句是为进行对数据进行更新的操作,UPDATE 语句目前仅支持 UNIQUE…...

VIVADO生成DCP和EDF指南

VIVADO生成DCP和EDF 文章目录 VIVADO生成DCP和EDF前言一、DCP封装二、EDF封装 前言 详细步骤就不贴图了&#xff0c;网上一大堆 在Vivado中&#xff0c;常用的三种封装形式有三种&#xff1a; ● IP ● edif ● dcp 在下文之前&#xff0c;先看几个概念 out_of_context&…...

Python中字节顺序、大小与对齐方式:深入理解计算机内存的底层奥秘

在计算机科学的世界里&#xff0c;理解数据的存储方式是每个程序员必备的技能。无论是处理网络通信、文件读写&#xff0c;还是进行底层系统编程&#xff0c;字节顺序&#xff08;Endianness&#xff09;、数据大小&#xff08;Size&#xff09;和对齐方式&#xff08;Alignmen…...

在亚马逊云科技上云原生部署DeepSeek-R1模型(上)

DeepSeek-R1在开源版本发布的第二天就登陆了亚马逊云科技AWS云平台&#xff0c;这个速度另小李哥十分震惊。这又让我想起了在亚马逊云科技全球云计算大会re:Invent2025里&#xff0c;亚马逊CEO Andy Jassy说过的&#xff1a;随着目前生成式AI应用规模的扩大&#xff0c;云计算的…...

Redis实现分布式锁详解

前言 用 Redis 实现分布式锁&#xff0c;是我们常见的实现分布式锁的一种方式 下面是 redis 实现 分布式锁的四种方式&#xff0c;每种方式都有一定的问题&#xff0c;直到最后的 zookeeper 先透露一下&#xff1a; Redission 解决了 set ex nx 无法自动续期的问题 RedLo…...

表单标签(使用场景注册页面)

表单域&#xff08;了解即可&#xff0c;还要到学习服务器阶段才可以真正送到后台&#xff09; 定义了一个区域了之后&#xff0c;可以把这部分区域发送到后台上 <form action“url地址” method“提交方式” name"表单域名称">各种表单元素控件 </form>…...

c++ template-3

第 7 章 按值传递还是按引用传递 从一开始&#xff0c;C就提供了按值传递&#xff08;call-by-value&#xff09;和按引用传递&#xff08;call-by-reference&#xff09;两种参数传递方式&#xff0c;但是具体该怎么选择&#xff0c;有时并不容易确定&#xff1a;通常对复杂类…...

【创建模式-单例模式(Singleton Pattern)】

赐萧瑀 实现方案饿汉模式懒汉式&#xff08;非线程安全&#xff09;懒汉模式&#xff08;线程安全&#xff09;双重检查锁定静态内部类 攻击方式序列化攻击反射攻击 枚举(最佳实践)枚举是一种类 唐 李世民 疾风知劲草&#xff0c;板荡识诚臣。 勇夫安识义&#xff0c;智者必怀仁…...

攻防世界你猜猜

打开题目发现是一串十六进制的数据 我尝试解码了一下没发现什么&#xff0c;最后找了一下发现因为这是504B0304开头的所以是一个zip文件头 用python代码还原一下 from Crypto.Util.number import * f open("guess.zip","wb") s 0x504B03040A0001080000…...

[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?

&#x1f9e0; 智能合约中的数据是如何在区块链中保持一致的&#xff1f; 为什么所有区块链节点都能得出相同结果&#xff1f;合约调用这么复杂&#xff0c;状态真能保持一致吗&#xff1f;本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里&#xf…...

JavaScript 中的 ES|QL:利用 Apache Arrow 工具

作者&#xff1a;来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗&#xff1f;了解下一期 Elasticsearch Engineer 培训的时间吧&#xff01; Elasticsearch 拥有众多新功能&#xff0c;助你为自己…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

【单片机期末】单片机系统设计

主要内容&#xff1a;系统状态机&#xff0c;系统时基&#xff0c;系统需求分析&#xff0c;系统构建&#xff0c;系统状态流图 一、题目要求 二、绘制系统状态流图 题目&#xff1a;根据上述描述绘制系统状态流图&#xff0c;注明状态转移条件及方向。 三、利用定时器产生时…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中&#xff0c;附加包含目录、附加库目录和附加依赖项是三个至关重要的设置&#xff0c;它们相互配合&#xff0c;确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中&#xff0c;这些概念容易让人混淆&#xff0c;但深入理解它们的作用和联…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...