Ubuntu22.04,Nvidia4070配置llama2

大部分内容参考了这篇非常详细的博客,是我最近看到的为数不多的保姆级别的教学博客,建议大家去给博主点个赞【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】_ubuntu20.04安装40系显卡驱动-CSDN博客

本篇主要是基于这篇博客结合自己配置的过程中一些注意点和补充说明(其实主要是方便自己以后配置)

本篇主要包含以下4个部分

1. 安装配置Ubuntu

2. 安装nvidia驱动,cuda, cudnn

3. 配置python环境

4. 执行llama2训练模型

在正式开始前,先送上配置过程中的第一个!!!!!!!双显卡的机器必须在bios里面切换成独立显卡!!!!!!一定要改,一定要改,一定要改,不切换到独立显卡,后面配置都是白搭,配置过程中又不会报错,最后你会发现你的机器根本没有识别到nvidia的显卡

1. 安装ubuntu

1.1 下载Ubuntu

下载Ubuntu桌面系统 | Ubuntu

1.2 制作Ubuntu系统盘

下载Rufus工具:Rufus - Create bootable USB drives the easy way

注意分区类型选择GPT

1.3 安装Ubuntu

将镜像U盘插入电脑,通过U盘启动,具体不多说了,教程很多,有一个注意点就是简单粗暴点,选全部擦除后自动安装(图后面补),千万别折腾自己手动分区啥的了,linux也有一套自己的分区规则,需要花时间慢慢搞

1.4 配置Ubuntu

ubuntu查看当前ip

ip address

ubuntu更改国内源

sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo rm /etc/apt/sources.list
# 使用vi时会自动创建文件
sudo vi /etc/apt/sources.listdeb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse sudo apt update

ubuntu中sudo apt update如果lock错误,就按下图方式解决

