NVIDIA Tesla V100部署与使用

news2024/11/17 12:36:05

在先前的实验过程中,使用了腾讯云提供的nvidia T4GPU,尽管其性能较博主的笔记本有了极大提升,但总感觉仍有些美中不足,因此本次博主租赁了nvidia V100 GPU,看看它的性能表现如何。
和先前一样,只需要将服务器使用xshell连接我们就可以使用了。我们首先看下其配置情况:

在这里插入图片描述
可以看到,其GPU显存达到了32G,先前博主查询V100的显存仅为16G的,这可当真是意外之喜。
然后便是老生常谈的环境部署过程了:
创建虚拟环境:

conda create -n yolo python=3.8

此时报错:

NoWritableEnvsDirError: No writeable envs directories configured.
  - /home/ubuntu/.conda/envs
  - /usr/local/miniconda3/envs

这是没有写入权限造成的,修改一下:

sudo chmod a+w .conda

再次创建环境:成功。随后激活yolo环境

source activate yolo

然后安装pytorch及其依赖

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch

其他依赖包

 pip install matplotlib
 pip install scipy
 pip install tensorboard
 pip install tqdm
 pip install opencv-python
 当然这里可以一次性使用以下命令全部安装:
 pip install matplotlib,scipy,tensorboard,tqdm,opencv-python

在这里插入图片描述

随后我们使用pycharm连接服务器。

在这里插入图片描述

然后便可以开始训练了,设置batch-size=32,epoch为400,此时GPU使用情况如下:

在这里插入图片描述

当我们将batch-size调整为48时,在训练过程中,其会保存一些数据,此时便存在显存溢出的风险了。

在这里插入图片描述
警告:
根据实验,将batch-size设置为32依旧会爆显存,因此将其设置为24,其实在监控中可以发现,GPU可能只是在一瞬间对显存需求较大,从而造成爆显存问题,如我们在训练完第一轮后保留一些梯度信息,模型信息时会对显存需求激增,从而出错。

在这里插入图片描述
最终本次实验设置batch-size=24,epoch=400
实验环境:
GPU为 NVIDIA Tesla V100,显存32G
CPU为Intel® Xeon® Gold 6133 CPU @ 2.50GHz
下图是CPU配置信息,使用cat /proc/cpuinfo即可查询

在这里插入图片描述
使用下面命令查询cpu信息,可知该服务器上由8个CPU,每个CPU有8个核心,每个核心为8线程。共8×8×8=512个线程

(yolo) ubuntu@VM-0-4-ubuntu:~$ grep 'processor' /proc/cpuinfo |  wc -l
8
(yolo) ubuntu@VM-0-4-ubuntu:~$ grep 'physical id' /proc/cpuinfo 
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
physical id	: 0
(yolo) ubuntu@VM-0-4-ubuntu:~$ grep 'core id' /proc/cpuinfo | sort -u |wc -l
8
(yolo) ubuntu@VM-0-4-ubuntu:~$ grep 'processor' /proc/cpuinfo | sort -u | wc -l
8
(yolo) ubuntu@VM-0-4-ubuntu:~$ 

历时28个小时,epoch=400,batch-size=24。
在本次运行完成后,竟然惊奇的发现较先前有了很大进步,而且在运行时也发现其loss依旧还有下降的趋势,因此决定在此基础上再次迭代200次并进行观测结果。
如此看来进行简单原因分析,首先说较先前训练轮数增加了,此外batch-size也增大了。可能便是此使其产生变化。

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

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

相关文章

2023美赛A题思路数据代码分享

文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛A题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片,加入获取一手资源 202…

医学图象分割常用损失函数(附Pytorch和Keras代码)

对损失函数没有太大的了解,就是知道它很重要,搜集了一些常用的医学图象分割损失函数,学习一下! 医学图象分割常见损失函数前言1 Dice Loss2 BCE-Dice Loss3 Jaccard/Intersection over Union (IoU) Loss4 Focal Loss5 Tvesky Loss…

学生投票系统-课后程序(JAVA基础案例教程-黑马程序员编著-第三章-课后作业)

【案例3-4】学生投票系统 记得 关注,收藏,评论哦,作者将持续更新。。。。 【案例介绍】 案例描述 某班级投票竞选班干部,班级学生人数为100人,每个学生只能投一票。 本任务要求,编程实现一个投票程序&…

2023美赛赛题和数据公布啦~【附中文翻译版】

2023美赛赛题和数据公布啦~ 加2023年的美国大学生数学建模竞赛 数学建模竞赛是一项在全球范围内非常受欢迎的竞赛,旨在鼓励学生运用数学知识和建模技能解决实际问题。这项竞赛不仅对学生的数学能力提出了很高的要求,还对他们的创造性、团队协作和沟通能…

经典算法题---链表奇偶重排(好题)双指针系列

我听别人说这世界上有一种鸟是没有脚的,它只能够一直的飞呀飞呀,飞累了就在风里面睡觉,这种鸟一辈子只能下地一次,那一次就是它死亡的时候。——《阿甘正传》这一文章讲解链表的奇偶排序问题,这是一道不难但是挺好的链…

凹凸贴图(Bump Mapping)

