训练的过程中内存一直增加的问题

可能的原因一:

解决pytorch训练的过程中内存一直增加的问题_pytorch训练过程中,内存一直增长-CSDN博客

可能的原因二:

DataLoader num_workers > 0 causes CPU memory from parent process to be replicated in all worker processes · Issue #13246 · pytorch/pytorch · GitHub

 例子:

from torch.utils.data import Dataset, DataLoader
import numpy as np
import torchclass DataIter(Dataset):def __init__(self):# 不会导致内存一直增加# self.data_np = np.array([x for x in range(24000000)])# 会导致内存一直增加self.data = [x for x in range(24000000)]def __len__(self):return len(self.data)def __getitem__(self, idx):data = self.data[idx]data = np.array([data], dtype=np.int64)return torch.tensor(data)train_data = DataIter()
train_loader = DataLoader(train_data, batch_size=300,shuffle=True,drop_last=True,pin_memory=False,num_workers=6)for i, item in enumerate(train_loader):if i % 1000 == 0:print(i)

解决办法:

在dataset中,将init中的数据类型换成下面的形式:

dict --> pandas 

from lists --> numpy arrays

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

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

相关文章

DAY2 NETWORK

① 什么是IP地址 IP地址:是计算机在网络中唯一的标识,由两部分组成 分别是表示网络区域的网络号,和该网络下的主机编号 网络号:确定计算机所从属于哪个局域网络 主机号:计算机在该局域网络下的一个编号 ② IP的划分…

使用Flask ORM进行数据库操作的技术指南

文章目录 安装Flask SQLAlchemy配置数据库连接创建模型类数据库操作插入数据查询数据更新数据删除数据 总结 Flask是一个轻量级的Python Web框架,其灵活性和易用性使其成为开发人员喜爱的选择。而ORM(对象关系映射)则是一种将数据库中的表与面…

LeetCode题练习与总结:二叉树的最大深度--104

