Pytorch 深度强化学习模型训练速度慢

2023-11-19

最近一直在用Pytorch来训练深度强化学习模型,但是速度一直很慢,Gpu利用率也很低。

一、起初开始在训练参数 batch_size = 200, graph_size = 40, epoch_size=100000, 训练速度一个epoch要4h,人麻了…
调整之前,一个epoch要4小时
二、经过网上查找资料后,对batch_size 和训练数据DataLoaderpin_memory,num_workers参数进行了修改调试,结果还是不行,虽然GPU利用率有提高一点,但是速度还是没改进。
三、之后才发现是强化学习的问题环境代码有问题。

问题1.在问题环境中用了两个 双重for循环来对解决数据,源代码如下:

for i in range(arrive_time.shape[0]):
      if arrive_time[i] > tw[rng, a, 1][i]:
          delay_time[i] = arrive_time[i] - tw[rng, a, 1][i]
      else:
         delay_time[i] = 0

主要是 利用for循环来判断符合一些条件的值并进行处理,虽然类型都是Tensor,调试时也没感觉耗费很多时间,但是把这部分代码去掉后,该做Tensor的函数进行操作后模型训练时间有了提高。
修改后的代码:利用where()函数来进行判断并处理

delay_time_temp = arrive_time - tw[rng, a, 1]
zero2 = torch.zeros_like(delay_time_temp)
delay_time = torch.where(delay_time_temp < 0, zero2, delay_time_temp)

问题2. 有冗余的无意义代码存在
在调试代码的过程中自己有写很多没用的tensor变量和其他一些代码,之后忘记注释掉。这部分也浪费时间。在注释之后时间又有了一部分提高。在相同参数下一个epoch 时间到了十几分钟。
修改后的时间
发愁了好几天,记录一下,在训练模型时要避免使用过多的for 语句或者一些冗余的代码,对于tensor 还是要用相关函数来进行处理。具体原因还不太懂,但是速度个人还是不满意,提高graph_size 后速度还是会到30分钟左右,希望还能在优化。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pytorch 深度强化学习模型训练速度慢 的相关文章

