当前位置: 首页 > 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…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式&#xff0c;可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

智慧医疗能源事业线深度画像分析(上)

引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...