深度学习环境配置

1 基础概念

1.1 说说 Python

Python 其实就是一门编程语言,就是程序的一种规范,一种语法。 Python 是计算机世界中比较(语法)简单的语言。

1.2 库(library)/包(package)

包/库,就是别人分享的工具(模板)。打个有点不恰当的例子:Python是我们的手机,那么包/库就是安装的App。

有了这些工具,我们可以高效地完成一些事情。如果安装包,就是使用pip install 包名(pip有点像手机里的应用商店)。

经常用的一些包:① Numpy;② Pandas;③ Matplotlib;④ Opencv;⑤ Pytorch;⑥ Tensorflow等

1.3 Anaconda

Anaconda是一个开源的Python发行版本,包含了包括PythonConda科学计算库(Numpy、SciPy等等)等180多个科学包及其依赖项。因此,安装了Anaconda就不用再单独安装Python。 简单说,Anaconda是一个集成各类Python工具/包/库的集成平台,它本身不是一个开发工具,它只是将很多第三方的开发环境集成到一起。

其次,Anaconda内含Conda,Anaconda就是基于conda的管理工具集合,它包含了conda、某一个版本的Python、一批第三方库等。Conda是一个通用的包管理系统,也就是说Conda适用于各种编程语言(Python, R, Ruby, Lua, Scala, Java, JavaScript, C/C++, FORTRAN);

  • conda将工具、第三方库、Python版本、conda都当作包,同等对待。
  • conda推荐使用命令行来进行操作,Anaconda提供了图形界面。
  • 在Anaconda中可以创建新的conda环境,并在新的环境中进行相关自定义配置。

仍然用手机的例子来打比方的话,pip只能用于Python语言的包管理,相当于某一特定品牌手机的应用商店(在其他品牌手机上不能使用),conda能用于各种语言,相当于通用的应用商店,各种品牌的手机都能使用

最后,Anaconda还有一个重要的功能——创建虚拟环境

在开发中常会碰到如下情况:

某一项目要求使用PyThoch 1.10版本,另一个项目要求使用PyTorch 1.4版本。但是我们不能在同一环境下同时安装两个PyTorch版本。

这是,就可以通过Anaconda创建虚拟环境(类似于Windows电脑创建虚拟机,安装Linux系统,或者也类似于手机应用双开?)

1.4 Python是如何运行起来的

其实简单来说,安装Python就是安装不同版本的Python解释器 为什么python需要配置编程环境

pycharm是Python IDE(集成开发环境)

1.5 显卡、GPU以及相关概念

显卡是个人计算机(Personal Computer)的组成部分之一,启到控制显示器正确显示的作用,基本功能就是将模拟信号转换为电信号。市场主流的显卡大多都是NVIDIA(英伟达)和AMD(超微半导体)这两个公司设生产的,分别被简称为N卡和A卡(N&A就是取自各自公司英文首字母)。

显卡的结构为:电容、显存、显示芯片、风扇、各类接口等。其中显存全称为“显示存储器”,和计算机中的存储器相似,负责存储显示芯片需要处理的各种数据,其容量的大小,性能的高低,直接影响着电脑的显示效果;显示芯片就是深度学习中经常提到的GPU或者VPU(或被称作图形处理器),负责并行计算工作,工作时产生的热量由风扇负责排除;各类接口负责输入输出和桥接。

显卡分为三个种类:集成显卡、独立显卡、核芯显卡。

显卡是一个硬件,可以插到电脑主板上,因此一般情况下,需要装驱动(能够让计算机识别相应的硬件)

对于深度学习而言使用的显卡都是英伟达的显卡,因为NVIDIA公司创建了一个CUDA平台,开发者可以利用CUDA去操作NVIDIA的显卡。

1.6 小结:上述各个软件关系

2 使用google colab

官网:google colab

2.1 基本步骤

首先,在谷歌云盘创建一个文件夹,然后,在该文件夹下创建一个Google Colaboratory文件。

进入Google Colaboratory文件后,输入:

1
2
3
4
!date                   # 显示当前的日期和时间
!pwd # 打印当前目录
!python --version # 查看python版本
!nvidia-smi # 查看GPU的信息——型号、显存大小

下面,需要将谷歌云盘与服务器挂载起来:

1
2
3
4
# 挂载云盘
import os
from google.colab import drive
drive.mount('/content/drive')

完成挂载后,切换目录到我们创建的文件夹下面:

1
2
3
4
%cd /content/drive		
%ls
%cd MyDrive/一开始创建的文件夹/
%ls

注意,cdls等命令使用%

最后,使用下面的命令开始训练模型:

1
!python model_train.py

2.2 T4 GPU的性能

任务场景就是对bert进行微调。今天比较巧,用了T4也用了RTX 4090去做bert微调的任务,发现两者速度又很直观的不同,但从我看到的差异4090是T4的3.x倍。T4是Google Colab提供的免费的,4090是租的在线,2.8一小时,体验一下。

又去试了试RTX 3090的速度。差不多是T4速度的2.6倍,0.75的4090的速度,不过价格却是4090的0.58,似乎租3090更划算。

2.3 v2-8 TPU说明

v2-8 TPU支持TensorFlow库和PyTorch库(有条件)

TPU(Tensor Processing Unit)是谷歌开发的一种专用于深度学习的硬件加速器,旨在提高机器学习任务的计算效率和速度。它通过高度优化的矩阵运算和片上存储,减少数据传输延迟,从而提升性能。

在TensorFlow中,TPU的支持已经非常成熟。TensorFlow/TPU项目提供了与TensorFlow库无缝集成的API,使得开发者能够在现有的TensorFlow代码基础上轻松添加TPU支持。这个项目兼容TensorFlow v1和v2,使得旧版和新版的用户都能享受TPU的加速效果。

