代码实践——准备阶段

ops/2025/2/14 4:33:40/

使用Windows11进行部署项目,使用anaconda、git bash和pycharm部署,全面配置环境磕磕绊绊,虽然最后都通过gpt老师解决了,在运行wenet代码到第四步的时候,deepspeed库怎么都安装不上,查阅很多资料发现:Windows兼容性不好,跳到老师的Ubuntulinux系统进行部署,太快了一下子就好了,“不应该啊”->“已老实”,写点笔记可以在忘记的时候查阅一下,还可以教一下乖乖的女朋友,唉,怎么这么乖啊

1、常用linux命令基础

cd命令 cd路径就能到文件路径

wget命令 wget+url,就能在该文件路径下,get到这个文件

bash/sh命令 bash+.sh的脚本文件就能运行

vim命令 文本编写命令

chmod命令 让文件有被执行修改的权限

conda命令 anaconda的,不知道怎么解释

tar命令 解压tar归档文件

linux中,可执行脚本为.sh

2、在vscode中连上远程SSH服务器,这个跟我配置的一样步骤,不过我没设免密,看着就麻烦

VS Code 远程连接 SSH 服务器_vscode远程ssh连接服务器-CSDN博客https://blog.csdn.net/qq_42417071/article/details/138501026?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%9C%A8vscode%E4%B8%AD%E8%BF%9E%E4%B8%8A%E8%BF%9C%E7%A8%8BSSH%E6%9C%8D%E5%8A%A1%E5%99%A8&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-138501026.142^v101^pc_search_result_base9&spm=1018.2226.3001.4187在登陆过程中出现了无法登陆的问题,检查登录时的报错信息以下:

> Please contact your system administrator.
> Add correct host key in C:\\Users\\\xxx\xxx\xxx\xxx\xxx/.ssh/known_hosts to get rid of this message.
> Offending ECDSA key in C:\\Users\\\xxx\xxx\xxx\xxx\xxx/.ssh/known_hosts:6
> Host key for [xxx.xxx.xxx.xx]:xxxxx has changed and you have requested strict checking.
> Host key verification failed.
[xx:xx:xx.xxx] Got some output, clearing connection timeout
[xx:xx:xx.xxx] > 过程试图写入的管道不存在。

根据路径找到known_hosts这个文件,进去给对应ip的内容都删除,重新连就好了

3、安装Miniconda

在清华镜像网站下载需要版本的miniconda安装包

Index of /anaconda/miniconda/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirrorhttps://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

#下载
wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-py310_24.5.0-0-Linux-x86_64.sh
#安装:根据提示输入enter或yes
bash Miniconda3-py38_4.9.2-Linux-x86_64.sh
#验证:重启终端(必须),运行下方命令,显示版本号则安装成功
conda --version

4、更换清华镜像源

# 在用户目录(/home/xxx)下新建.condarc文件,但是不同服务器的初始化不一样,
# 比如我的服务器直接就有这个文件,我直接改就好了
touch .condarc
# 用vim打开.condarc文件,写入下方内容保存后退出
channels:- defaults
show_channel_urls: true
channel_alias: https://mirrors.tuna.tsinghua.edu.cn/anaconda
default_channels:- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/r- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/pro- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/msys2
custom_channels:conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmsys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudbioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudmenpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudpytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloudsimpleitk: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud# 清除索引缓存conda clean -i# 配置完毕,执行以下命令查看是否已经换源,可以看到已经更换为清华源了conda config --show

5、安装CUDA及cuDNN

可能会有下载很多不同版本cuda的需求,所以我创建了一个文件夹,专门在这个文件夹下载不同版本的cuda,在这里可以下载不同版本的cuda

CUDA and cuDNN — k2 1.24.4 documentationhttps://k2-fsa.github.io/k2/installation/cuda-cudnn.html比如在配置wenet时候,看了我同门的学习过程,可以快速避免弯路@李思成-CSDN博客

#下载CUDA12.1 官方地址:https://developer.nvidia.com/cuda-toolkit-archive
wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
# 让文件有被执行修改的权限
chmod +x cuda_12.1.0_530.30.02_linux.run
#安装,此处采用静默模式安装,交互模式可参考:https://blog.csdn.net/qq_46699596/article/details/134552021
sh ./cuda_12.1.0_530.30.02_linux.run \--silent \--toolkit \--installpath=/star-fj/fangjun/software/cuda-12.1.0 \--no-opengl-libs \--no-drm \--no-man-page
#./cuda_12.1.1_530.30.02_linux.run:CUDA 12.1.1 的安装程序文件。
#--silent:以静默模式安装,不需要用户交互。
#--toolkit:只安装 CUDA Toolkit,而不安装其他组件(如驱动程序等)。
#--installpath=/home/xxx/module/cuda/cuda-12.1:指定安装路径。
#--no-opengl-libs:不安装 OpenGL 库。
#--no-drm:不安装 Direct Rendering Manager(DRM)模块。DRM 模块用于图形硬件加速的直接渲染。
#--no-man-page:不安装手册页。

