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

怎么用自己的电脑做网站主机展示型网页开发公司

怎么用自己的电脑做网站主机,展示型网页开发公司,vs怎么开发app软件,集团网站建设活动方案描述一下背景#xff0c;和遇到的问题#xff1a; 我在做一个超大数据集的多分类#xff0c;设备Ubuntu 22.04i9 13900KNvidia 409064GB RAM#xff0c;第一次的训练的训练集有700万张#xff0c;训练成功。后面收集到更多数据集#xff0c;数据增强后达到了1000万张。… 描述一下背景和遇到的问题 我在做一个超大数据集的多分类设备Ubuntu 22.04i9 13900KNvidia 409064GB RAM第一次的训练的训练集有700万张训练成功。后面收集到更多数据集数据增强后达到了1000万张。但第二次训练4个小时后就被系统杀掉进程了原因是Out of Memory。找了很久的原因发现内存随着训练step的增加而线性增加猜测是内存泄露最后定位到了DataLoader的num_workers参数只要num_workers0就没有问题。 真正原因 PythonPytorch中的list转换成tensor时会发生内存泄漏要避免list的使用可以通过使用np.array来代替list。 解决办法 自定义DataLoader中的Dataset类然后Dataset类中的list全部用np.array来代替。这样的话DataLoader将np.array转换成Tensor的过程就不会发生内存泄露。 下面给两个错误的示例代码和一个正确的代码都是我自己犯过的错误 1.错误的DataLoader加载数据集方法1 # 加载数据 train_data datasets.ImageFolder(rootTRAIN_DIR_ARG, transformtransform) valid_data datasets.ImageFolder(rootVALIDATION_DIR, transformtransform) test_data datasets.ImageFolder(rootTEST_DIR, transformtransform)train_loader DataLoader(train_data, batch_sizeBATCH_SIZE, shuffleTrue, num_workers8) valid_loader DataLoader(valid_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8) test_loader DataLoader(test_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8) 2.错误的DataLoader加载数据集方法2重写了Dataset方法 class CustomDataset(Dataset):def __init__(self, data_dir, transformNone):self.data_dir data_dirself.transform transformself.image_paths []self.labels []# 遍历数据目录并收集图像文件路径和对应的标签classes os.listdir(data_dir)for i, class_name in enumerate(classes):class_dir os.path.join(data_dir, class_name)if os.path.isdir(class_dir):for image_name in os.listdir(class_dir):image_path os.path.join(class_dir, image_name)self.image_paths.append(image_path)self.labels.append(i)def __len__(self):return len(self.image_paths)def __getitem__(self, idx):image_path self.image_paths[idx]label self.labels[idx]# # 在需要时加载图像image Image.open(image_path)if self.transform:image self.transform(image)return image, labeltrain_data CustomDataset(data_dirTRAIN_DIR_ARG, transformtransform) valid_data CustomDataset(data_dirVALIDATION_DIR, transformtransform) test_data CustomDataset(data_dirTEST_DIR, transformtransform)train_loader DataLoader(train_data, batch_sizeBATCH_SIZE, shuffleTrue, num_workers18) valid_loader DataLoader(valid_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8) test_loader DataLoader(test_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8, pin_memoryFalse) 3.重写Dataset的正确方法重写了Dataset方法list全部转成np.array class CustomDataset(Dataset):def __init__(self, data_dir, transformNone):self.data_dir data_dirself.transform transformself.image_paths [] # 使用Python列表self.labels [] # 使用Python列表# 遍历数据目录并收集图像文件路径和对应的标签classes os.listdir(data_dir)for i, class_name in enumerate(classes):class_dir os.path.join(data_dir, class_name)if os.path.isdir(class_dir):for image_name in os.listdir(class_dir):image_path os.path.join(class_dir, image_name)self.image_paths.append(image_path) # 添加到Python列表self.labels.append(i) # 添加到Python列表# 转换为NumPy数组这里就是解决内存泄露的关键代码self.image_paths np.array(self.image_paths)self.labels np.array(self.labels)def __len__(self):return len(self.image_paths)def __getitem__(self, idx):image_path self.image_paths[idx]label self.labels[idx]# 在需要时加载图像image Image.open(image_path)if self.transform:image self.transform(image)# 将图像数据转换为NumPy数组image np.array(image)return image, labeltrain_data CustomDataset(data_dirTRAIN_DIR_ARG, transformtransform) valid_data CustomDataset(data_dirVALIDATION_DIR, transformtransform) test_data CustomDataset(data_dirTEST_DIR, transformtransform)train_loader DataLoader(train_data, batch_sizeBATCH_SIZE, shuffleTrue, num_workers18) valid_loader DataLoader(valid_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8) test_loader DataLoader(test_data, batch_sizeBATCH_SIZE, shuffleFalse, num_workers8, pin_memoryFalse)
http://www.hkea.cn/news/14518960/

相关文章:

  • 杭州最好的网站设计公司旅游响应式网站建设
  • 宜城建设局网站东莞最穷的三个镇
  • 语言网站建设网站建设宣传软文范例
  • 外国人做旅游攻略网站网站打不开如何解决
  • 手机参数对比的网站中国建行手机银行下载
  • 手机网站前端开发布局技巧网站制作开票几个点
  • 专业柳州网站建设价格如何注册公司多少钱
  • 网站多级栏目大连软件开发网站建设
  • 做游戏的网站有哪些内容wordpress怎么设置广告位
  • 小豪自助建站重庆有哪些做优化的公司
  • 怎样创建网站appwordpress倒入数据
  • 如何做某网站的移动客户端开发余姚网页设计公司
  • 电脑买编程代码做网站网站制作的步骤不包括哪些
  • 沈阳企业网站seo公司中山网站开发
  • 网站建设 搞笑笑话长沙建站长沙网站
  • 网站百度不收录沈阳谷歌网站建设
  • 百度做网站审核要多久做个公司网站需要什么钱
  • 地方旅游网站开发平泉市住房和城乡建设局网站
  • 什么是网站空间如何制作企业宣传片视频
  • dz网站如何搬家温岭专业营销型网站建设地址
  • 杨浦建设机械网站做好网络推广的技巧
  • 做外贸哪个网站看外汇秦皇岛市建设局官网
  • 随州学做网站培训体系搭建
  • 人防网站建设专门下软件的app
  • 三灶网站建设微网站建设的现状
  • 做推文封面的网站做视频网站需要什么
  • 网站后台功能模块设计网址免费制作app
  • 做网站百灵鸟网站的域名在哪里看
  • 自己做的网站不显示图片wordpress手机访问
  • 景区网站建设费用新网官方网站登陆