随机推荐

  • BUUCTF LOVESQL

    打开网页后 利用hackbar 先来查询他的列数 1 order by 3 试了1 2 3 4都不行 初步判断 是被后端代码过滤掉了 我们试试 和 的效果是一样的 但是当我尝试使用 后发现仍然没有反应 说明后端代码也过滤掉了 我们采用另外一
  • 二进制在数学中的妙用

    二进制在数学中的妙用 goal00001111搜集整理 十 八世纪初 莱布尼茨发明了二进制数 当时的他肯定没有预料到二进制在信息时代会有着如此广泛的应用 二进制数以其工作可靠 运算简单 逻辑严密 容易实现 等特点 成为了计算机的专用语言 在
  • linux下安装中文输入法及vim支持中文的方法

    最近折腾Ubuntu 之前一直是用英文显示系统 输入法也是Ubuntu14默认的拼音 一开始也没觉得不好 可是在vim编辑文档时 需要添加注释 这就显得十分不方便 所以花点时间来解决这个问题 一开始是想找vim如何支持中文的方法 网络上的各
  • Springboot Maven显示缺少org.junit.jupiter.api

    原因 spring boot 2 2 之前使用的是 Junit4 而后续的使用的是Junit5 导致缺少包 解决方法 导入包
  • C语言-多选题

    C语言多选题 1 若有字符串char string和缓冲区char buf MAX LEN string非空 并且缓冲区长度MAX LEN大于string的长度 则将字符串string复制到缓冲区buf 下列做法正确的是 AB A spri
  • CentOS 7查看磁盘空间

    CentOS如何查看硬盘大小 CentOS是一种基于Linux的操作系统 主要用于服务器端应用 在服务器管理中 硬盘大小是一个非常重要的指标 查看硬盘大小可以帮助系统管理员有效地管理硬盘空间和避免硬盘满了的情况 方法一 使用df命令 df命
  • Unity 用脚本操作常用UI控件(上)

    控件介绍 在界面系统的术语中 将一个具有独立状态 外观和操作的对象称为控件 例如 常用的交互控件有按钮 输入框 滑动条等 常见的非交互式控件有文本标签 图片等 Unity采用了父子物体和组件的设计思想 其每个界面控件 往往也是由游戏物体挂载
  • 虚拟内存的最大容量与实际容量区别

    虚拟内存的最大容量与实际容量区别 1 概念介绍 虚拟内存的最大容量是计算机的地址结构 CPU寻址范围决定的 虚拟内存的实际容量是内存与外存之和 CPU寻址范围 两者的最小值 2 例题介绍 某计算机的地址结构是64位 按字节编址 内存大小51
  • 找准边界,吃定安全

    潜在的网络威胁 网络安全挑战层出不穷 如何确保网络安全 山石云 景赋能中小企业安全运营 让安全更有效 找准边界 吃定安全 往期文章 从访问控制谈起 再看零信任模型 威胁情报加持 泛边界下的全局主动防御体系如何着手 流量剧增 看山石网科如何打
  • UWB与蓝牙AOA定位技术简要对比

    1 UWB基本原理 UWB 超宽带技术 是基于IEEE802 15 4a z标准的利用纳秒级窄脉冲进行数据传输的无线通信技术 主要服务于微位置 micro location a person s placement to within a
  • java中如何将Long类型转为Integer类型

    注意不能直接在前面加个 int 而是 将Long型转换为int型 这里的Long型是包装类型 Long a 10 int b a intValue 即long intValue
  • Hx711调试过程

    1 体重板子最开始出现的问题 无法下载程序 指示灯不亮 解决办法 检查电源复位晶振 发现晶振还有 boot键坏了 2 问题 下载进程序以后 板子通过串口发到电脑上的数据不变 解决办法 先是查了关于HX711的各种资料 了解到 HX711芯片
  • pycharm内存不足时如何修改设置?

    Help gt Find Action gt type VM Options gt Click Edit Custom VM Options Pycharm 2016 2 will open the appropriate vmoption
  • MFC中操作Word文档

    首先我们需要导入word类库 电脑上需要安装了word 左击项目 点击类向导 添加类 C 选择类型库中的MFC类 本文章案例可点击下载 然后选择文件 位置选择从office安装目录中找到MSWORD OLB文件 然后点击 gt gt 添加所
  • 源码探索-ArrayList

    ArrayList 继承与实现关系 数组的相关属性 ArrayList底层是一个Object 数组 既然是数组 那么底层的工具类大多是会用到Arrays工具类去实现 函数探索 来看看构造函数 有三个构造函数 分别对应不同的生成内容 来看看添
  • linux 2.6.30 内核编译 提示 ‘make[1]: *** [arch/x86/vdso/vdso.so.dbg] Error 1’ 错误

    linux 2 6 30 编译出现如下错误 解决方案 打开 linux 2 6 30 arch x86 vdso Makefile 文件 1 修改28行 将 m elf x86 64 修改为 m64 2 修改72行 将 m elf i386
  • 语音识别学习记录 [再谈频率混叠(定量分析、离散采样后频谱的周期延拓)]

    前几天在语音识别学习记录 传说中的频率混叠和Nyquist定理 定性理解 中简单理解了一下频率混叠的原因 但是也发现了很多不明白的问题 1 为什么信号经过傅里叶变换后在频域是关于y轴对称的 这个问题的回答已经写在语音识别学习记录 信号经傅里
  • vue的指令

    Vue 的指令 一 Vue 的指令 1 指令的概念 指令 Directives 是 vue 为开发者提供的模板语法 用于辅助开发者渲染页面的基本结构 vue 中的指令按照不同的用途可以分为如下 6 大类 内容渲染指令 属性绑定指令 事件绑定
  • SQL 查询指定行数的数据。

    今天遇到一个关于 查询指定行数的数据 的sql查询语句问题 突然发现以前没怎么接触过 刚才想起来了 赶紧看了下文档 又上网搜了下 有了下面的东西 不知道有没有什么地方不对 oracle 先看一下文档中关于any和all的例子 很不错噢 An
  • Pytorch 深度强化学习模型训练速度慢

    最近一直在用Pytorch来训练深度强化学习模型 但是速度一直很慢 Gpu利用率也很低 一 起初开始在训练参数 batch size 200 graph size 40 epoch size 100000 训练速度一个epoch要4h 人麻