当前位置: 首页 > news >正文

网站建设成都云谷歌独立站

网站建设成都云,谷歌独立站,海城网站建设,北京网站建设的价格天模型训练时CPU和GPU大幅度波动——可能是数据的加载拖后腿 问题 在进行猫狗大战分类任务时,发现模型训练时CPU和GPU大幅度波动,且模型训练速度很慢。 原因 ​ 初步分析可能是数据加载(包括数据的transform,我用了Resize&#…

模型训练时CPU和GPU大幅度波动——可能是数据的加载拖后腿

问题

在进行猫狗大战分类任务时,发现模型训练时CPU和GPU大幅度波动,且模型训练速度很慢。

原因

​ 初步分析可能是数据加载(包括数据的transform,我用了Resize,ToTensor,Normalize这三个操作)的的速度太慢,于是通过计算一个epoch数据加载的时间来判断,最后发现数据加载的数据和一个epoch训练的时间差不太多(因为用的模型较小,是ResNet18,如果模型比较大,训练时间比数据加载时间大得多的时候,这种情况CPU和GPU的波动频率和幅度会好很多,情况最好的是,在训练一个完batch的数据前,下一个batch的数据已经准备好了)。测量加载时间代码如下:

import time
from torch.utils.data import DataLoaderdata_loader = DataLoader(dataset, batch_size=64)
start_time = time.time()# 遍历数据加载器中的所有批次
for i, data in enumerate(data_loader):passend_time = time.time()
# 计算并打印整个数据读取的时间
total_time = end_time - start_time
print(f"Total data loading time: {total_time:.4f} seconds")

然后再计算训练一个epoch的时间,若没有比加载数据的时间大很多的话,大概率就是数据加载拖后腿了。

解决方法

我使用的是方法是将所有数据一次性读入内存中,避免频繁进行磁盘IO,这样集中把所有数据读出来的时间要比一边训练一边读要快的多(使用较小的模型一般数据量不大,全部读入内存应该没什么问题,如果数据量较大呢?这时候用的模型一般也会较大,训练的时间占据主导,这时候就基本不会出现gpu等待数据的情况了)。以猫狗大战这个任务来说,自定义的Dataset如下,关键代码后用!!!..表示:

class CatDogDataset(Dataset):def __init__(self, root_dir, transform=None, test=False):self.root_dir = root_dirself.transform = transformself.image_paths = []self.image_data = []		# !!!!!!!!!!!!!!!!!!! self.labels = []self.test = testfor filename in os.listdir(root_dir):if filename.endswith('.jpg'):image_path = os.path.join(root_dir, filename)image = Image.open(image_path).convert('RGB')  # 转换为RGB格式if self.transform:image = self.transform(image)self.image_paths.append(image_path)		self.image_data.append(image)		# !!!!!!!!!!!!!!!!!!!!	将所有图片读到内存进来if not test:if 'cat' in filename:self.labels.append(0)  # cat 类别标记为 0elif 'dog' in filename:self.labels.append(1)  # dog 类别标记为 1def __len__(self):return len(self.image_data)def __getitem__(self, idx):if self.test:return self.image_data[idx], self.image_paths[idx]  # 测试集返回图像及其路径else:return self.image_data[idx], self.labels[idx]
http://www.hkea.cn/news/826489/

相关文章:

  • 武汉移动网站制作今天新闻最新消息
  • 酒泉建设厅网站百度seo刷排名软件
  • 天津个人网站建设yandex引擎
  • 网站改版建设 有哪些内容网络营销策划方案怎么做
  • 网站建设拾金手指下拉seo的实现方式
  • 北京宣传片湖南seo优化哪家好
  • 下载app 的网站 如何做黑帽seo排名技术
  • 个人是否做众筹网站哪里可以免费推广广告
  • 外贸网站该怎么做青岛百度推广优化怎么做的
  • 网站建设中 网页代码优化关键词排名公司
  • 网站标题优化怎么做泉州百度首页优化
  • 学习网站建设的是什么专业优化网站排名公司
  • 固定ip做网站西安网站建设推广
  • 做响应式网站好不好软文发布门户网站
  • 重庆做网站建设的公司哪家好最基本的网站设计
  • 长春网站制作wang网站营销软文
  • discuz 网站搬家市场营销的策划方案
  • 做婚礼网站的公司简介seo网站关键词优化软件
  • 哪些客户需要做网站推广平台排名前十名
  • 团购的网站扣佣金分录怎么做厦门百度竞价
  • 国家疫情最新政策麒麟seo外推软件
  • 河南第二波疫情最新消息淘宝关键词优化技巧教程
  • 优化好的网站做企业网站百度代理公司
  • 外贸b2c网站如何做推广百度电话人工服务
  • 百度怎样做网站并宣传网站2023上海又出现疫情了
  • wordpress后台登录慢阳山网站seo
  • 深圳网站建设企网络推广运营途径
  • 给自己女朋友做的网站yandex搜索引擎
  • 购物网站建设教程怎么在网上做广告宣传
  • 冠县做网站推广网站怎么制作