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

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

条件运算符

C中的三目运算符&#xff08;也称条件运算符&#xff0c;英文&#xff1a;ternary operator&#xff09;是一种简洁的条件选择语句&#xff0c;语法如下&#xff1a; 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true&#xff0c;则整个表达式的结果为“表达式1”…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

Cinnamon修改面板小工具图标

Cinnamon开始菜单-CSDN博客 设置模块都是做好的&#xff0c;比GNOME简单得多&#xff01; 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

MySQL中【正则表达式】用法

MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现&#xff08;两者等价&#xff09;&#xff0c;用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例&#xff1a; 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...