一、题目描述 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入:root […

ESP32开发环境搭建Windows VSCode集成Espressif IDF插件开发环境搭建 IDF_V5.2.1

一、安装Visual Studio Code 下载地址:Download Visual Studio Code - Mac, Linux, Windows 打开上方链接,选择页面中的Windows版本,单击下载 将下载好的VSCodeUserSetup-x64-1.89.1.exe。单击右键,选择以管理员身份运行&#xf…

雪花算法 代码

/*** author lwh* date 2023/9/5* description 批量插入,手动设置**/ public class IdWorker {//因为二进制里第一个 bit 为如果是 1,那么都是负数,但是我们生成的 id 都是正数,所以第一个 bit 统一都是 0。//机器ID 2进制5位 3…

jenkins自动化部署详解

一、准备相关软件 整个自动化部署的过程就是从git仓库拉取最新代码,然后使用maven进行构建代码,构建包构建好了之后,通过ssh发送到发布服务的linux服务器的目录,最后在此服务器上执行相关的linux命令进行发布。 此篇文章jenkins…

gsap笔记

1.gsap基础 gsap.to() //从初始位置到设定位置 gsap.from() //从设定位置到初始位置 gsap.from("h1",{stagger:1 //设定末状态repeate:2 //重复次数yoyo: true //来回动画scale:1 //缩放倍数 }) //stagger:相同元素的按序播放…

【iOS安全】BurpSuite iOS https抓包 | DNS Spoofing

BurpSuite 完整版安装 参考:Admin Team 小数智 的博客 下载 Burp Suite 2021.6 官网下载地址 https://portswigger.net/burp/releases (下载并安装好) jdk 使用的是11.0.10 https://www.oracle.com/java/technologies/javase-jdk11-downl…

实用css整理

网页一键变灰 body{filter: grayscale(1); } 一般用于特殊时期,网页变灰,只需要给body标签添加这行样式代码。 一键换主题色 body {filter: hue-rotate(45deg);} 给body标签设置这个属性样式,改变角度看看效果吧。 设置字母大小写 p {t…

麦克纳母轮(全向)移动机器人集群控制的Simulink/Simscape虚拟仿真平台搭建

麦克纳姆轮是一种常见的全向移动机构,可以使机器人在平面内任意方向平移,同时可以利用差速轮车的属性实现自转,能够在狭窄且复杂多变的环境中自由运行,因而被广泛应用于竞赛机器人和特殊工业机器人场景。 Ps:最新的BYD仰望U8也有一…

项目启动失败,【consul】

如题,启动时项目未能正常启动,但上次都一切正常,日志提示: Consul service ids must not be empty, must start with a letter 经过排查是因为consul的consulconfigservice服务假死,导致无法正常获取到配置文件&am…

【全开源】Java无人共享棋牌室茶室台球室系统JAVA版本支持微信小程序+微信公众号

开启智能共享新时代 一、系统源码概述:引领自助服务潮流 随着科技的不断发展和人们生活节奏的加快,自助服务已逐渐成为人们生活中的一部分。为了满足市场对无人共享棋牌室、茶室、台球室的需求,我们推出了全新的无人共享系统源码。这套源码…

使用决策树对金融贷款数据进行分析

使用决策树对金融贷款数据进行分析 在本篇博客中,我们将通过使用 Python、Pandas 和多种机器学习技术,对一组贷款数据进行全面分析。通过详细的步骤展示,你将学会如何进行数据预处理、可视化分析以及构建预测模型。 第一步:导入…

Sping源码(七)—ConfigurationClassPostProcessor —— 后续处理

序言 前面的文章中介绍了 parser.parse(); 方法的整体处理逻辑, 其中包括Bean、Import、Configuration、CompopnentScan、Component等注解的解析。 来看看注解解析完的后续工作都做了些什么? 源码片段 简单回顾一下主方法processConfigBeanDefinition…

如何在Python爬蟲中設置代理伺服器?

在實際應用中,爬蟲可能會遇到各種限制,如IP封鎖、訪問限制等。通過使用代理伺服器,可以有效地繞過這些限制,提升爬蟲的效率和隱私保護。本文將詳細介紹如何在Python爬蟲中設置代理伺服器,包括使用requests、urllib、Sc…

Windows10安装Docker Desktop - WSL update failed

按照提示更新wsl后,仍然会报错,github上没有找到解决方法。版本28、29、30都会报这个错。 经过尝试,将docker内的设置中,采用wsl禁掉即可。如下图:

《球》

描述 输入球体的半径r,类型为double,求球的体积,结果保留3位小数。 (注:球的体积计算公式为V4/3∗π∗r3,此处π3.1415) 输入描述 输入球体的半径r,类型为double 输出描述 求球的体积&#xf…

55. UE5 RPG 处理当前功能在多人模式中的问题

在UE里面,我们运行项目可以设置多种网络模式,主要是分为三种: 运行Standalone 就是单人模式,没有网络交互以监听服务器运行,在界面里运行的游戏会作为服务器使用以客户端运行,UE会单独运行一个线程作为服务…

Java 解析 Linux 不同压缩文件的方法及注意事项

背景 commons-compress 包提供了归档压缩文件的工具类,java.util 里面包含了 Zip 和 gz 文件的解压方法,最终以按扁平方式,遍历到全部文件的文件,包括子目录下的文件。使用 Java 实现的日志采集系统涉及到对压缩文件的解析&#…

【Linux】套接字的理解 基于TCP协议的套接字编程(单/多进程 / 线程池|英汉互译 / C++)

文章目录 1. 前言1.1 网络方面的预备知识👇1.2 了解TCP协议 2. 关于套接字编程2.1 什么是套接字 Socket2.2 socket 的接口函数2.3 Udp套接字编程的步骤2.4 sockaddr 结构 3. 代码实现3.1 makefile3.2 log.hpp3.3 tcp_server.hpp① 框架② service() 通信服务③ init…