下载这个版本对应的 cuDNN,链接里面有

wget https://huggingface.co/csukuangfj/cudnn/resolve/main/cudnn-linux-x86_64-8.9.5.29_cuda12-archive.tar.xz
tar xvf cudnn-linux-x86_64-8.9.5.29_cuda12-archive.tar.xz --strip-components=1 -C /star-fj/fangjun/software/cuda-12.1.0

下载好cuda,需要这个版本的cuda的时候,需要配置环境变量并更新才能生效,这些在上面的链接里面都有

#添加环境变量,我也已经存在了.bashrc了,我直接修改
vim ~/.bashrc
#将下方内容写入.bashrc 
export CUDA_HOME=/s6home/lnj524/module/cuda/cuda-12.1
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=$CUDA_HOME/extras/CUPTI/lib64:$LD_LIBRARY_PATH
export CUDAToolkit_ROOT_DIR=$CUDA_HOME
export CUDAToolkit_ROOT=$CUDA_HOMEexport CUDA_TOOLKIT_ROOT_DIR=$CUDA_HOME
export CUDA_TOOLKIT_ROOT=$CUDA_HOME
export CUDA_BIN_PATH=$CUDA_HOME
export CUDA_PATH=$CUDA_HOME
export CUDA_INC_PATH=$CUDA_HOME/targets/x86_64-linux
export CFLAGS=-I$CUDA_HOME/targets/x86_64-linux/include:$CFLAGS
export CUDAToolkit_TARGET_DIR=$CUDA_HOME/targets/x86_64-linux

更新用户环境变量并验证

#更新用户环境
source ~/.bashrc
#验证
nvcc -V
#到此cuda安装完成
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Mon_Apr__3_17:16:06_PDT_2023
Cuda compilation tools, release 12.1, V12.1.105
Build cuda_12.1.r12.1/compiler.32688072_0

6、一般来说,前面四部就够了,但是我在运行的时候,出现了gcc版本低的问题,我通过查阅资料下载了gcc11,解决了问题。当时糊里糊涂解决了,以至于现在文件路径上那两个关于gcc文件我也不知道干嘛的,但是存在合理。

7、想到还有其他什么,再补充吧


http://www.ppmy.cn/ops/158214.html

相关文章

数智百问 | 制造企业如何降低产线检测数据的存储和管理成本?

在《“十四五”智能制造发展规划》等政策的推动下,以及新能源汽车、消费电子等品牌商对产品质量和供应商智能化水平要求的提升,半导体、电子制造、动力电池等先进制造行业企业纷纷推进产线智能化升级,并投入大量机器视觉检测设备以实现自动化…

传统CV到深度学习:特征工程与卷积神经网络实战(进阶篇)

摘要:本文深入解析传统计算机视觉特征工程核心算法,并手把手实现首个卷积神经网络。通过OpenCVSIFT项目与PyTorch实战案例,揭示深度学习如何颠覆传统视觉算法,提供完整可运行的工业级代码。 一、传统特征工程的巅峰:S…

Linux TCP 编程详解与实例

一、引言 在网络编程的领域中,TCP(Transmission Control Protocol)协议因其可靠的数据传输特性而被广泛应用。在 Linux 环境下,使用 C 或 C 进行 TCP 编程可以实现各种强大的网络应用。本文将深入探讨 Linux TCP 编程的各个方面&…

Flutter_学习记录_安装第三方包(演示安装 Intl 包)

打开pubspec.yaml目录找到dependencies位置,如下: 添加需要安装的第三方包 以及 版本号在控制台的OUTPUT中,选择“flutter”结束

C# 上位机--枚举

一、引言 在 C# 上位机开发过程中,枚举(Enum)是一种非常实用的数据类型,它可以将一组相关的常量组织在一起,使代码更加清晰、易读和易于维护。 二、枚举的基本概念 枚举(Enum)是一种值类型&a…

科技快讯 | 目标2030年登月 登月服和载人月球车全面进入初样研制阶段;字节豆包大模型团队提出稀疏模型架构UltraMem,推理成本最高可降低83%

Roblox、OpenAI、谷歌等联手,成立新组织以保障 AI 时代儿童安全 2月11日,据Engadget报道,Roblox、Discord、OpenAI和谷歌联合成立非营利组织ROOST,旨在提供开源安全工具,加强网络安全,初期重点关注儿童安全…

从词袋到Transformer:自然语言处理的演进与实战

自然语言处理(NLP)是人工智能领域中最具挑战性和吸引力的方向之一。从最早的规则系统到如今的深度学习模型,NLP技术的发展历程充满了创新与突破。本文将带你深入探讨NLP的核心技术演进,并通过代码和案例展示如何从简单的词袋模型过渡到强大的Transformer架构。 1. 词袋模型…

机器学习数学基础:21.特征值与特征向量

一、引言 在现代科学与工程的众多领域中,线性代数扮演着举足轻重的角色。其中,特征值、特征向量以及相似对角化的概念和方法,不仅是线性代数理论体系的核心部分,更是解决实际问题的有力工具。无论是在物理学中描述系统的振动模式…