代码中存在累加loss,但每步的loss没加item()。

pytorch中,.item()方法 是得到一个元素张量里面的元素值
具体就是 用于将一个零维张量转换成浮点数,比如计算loss,accuracy的值
就比如:
loss = (y_pred - y).pow(2).sum()
print(loss.item())

for epoch in range(100):index=np.arange(train_sample.shape[0])np.random.shuffle(index)train_set=train_sample[index].tolist()model.train()loss,s=0,0for s in tqdm(range(0,train_sample.shape[0],batch_size)):if s+batch_size>train_sample.shape[0]:breakbatch_loss=model(train_set[s:s+batch_size])optimizer.zero_grad()batch_loss.backward()optimizer.step()# 会导致内存一直增加,需改为loss+=batch_loss.item()loss+=batch_losss+=batch_sizeloss/=total_batchprint(epoch,loss)if (epoch+1) % 10 ==0:model.eval()model.save_embedding(epoch)

以上代码会导致内存占用越来越大,解决的方法是:loss+=batch_loss.item()。值得注意的是,要复现内存越来越大的问题,模型中需要切换model.train() 和 model.eval(),train_loss以及eval_loss的作用是保存模型的平均误差(这里是累积误差),保存到tensorboard中。

解决pytorch训练的过程中内存一直增加的问题相关推荐

  1. python吃显卡还是内存不足_解决pytorch GPU 计算过程中出现内存耗尽的问题

    Pytorch GPU运算过程中会出现:"cuda runtime error(2): out of memory"这样的错误.通常,这种错误是由于在循环中使用全局变量当做累加器, ...

  2. antimalware service executable占用内存_解决 vue 项目运行过程中内存泄漏问题

    vue-cli3.0 内存溢出 JavaScript heap out of memory vue-cli3.0构建的项目,开发过程中,可能会遇到内存溢出的情况,改动一点代码,代码编译,进程就会断掉, ...

  3. python吃显卡还是内存不足_解决Pytorch 训练与测试时爆显存(out of memory)的问题

    Pytorch 训练时有时候会因为加载的东西过多而爆显存,有些时候这种情况还可以使用cuda的清理技术进行修整,当然如果模型实在太大,那也没办法. 使用torch.cuda.empty_cache() ...

  4. 的训练过程_指外翻的人在训练的过程中,要不要拉伸收肌?

    大家好 这里是诺亚第运动康复学院 第55讲?指外翻的人在训练的过程中,要不要拉伸?收肌? 现代人由于长期久坐 穿鞋穿袜把脚保护地太好 再加上体重越来越重 导致横弓纵弓塌陷的人越来越多 横弓一塌陷 横头 ...

  5. cp 过程中目录突然挂了_怎么解决管材激光切割机切管过程中出现的过烧及挂渣...

    近年来,随着激光切割机的发展,不仅被用于切割平面板材,而且被应用于切割管材,我们称之为"管材激光切割机".那么管材激光切割机用于切割管材时是否会出现问题呢,是的,确实出现了问题. ...

  6. MSComm控件过程中内存溢出和GetOneDimSize出错的问题

    MSComm控件过程中内存溢出和GetOneDimSize出错的问题 现在做的一个项目需要实现上位机和单片机的串口通信,为了方便,使用了MSComm控 件,但写程序时在处理接收数据遇到了问题,程序可以 ...

  7. 解决爬取网站过程中遇到的HTTP Error 302错误和中文乱码问题

    解决爬取网站过程中遇到的HTTP Error 302错误和中文乱码问题 参考文章: (1)解决爬取网站过程中遇到的HTTP Error 302错误和中文乱码问题 (2)https://www.cnbl ...

  8. 解决Android Studio安装过程中“SDK tools directory is missing”的问题

    解决Android Studio安装过程中"SDK tools directory is missing"的问题 参考文章: (1)解决Android Studio安装过程中&qu ...

  9. 解决使用MSComm控件过程中内存溢出的问题

    现在做的一个项目需要实现上位机和单片机的串口通信,为了方便,使用了MSComm控件,但写程序时在处理接收数据遇到了问题,程序可以编译通过,但运行的过程中,程序只要接收到串口发来的数据,就会弹出内存溢出 ...

最新文章

  1. Memory Information on Windows Mobile(续)
  2. 0代码就能做Python数据分析,这个Jupyter插件,用起来就像Excel一样简单
  3. VMware 如何通过现有虚拟机克隆新的虚拟机
  4. Ubuntu系统配置JDK环境变量
  5. 学习java第一步_Spring Boot 学习第一步(搭建初步环境)
  6. c#象棋程序_C ++程序确定象棋方块的颜色
  7. 使用 Google gflags 简化命令行参数处理
  8. idea类前面有个j_idea中所有Java类标识变成一个J
  9. lpsolve java_如何使用LpSolve在R中设置线性编程优化?
  10. 解决微信浏览器无法使用reload()刷新页面
  11. 订阅发布延时_Redis实时队列和延时队列的php实现
  12. 人工鱼群算法Matlab实现
  13. 快捷餐饮之店家后台系统管理实现
  14. 工信部:未来三年我国处于5G发展导入期,要适度超前建设
  15. MFC ON_NOTIFY_EX消息是干什么用的?
  16. Intent之对象传递(Parcelable传递对象和对象集合)
  17. console.log(console.log) = ?
  18. Carthage安装使用
  19. 通信领域当前的主流技术及其社会需求调查报告
  20. SpringBoot实现SpringTask调度任务---实现间隔调度与CRON调度处理

热门文章

  1. 自定义标签之 带Body的标签库
  2. .NET 某电商交易平台Web站 CPU爆高分析
  3. SpringCloud Alibaba Sentinel 项目基础环境搭建
  4. Elasticsearch(三) 使用kibana 操作ES
  5. elasticsearch集群选举源码解析
  6. 台式计算机睡眠了怎么唤醒,台式电脑睡眠了怎么唤醒
  7. nginx自定义日志
  8. centos6.5 python2.6.6升级到python2.7.15
  9. 小程序开发工具不显示tobar图标
  10. Stopping ADB server failed(code -1)