尽管PyTorch原生并不直接支持TPU,但可以通过PyTorch XLA(Accelerated Linear Algebra)库来实现对TPU的支持。PyTorch XLA是PyTorch的一个扩展,提供了与TPU的集成支持。使用PyTorch XLA,开发者可以在PyTorch中利用TPU资源进行训练和推理。

参考链接1:在google colab进行yolov5模型训练,免费使用GPU资源 - 哔哩哔哩
参考链接2:【sovitsAI语音】在colab部署,新人学习分享 - 哔哩哔哩
参考链接3:Google Colab TPU 使用方法 - CSDN博客
参考链接4:一行代码安装,TPU也能运行PyTorch,修改少量代码即可快速移植 - 百度百家号
参考链接5:4090和t4同任务速度对比 - 慢下来不就好了的文章 - 知乎

3 使用Kaggle

kaggle的官网:Kaggle: Your Machine Learning and Data Science Community

3.1 登录注册

这里有两种注册方式,一种是使用谷歌账号(需要科学上网),另外一种是使用email,我使用的是谷歌账号的方式,过程很顺利,但是据其他帖子中所说使用email的话会比较麻烦,可能没办法通过人机验证,不过别的帖子里也有解决方法,这里不多赘述。

3.2 进行相关配置

成功登陆以后,进入以下的界面:

点击Notebooks,进入以下页面:

红色框里包含了你曾经创建的notebook,点击蓝色框中的create即可创建新的notebook,选择New notebook:

进入新的notebook后,界面如下所示:

其实这里的notebook和jupyter_notebook非常的相似,只要你使用过jupyter_notebook,应该就对这个不会陌生,为了照顾没有用过jupyter_notebook的同学,这里介绍一下notebook的基本使用方法:

  1. 红框1处为notebook的名字,点击这里可以改名;
  2. 点击红框2处可以增加代码单元,在代码块中写代码;
  3. 点击红框3处可以运行相应的代码单元;
  4. 点击红框4处可以按顺序运行所有的代码单元。

在右侧的方框处,找到Session Option模块:

图示 说明
ACCELERATOR,即加速器,可选择是否使用GPU以及GPU型号。
LANGUAGE:选择编程语言,这里只有Python和R语言可选。
PERSISTENCE:保存文件类型,详细请参见UP的解释持久化
ENVIRONMENT:环境配置相关,详细参见UP的解释版本策略
INTERNET:是否连接网络,一般选择打开, 否则没办法pip install

然后就可以愉快的使用GPU啦。

3.3 使用示例

3.3.1 上传自己的数据集

运行代码有两种方式,一种是上传已经写好的代码,另外一种就是自己在notebook里写,写好再运行。我目前一般是现在本地把代码都写好,只是利用平台的免费GPU跑模型进行训练,因此数据集和代码均是通过上传的方式进行。

上传数据集肯定是必不可少的,这里我们可以下载kaggle上的数据集,也可以上传我们自己的数据集,这里介绍一下上传自己数据集的方法。

首先,进入下图右上方的Input界面,其中:Add Input:导入 Kaggle 中已有的数据集;Upload:上传本地的数据集。点击右上方的upload,选择new dataset,然后选择数据集或者模型代码进行上传。如果数据集较大的话建议先上传压缩文件,kaggle上传完成后会自动解压的 。

上传之后就可以在Input里就可以看见,点击红框处,复制文件的路径,就能在代码中使用了 。

注意,上传文件后,文件保存在/kaggle/input/<上传文件时候的命名>。若上传的数据集,则不需要移动数据集,就在这个目录下应用即可,也就是只需要代码中的数据集路径使用上述路径即可。

但若是上传的模型代码文件,则一般需要把上传的代码文件转移到当前工作环境/kaggle/working,转移代码如下:

1
2
3
from shutil import copyfile
copyfile(src = "../input/model-train/model.py", dst = "../working/model.py")
copyfile(src = "../input/model-train/model_train.py", dst = "../working/model_train.py")

下面就可以运行代码进行训练了。

3.3.2 给出的一个示例流程

进入kaggle Notebook后,输入:

1
2
3
4
!date                   # 显示当前的日期和时间
!pwd # 打印当前目录
!python --version # 查看python版本
!nvidia-smi # 查看GPU的信息——型号、显存大小

转移代码文件到当前工作目录下:

1
2
3
from shutil import copyfile
copyfile(src = "../input/model-train/model.py", dst = "../working/model.py")
copyfile(src = "../input/model-train/model_train.py", dst = "../working/model_train.py")

展示当前目录下的文件

1
2
!pwd
!ls

没问题即可开始训练模型

1
!python model_train.py

3.4 下载输出(Output)的文件

请参考连接4。

3.5 其他说明

有的时候模型运行比较久,可能会因为存在网络等问题导致训练中断,这时候可以使用后台任务功能,具体情况UP的解释:后台任务设置

参考连接1:【免费GPU系列:kaggle,colab,百度 AI studio 使用方法(上半部分)】- 哔哩哔哩
参考连接2:免费gpu:kaggle本地项目上传使用说明 - CSDN
参考连接3:Kaggle:免费 GPU 使用指南,Colab 的理想替代方案 - CSDN
参考连接4:kaggle GPU资源使用教程——针对超级小白 - 未雨的文章 - 知乎
参考连接5:Kaggle下载输出(Output)的文件 - CSDN

4 Linux服务器上安装Anaconda

参考链接1:如何在Linux服务器上安装Anaconda(超详细)「建议收藏」 - 腾讯云博客
参考连接2:

  • Copyrights © 2015-2025 wjh
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信