sudo rm /var/lib/apt/lists/* -vf

ubuntu查看显卡命令,再三确认下是否找到nvidia显卡,没找到的话就不要往下配置了,先解决找不到显卡的问题

sudo lshw -C display

sudo lspci |grep -i nvidia

ubuntu实时查看nvdia显卡usage

watch -n 2 nvidia-smi

2. 安装Nvidia驱动,cuda, cudnn

2.1 先来一套准备工作

安装依赖

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

卸载驱动

	sudo apt-get remove --purge nvidia*   # 或者nvidia-*

下载Nvidia驱动官方驱动 | NVIDIA

这里有个,按照官网的自动推荐的版本,我会报一个错(忘记截图了),意思就是版本不匹配,所以可以点击下面这个查询历史版本,一个个找直到找到合适的为止

禁用nouveau(我也不知道是什么玩意,照着做就是了)

sudo nano/etc/modprobe.d/blacklist.conf 或者(blacklist-nouveau.conf)

在末尾添加

blacklist nouveau
options nouveau modeset=0

输入命令

sudo update-initramfs -u

重启

sudo reboot

重启后在终端输入如下命令,如果没有输出则说明成功禁用nouveau

lsmod | grep nouveau

关闭桌面

sudo telinit 3

禁用x-window服务

sudo /etc/init.d/gdm3 stop或者(sudo service gdm3 stop)

2.2 正式安装nvidia驱动

cd命令进入到存放驱动的目录,输入命令

sudo chmod 777 NVIDIA-Linux-x86_64-535.54.03.run   #给你下载的驱动赋予可执行权限,才可以安装
sudo ./NVIDIA-Linux-x86_64-535.54.03.run –no-opengl-files   #安装

安装过程中如果出现下面的选项则选择对应的操作

The distribution-provided pre-install script failed! Are you sure you want to continue?    

选 yes
Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?    

选 No
Nvidia’s 32-bit compatibility libraries?    

选 No
Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.    

选 Yes(原作者说yes会卡在开机界面,我没有碰到,如果碰到安装以后卡在开机界面试试选No)

重新启动界面

sudo init 5 

测试显卡是否安装成功

nvidia-smi

如果看到这个界面了,就表示安装成功了

2.3 安装cuda(装驱动够烦了,这个也烦)

去官网寻找适合的版本

CUDA Toolkit Archive | NVIDIA Developer

下载下来以后安装

sudo sh cuda_11.8.0_520.61.05_linux.run

以下安装cuda步骤全部来自原作者博客,亲测有效

选accept

上下移动光标按空格 取消,只保留cuda toolkit 11,8

选择options,回车进入

选择toolkit options,回车进去,把需要去掉的东西去掉

修改安装路径,非root用户要放到 /home/用户名/app/cuda/下,root用户直接默认装就好了(原作者这么说的,我也不知道为什么)

这里有个坑,ubuntu 22.04版本home目录下没有用户名文件夹(只有在other locations可以看到)

反正我也怕不照着做出错,我就建了个文件夹

mkdir -p /home/llmdev/app/cuda/

建好文件夹以后,就可以把这个路径贴进去(忘记截图了,用原作者的,回头补上)

然后设置cuda环境变量

export PATH=/home/llmdev/apps/cuda/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/llmdev/apps/cuda/lib64

生效命令

source ~/.bashrc

查看是否成功

nvcc -V

出现这个画面就表示成功了

(装个东西为什么要这么复杂)

2.4 安装cudnn

下载对应版本

cuDNN Archive | NVIDIA Developer

这里原博客选了linux版本,其实有ubuntu版本,不知道为什么不选,我反正已经配的要吐了,怕出错,也选择linux版本,没有尝试ubuntu版本

下载完成需要把文件拷贝到cuda里去并赋予权限(这里原博客写的有点问题,需要全部拷贝而不是只拷贝cudnn.h)

sudo cp /home/llmdev/Desktop/cudnn/include/cudnn* /home/mdev/apps/cuda122/include
cp /home/llmdev/Desktop/cudnn/lib64/libcudnn* /home/lmdev/apps/cuda122/lib64sudo
sudo chmod a+r /home/lmdev/apps/cuda122/include/cudnn.h
sudo chmod a+r /home/lmdev/apps/cuda122/lib64/libcudnn*

验证是否安装成功

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

这样就成了(原地阵亡)

提个醒,这篇博客中所有关于路径的部分,大家都要关注一下,需要根据自己的实际情况有所变更。

3. 配置python环境

具体看这篇windows版本的,大差不差,就是linux命令和windows命令不一样而已

llama2 保姆级windows环境配置,训练,部署及常见问题解决方法-CSDN博客

下面简单描述下过程,git clone llama项目后,在项目内创建python 虚拟环境(网上的教程基本全是conda的,本人非常不喜欢用conda,就喜欢原生python的感觉)

sudo apt install python3.10-venvpython3 -m venv /home/lmdev/Desktop/llama-recipes/llmdevenv

安装torch环境(去官网看命令)

./pip3 install torch torchvision torchaudio

验证是否跑在gpu上

安装llama其他依赖

./pip install -r requirements

可以开始训练了(吐血。。。)

 /home/llmdev/Desktop/llama-recipes/llmdevenv/bin/python -m lama recipes.finetuning

过程太长了,细节后面等缓一口气再慢慢补充

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

DC电源模块技术的未来发展趋势

BOSHIDA DC电源模块技术的未来发展趋势 随着科技的不断发展,DC电源模块技术也在不断演进。以下是DC电源模块技术未来发展的一些趋势: 1. 高效能:未来DC电源模块的效能将得到进一步提高。通过改进转换拓扑结构、优化控制算法和使用高效能元器…

Kafka 除了用作消息队列还能干吗?

Kafka 除了用作消息队列还能干吗? 本文转自 公众号 ByteByteGo,如有侵权,请联系,立即删除 Kafka 最初是为大规模处理日志而构建的。它可以保留消息直到过期,并让各个消费者按照自己的节奏提取消息。 与其之前的竞品不…

CPT203-Software Engineering 笔记

Week 1 -- Introduction failure reason professional software development*** maintain, security, efficiency, acceptability two kinds***: generic, customized software deterioration 软件退化 reduce changes/ side effects after changes software engineering …

VMware Visio OmniGraffle模板和图标

VMware Visio OmniGraffle模板和图标 包含可用于Visio、omnigraffle的图标和SVG矢量图。 简介 这组资源适用于 IT 管理员、系统架构师、网络工程师和其他需要可视化 VMware 基础架构的专业人士创建精确的 VMware 网络和数据中心部署图,通过使用这些模板和图标&am…

了解开源协议吗,简单介绍下开源协议

简单图解 开源协议的简单图解 列表图解

计算机毕业设计-----SSH校园精品课程网前后台

项目介绍 本项目是很不错的一个校园精品课程网源码,前台和后台源码都有,分为管理员与学生两种角色; 前台功能:网站首页,校园新闻,课程中心,资源下载,互动交流,个人中心…

chrony 时间同步

一.chrony简介 chrony 的优势: ① 更快的同步,从而最大程度减少了时间和频率误差,对于并非全天 24 小时运行的虚拟计算机而言非常有用。 相对于NTP来说,chrony性能更好 NTP是网络时间协议(Network Time Protocol),它…

VUE购物车商品的添加、删除和计算总金额功能

效果 代码 <template><div id"box"><!--全选功能--><input type"checkbox" change"handleChange" v-model"isAllChecked" /><!--绑定事件&#xff0c;不选用click&#xff0c;使用change每次check值改变会…

【人工智能】智能电网:未来能源的革命

未来能源的革命 智能电网革命的意义在于将电力行业从传统的集中式发电和集中式输配电模式转变为智能化、分布式、互动式的能源网络。 现在我们从以下方面详细认真的了解一下智能电网&#xff1a; 智能变电站&#xff0c;智能配电网&#xff0c;智能电能表&#xff0c;智能交互…

基于传统机器学习模型算法的项目开发详细步骤

1 场景分析 1.1 项目背景 描述开发项目模型的一系列情境和因素&#xff0c;包括问题、需求、机会、市场环境、竞争情况等 1.2. 解决问题 传统机器学习在解决实际问题中主要分为两类&#xff1a; 有监督学习&#xff1a;已知输入、输出之间的关系而进行的学习&#xff0c;从而…

MySQL 从零开始:04 增删改查

文章目录 1、准备工作2、insert 增加数据2.1 添加所有列的数据2.2 添加部分列2.3 一次插入多条数据 3、delete 删除记录4、update 更新记录5、select 查询记录5.1 查询所有行所有列5.2 查询指定行的所有列5.3 查询所有行的指定列5.4 查询指定行的指定列 在上一小节中介绍了 MyS…

太阳能4G无线灌溉控制器,助力智慧灌溉,节水增产—蜂窝物联网

传统灌溉费时费力&#xff0c;不仅缺乏灌溉程度的把控&#xff0c;而且带来一系列的水资源浪费和土地盐碱化问题。福建蜂窝物联网科技自主研发的太阳能4G无线灌溉控制器应用了物联网技术和移动互联网技术&#xff0c;能实现对灌溉设备的统一管理和远程控制&#xff0c;结合土壤…

FridaHook(二)——Native层函数

By ruanruan&#xff0c;2022.04.19 0x00 前言 下面是学习用Frida hook Native层的导出函数和未导出函数的记录。 demo下载链接&#xff1a;https://pan.baidu.com/s/1ZCIeJXzeTpQ8uJ9Ew5nnGQ 提取码&#xff1a;z94i 0x01 Hook导出函数 1、apk相关信息 关键代码&#xff…

GPT-4与DALL·E 3:跨界融合,开启绘画与文本的新纪元

在人工智能的发展浪潮中&#xff0c;MidTool&#xff08;https://www.aimidtool.com/&#xff09;的GPT-4与DALLE 3的集成代表了一个跨越式的进步。这一集成不仅仅是技术的结合&#xff0c;更是艺术与文字的完美融合&#xff0c;它为创意产业带来了革命性的变革。本文将探讨GPT…

HCIA-Datacom题库(自己整理分类的)_09_Telent协议【13道题】

一、单选 1.某公司网络管理员希望能够远程管理分支机构的网络设备&#xff0c;则下面哪个协议会被用到&#xff1f; RSTP CIDR Telnet VLSM 2.以下哪种远程登录方式最安全&#xff1f; Telnet Stelnet v100 Stelnet v2 Stelnet v1 解析&#xff1a; Telnet 明文传输…

C++模板——(4)C++泛型编程与标准模板库简介

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 勤奋&#xff0c;机会&#xff0c;乐观…

Java环境准备:JDK与IDEA

新手小白学Java–环境准备篇 文章目录 新手小白学Java--环境准备篇第1节 JDK的下载与安装第2节 IDEA的下载与安装第3节 使用IDEA创建第一个Java项目第4节 使用小技巧查看电脑的操作系统版本显示出文件的后缀名IDEA 修改字体大小IDEA 修改显示主题色IDEA 修改单行注释的颜色IDEA…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability(LTI)线性时不变

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability-LTI线性时不变

软件开发平台应用价值高吗?

我们都知道&#xff0c;随着行业的进步和社会的发展&#xff0c;低代码开发平台也拥有了非常可观的发展前景。利用软件开发平台&#xff0c;可以实现提质增效的办公效率&#xff0c;办公流程化发展也将提上日程。那么&#xff0c;您知道软件开发平台都拥有哪些优势特点吗&#…

ApolloCarla联合仿真基本操作

Apollo 系统架构 CANBus&#xff1a;对接车辆的底盘&#xff0c;做一些数据的收发&#xff0c;如油门&#xff0c;方向盘转角 HDMap&#xff1a; 给localization提供定位图层的信息给perception一些车道线、道路拓扑、红绿灯的信息&#xff08;超时空感知&#xff09;&#x…