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

罗湖商城网站建设哪家服务周到软文推广平台有哪些

罗湖商城网站建设哪家服务周到,软文推广平台有哪些,做女性生活的网站,网上书城网站开发外文参考文献问题描述: 内存泄漏积累过多最终会导致内存溢出,当内存占用过大,进程会被killed掉。 解决过程: 在代码的运行阶段输出内存占用量,观察在哪一块存在内存剧烈增加或者显存异常变化的情况。但是在这个过程中要分级确认…

问题描述:

内存泄漏积累过多最终会导致内存溢出,当内存占用过大,进程会被killed掉。

解决过程:

在代码的运行阶段输出内存占用量,观察在哪一块存在内存剧烈增加或者显存异常变化的情况。但是在这个过程中要分级确认问题点,也即如果存在三个文件main.py、train.py、model.py。
在此种思路下,应该先在main.py中确定问题点,然后,从main.py中进入到train.py中,再次输出显存占用量,确定问题点在哪。随后,再从train.py中的问题点,进入到model.py中,再次确认。如果还有更深层次的调用,可以继续追溯下去。

import psutil
process = psutil.Process()
current_memory = process.memory_info().rss
print(f"0--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")

具体使用的代码

for epoch in range(start_epoch+1, args.epochs+1):process = psutil.Process()current_memory = process.memory_info().rssprint(f"0--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")count_step = (epoch-1)*len(train_loader)  print(f"1--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")mean_loss, lr = train_one_epoch(model, optimizer, train_loader, device, epoch, count_step,writer,lr_scheduler,print_freq=args.print_freq)print(f"2--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")val_info = evaluate_vgg(model, epoch, val_loader, device, writer, num_classes=num_classes)print(f"3--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")with open(results_file, "a") as f:# 记录每个epoch对应的train_loss、lr以及验证集各指标       train_info = f"[epoch: {epoch}]\n" \f"train_loss: {mean_loss:.4f}\n" \f"lr: {lr:.6f}\n"f.write(train_info + val_info + "\n\n")save_vgg_file = {"model": model.state_dict(),"optimizer": optimizer.state_dict(),#  "lr_scheduler": lr_scheduler.state_dict(),"epoch": epoch,"args": args}torch.save(save_vgg_file, 'checkpoints/fcn_model_Adam-StepLR_1e-2.pth')print(f"update checkpoints/fcn_model_Adam-StepLR_1e-2.pth")print(f"4--------------Current memory usage: {current_memory / (1024 ** 3):.4f} GB")

在这里插入图片描述
每个epoch训练完之后所占内存会不断增加,也就是说,每轮跑完之后会有冗余的数据一直在消耗内存。于是criterion、train_one_epoch、evaluate三个部分

criterion部分
Mem usage:5310 MiB在这里插入图片描述train_one_epoch部分
Mem usage:4439 MiB
在这里插入图片描述
evaluate部分
Mem usage:10644
在这里插入图片描述
在这里插入图片描述
evaluate部分可以看到,所占用内存突然增大,并且之后的代码也占用了大量内存,继续监控得知在下一个epoch中criterion部分占用内存也是16064MiB,由此推测出内存消耗在evaluate部分

解决办法:

删除变量数据在for循环外,把暂时不用的可视化代码注释掉,发现占用内存变化很小
在这里插入图片描述
在这里插入图片描述

解决pytorch训练时的显存占用递增的问题
Pytorch训练过程中,显存(内存)爆炸解决方法
Python代码优化工具——memory_profiler

http://www.wangmingla.cn/news/51094.html

相关文章:

  • 路飞和女帝做h的网站河北网站seo地址
  • 网站建设自建服务器宁波公司做网站
  • 国外校园网站建设分析全国免费发布广告信息平台
  • 白云商城型网站建设百度公司全称叫什么
  • 网站开发工具教程简单网页制作模板
  • 成都住建局官网蓉e办驻马店百度seo
  • 北京微网站建设设计服务引流最好的推广方法
  • 今天出京入京最新通知广州seo优化外包服务
  • 兰州网站优化服务seo的主要工作内容
  • 潍坊网站推广排名南昌seo排名
  • 望野原文及翻译网站关键词排名优化软件
  • 建设银行忘记密码网站北京网络seo推广公司
  • 医疗机构 网站备案元搜索引擎有哪些
  • 公司网站开发说明介绍网站推广平台有哪些
  • asp做的网站频繁报错 参数错误营销策略方案
  • 如何建设游戏网站发稿媒体平台
  • 做网站 域名不属于线上宣传渠道
  • 高端网站建设的小知识今日头条十大新闻最新
  • 个人网站备案填写seo推广软件怎样
  • 重庆餐饮网站设计友情链接网站
  • 重庆网站建设 快速建站晋城网站seo
  • 政府专题网站模板淘宝推广平台
  • 爬虫做网站相关教程网络推广员工资多少钱
  • 秦皇岛seo服务外包西安seo技术培训班
  • 衢州网站建设有限公司b站引流推广网站
  • 开花店做网站15个常见关键词
  • 做网站买服务器关键词优化报价推荐
  • 展览会建设网站平台的作用如何联系百度客服
  • 手机网站用什么软件seo常用优化技巧
  • 湖南企业建站系统平台seo排名的方法