凹凸贴图是什么? 我们首先来看low-poly(多边形数较少)mesh和high-poly(多边形数量较多)mesh之间的不同。首先,最明显的不同就是high-poly能够表现出更多细节,但high-poly有比较大的性能开销。有…

springboot下@transcation使用基本介绍

springboot下transcation基本使用的几种可能 普通常使用的几种可能(事务的传播行为默认值Propagation.REQUIRED): transcation只在使用方法A上,A内无调用其他方法,事务正常方法A和方法B在同一个类下,transc…

net6中使用FluentValidation做实体验证(批量注册)

实体验证-FluentValidation 首先明白两个概念 自动验证:就是在请求进入到控制器前FluentValidation就自行完成实体的验证并做错误返回, 优点:简单 少一些手动调用的代码缺点:灵活性差,不好控制,不支持异步…

智慧校园电子班牌系统

智慧电子班牌区别于传统电子班牌,智慧校园电子班牌系统更加注重老师和学生的沟通交流和及时数据交互。学校为每个教室配置一台智能电子班牌,一般安装于教室门口,用来实时显示学校通知、班级通知,可设置集中分布式管理,…

RSA加解密简单实现

目录 浅谈加解密实现方式 MD5加密 DES加密 AES加密 RSA加密 SSL加密认证 关于RSA加解密实现 简单数据加解密的实现 分块加解密实现 附录 浅谈加解密实现方式 关于数据加解密方式,我们一般分为不可逆加密、对称可逆加密、非对称加密、综合加密应用等&…

魔改并封装 YoloV5 Version7 的 detect.py 成 API接口以供 python 程序使用

文章目录IntroductionSection 1 起因Section 2 魔改的思路Section 3 代码Part 1 参数部分Part 2 识别 APIPart 3 完整的 DetectAPI.pyPart 4 修改 dataloaders.pySection 4 调用ReferenceIntroduction YoloV5 作为 YoloV4 之后的改进型,在算法上做出了优化&#xf…

errgroup 原理简析

golang.org/x/sync/errgroup errgroup提供了一组并行任务中错误采集的方案。 先看注释 Package errgroup provides synchronization, error propagation, and Context cancelation for groups of goroutines working on subtasks of a common task. Group 结构体 // A Gro…

Sphinx : 高性能SQL全文检索引擎

Sphinx是一款基于SQL的高性能全文检索引擎,Sphinx的性能在众多全文检索引擎中也是数一数二的,利用Sphinx,我们可以完成比数据库本身更专业的搜索功能,而且可以有很多针对性的性能优化。 Sphinx的特点 快速创建索引:3分…

Barra模型因子的构建及应用系列三之Momentum因子

一、摘要 在之前的Barra模型系列文章中,我们已经初步讲解、构建了Size因子和Beta因子,并分别创建了对应的单因子策略。通过回测发现,其中Size因子的小市值效应具有很强的收益能力。而本篇文章将在该系列下进一步构建Momentum因子。 二、模型…

90%企业在探索的敏捷开发怎么做?极狐GitLab总结了这些逻辑与流程

本文来自: 彭亮 极狐(GitLab) 高级产品经理 毛超 极狐(GitLab) 研发工程师 极狐(GitLab) 市场部内容团队 “敏捷” 是指能够驾驭变化,保持组织竞争优势的一种能力。自 2001 年《敏捷宣言》以来,敏捷及敏捷开发理念逐渐席卷全球。中国信通院《…

面试已上岸,成功拿到阿里和腾讯的入职offer,Java程序员面经全在这了,希望能帮到你!

前言 一开始的时候简历海投大多数都被拒绝了,后来自己找在腾讯上班的朋友帮忙改了一下简历,果然不一样了大多都能拿到面试机会,当然拿到后也没有那么顺利,面了差不多有十几家公司的样子,大大小小的都有,其中…

C++和QML混合编程_QML发送信号到C++端(信号和槽绑定)

C和QML混合编程_QML发送信号到C端(信号和槽绑定) 前言: 下面是之前讲解过的三种方法 1、使用Q_INVOKABLE声明一下普通函数,在QML端可以直接调用 2、使用Connections绑定QML的信号和C端的槽函数 3、使用connect绑定QML的信号和C端的…

通俗易懂理解——布隆过滤器

文章目录概述本质优缺点优点:缺点:实际应用解决redis缓存穿透问题:概述 本质 本质:很长的二进制向量(数组) 主要作用:判断一个数据在这个数组中是否存在,如果不存在为0&#xff0c…

NR PDCP duplication

欢迎关注同名微信公众号“modem协议笔记”。 PDCP duplication 是PDCP 的一个功能,主要是为满足URLLC 场景的可靠性/延迟要求,而产生的一种提高传输可靠性的机制,具体就是在信号状况比较差的情况下,网络侧通过配置PDCP duplicati…

集中式存储和分布式存储

分布式存储是相对于集中式存储来说的,在介绍分布式存储之前,我们先看看什么是集中式存储。不久之前,企业级的存储设备都是集中式存储。所谓集中式存储,从概念上可以看出来是具有集中性的,也就是整个存储是集中在一个系…