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.rhkb.cn/news/235337.html

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

相关文章

计算机二级WPS Office考试须知、如何备考、备考建议

本文从计算机二级考试须知、如何备考、备考建议以及考试的注意事项等方面进行讲述,认认真真看,对你受益匪浅。 一、计算机二级考试须知 2021年3月27日至29日将举办第60次全国计算机等级考试(NCRE),从今年起&#xff0…

C# 使用Fleck创建WebSocket服务器

目录 写在前面 代码实现 服务端代码 客户端代码 调用示例 写在前面 Fleck 是 C# 实现的 WebSocket 服务器,通过 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后浏览器和服务器之间就形成了一条快速通道;两者之间…

十大开放式耳机品牌哪个好?开放式耳机详细评测攻略分享,精华篇

相信很多朋友在选购开放式耳机的时候,发现市场上的开放式耳机品牌琳琅满目,完全不清楚哪家的产品更胜一筹,有些人甚至跟风购入,因此很容易买到不合适自己的而踩雷。 其实这种耳机我很早之前就有在使用,我对于耳机数码类…

【人工智能Ⅰ】实验11:支持向量机

实验11 支持向量机 一、实验目的 1:了解支持向量机的结构和原理。 2:应用支持向量机建立训练模型,对模型进行评估。 二、实验内容和要求 【实验内容】 选择支持向量机,对花卉图像或玉米果穗图像进行分类。花卉图像包括玫瑰&a…

详解ajax、fetch、axios的区别

众所周知它们都用来发送请求,其实它们区别还蛮大的。这也是面试中的高频题,本文将详细进行讲解。 1. ajax 英译过来是Aysnchronous JavaScript And XML,直译是异步JS和XML(XML类似HTML,但是设计宗旨就为了传输数据&a…

Android14之解决Pixel手机联网出现感叹号(一百八十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

景联文科技:以高质量数据赋能文生图大模型

1月5日,在智求共赢・中国AIGC产业应用峰会暨无界AI生态合作伙伴大会上,中国AIGC产业联盟联合无界AI发布了《中国AIGC文生图产业白皮书2023》,从AIGC文生图发展历程、主流工具、产业实践以及规模预测等多个维度,全面揭示了中国AIGC…

Vue中的class和style绑定

聚沙成塔每天进步一点点 本文内容 ⭐ 专栏简介动态绑定class对象语法数组语法 动态绑定style对象语法多重值 ⭐ 写在最后 ⭐ 专栏简介 Vue学习之旅的奇妙世界 欢迎大家来到 Vue 技能树参考资料专栏!创建这个专栏的初衷是为了帮助大家更好地应对 Vue.js 技能树的学习…

TS 36.331 V12.0.0-过程(2)-连接控制(3)-RRC连接释放

​本文的内容主要涉及TS 36.331,版本是C00,也就是V12.0.0。

Spring MVC 的RequestMapping注解

RequestMapping注解 使用说明 作用:用于建立请求URL和处理请求方法之间的对应关系。 出现位置: 类上: 请求 URL的第一级访问目录。此处不写的话,就相当于应用的根目录。写的话需要以/开头。它出现的目的是为了使我们的 URL 可以…

Web实战丨基于django+html+css+js的学院门户网站

文章目录 写在前面项目概述基本信息项目需求 项目框架程序设计运行结果项目总结 写在后面 写在前面 本期内容:基于DjangoHtmlCssJavaScript的学院门户网站 项目需求: pythondjango 项目下载地址:https://download.csdn.net/download/m0_6…

JAVA课程设计--类京东购物车设计

目录 小组成员 负责模块: 程序介绍: 1.前期调查: 1.1京东购物车页面 首页 购物车界面 商品信息界面 搜索界面 1.2程序设计页面 首页 购物车页面 商品信息界面 搜索界面: 2.使用环境: 3.技术支持 前端V…

Provide/Inject 依赖注入(未完待续)

父组件传递给子组件数据,通过props,但是需要逐层传递 provide/Inject 的推出就是为了解决这个问题,它提供了一种组件之间共享此类值的方式,不必通过组件树每层级显示地传递props 目的是为了共享那些被 认为对于一个组件树而言是全局的数据 p…

海外代理IP在游戏中有什么作用?

随着科技的飞速发展,手机和电脑等电子产品已成为互联网连接万物的重要工具,深度融入我们的日常生活,我们借助互联网完成工作、休闲和购物等任务,以求提升生活质量。 不仅如此,网络游戏也是人们心中最爱,它…

【51单片机】独立按键控制LED灯

不同于上篇文章只用代码控制,这次我们要再加上独立按键一同控制LED灯 目录 独立按键控制LED亮灭:代码实现: 独立按键控制LED状态:代码实现: 独立按键实现二进制LED显示:代码实现: 独立按键控制…

cpp_10_多重继承_钻石继承_虚继承

1 多重继承 一个类可以同时从多个基类继承实现代码。 1.1 多重继承的内存布局 子类对象内部包含多个基类子对象。 按照继承表的顺序依次被构造,析构的顺序与构造严格相反。 各个基类子对象按照从低地址到高地址排列。 // miorder.cpp 多重继承:一个子…

跑代码相关 初始环境配置

是看了这个视频:深度学习python环境配置_哔哩哔哩_bilibili 总结的个人笔记 这个是从零开始配python环境的比较好的经验教程: 深度学习python的配置(Windows) - m1racle - 博客园 (cnblogs.com) 然后关于CUDA和cuDNN&#xff…

武汉灰京文化:跨平台游戏的崛起,破壁无界,畅游全场!

随着科技的飞速发展,游戏平台之间的界限逐渐模糊,许多优秀的游戏已经不再只局限于单一的游戏设备平台。无论你身处何处,只要有网络连接,你就可以随时随地畅玩自己喜欢的游戏,而无需更换设备或重新安装,这无…

UniRepLKNet实战:使用UniRepLKNet实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构计算mean和std生成数据集一些问题 摘要 大核卷积神经网络(ConvNets)近年来受到广泛关注,但仍存在两个关键问题需要进一步研究。首先,目前的大型卷积神经网络架构大…

docker 安装redis (亲测有效)

目录 1 安装 1 安装 1 将redis 的 tar 包 上传到服务器 上传之后tar 包,将他变成镜像 输入docker images,发现目前是没有镜像的,现在将tar 包变成镜像 docker load -i redis.tar以上就将tar 包变成镜像了 现在在宿主机找一个地方,存放数据…