首页 > 系统相关 >pytorch训练模型内存溢出

pytorch训练模型内存溢出

时间:2023-12-14 10:32:04浏览次数:25  
标签:bert -- 溢出 pytorch lr 内存 crf main dir


1、训练模型命令命令

如下所示是训练命名实体识别的命令,在win10系统下执行

activate pytorch
cd F:\Python\github\ultralytics-main\submain\pytorch_bert_bilstm_crf_ner-main
f:
python main.py --bert_dir="../model_hub/chinese-bert-wwm-ext/" --data_dir="./data/cner/" --data_name="cner" --model_name="bert" --log_dir="./logs/" --output_dir="./checkpoints/" --num_tags=33 --seed=123 --gpu_ids="0" --max_seq_len=150 --lr=3e-5 --crf_lr=3e-2 --other_lr=3e-4 --train_batch_size=32 --train_epochs=3 --eval_batch_size=32 --lstm_hidden=128 --num_layers=1 --use_lstm="False" --use_idcnn="True" --use_crf="True" --dropout_prob=0.3 --dropout=0.3

2、内存溢出

本机GPU是6G的,所需明显超出本机显存,如下图

pytorch训练模型内存溢出_人工智能

3、解决方法

尝试减少训练批次大小(train_batch_size)来减少GPU内存的使用。可以将train_batch_size的值从32减少到16或更小的值

activate pytorch
cd F:\Python\github\ultralytics-main\submain\pytorch_bert_bilstm_crf_ner-main
f:
python main.py --bert_dir="../model_hub/chinese-bert-wwm-ext/" --data_dir="./data/cner/" --data_name="cner" --model_name="bert" --log_dir="./logs/" --output_dir="./checkpoints/" --num_tags=33 --seed=123 --gpu_ids="0" --max_seq_len=150 --lr=3e-5 --crf_lr=3e-2 --other_lr=3e-4 --train_batch_size=16 --train_epochs=3 --eval_batch_size=32 --lstm_hidden=128 --num_layers=1 --use_lstm="False" --use_idcnn="True" --use_crf="True" --dropout_prob=0.3 --dropout=0.3

4、结果

可以开始训练了

pytorch训练模型内存溢出_python_02


标签:bert,--,溢出,pytorch,lr,内存,crf,main,dir
From: https://blog.51cto.com/u_14736907/8815118

相关文章

  • 内存堆栈结构
    参考:秒懂栈内存和堆内存(深入底层)(xjx100.cn)堆栈与堆(StackvsHeap):有什么区别?图文并茂拆解代码解析!-知乎(zhihu.com)学习CLRviaC#(二)-类型基础-CSDN博客我们都知道值类型存在“栈”中,引用类型存在“堆”中。这篇文章深入讨论下内存的栈和堆的结构。1.前言1.指针人......
  • Asp.net core Net6.0 Webapi 项目如何优雅地使用内存缓存
    前言缓存是提升程序性能必不可少的方法,Asp.netcore支持多级缓存配置,主要有客户端缓存、服务器端缓存,内存缓存和分布式缓存等。其中客户端缓和服务器端缓存在使用上都有比较大的限制,而内存缓和分布式缓存则比较灵活。内存缓存就是一种把缓存数据放到应用程序内存中的机制。本......
  • windbg 内存
    1!address!address 扩展显示目标进程或目标机使用的内存信息。这个学习起来比较简单:我们直接使用!address-?就可以找到它的使用说明:给个例子:0:001>!address-?!address-printsinformationontheentireaddressspace!address-?-p......
  • simpread-Ubuntu 扩容磁盘、扩容内存_ubuntu 扩容 the file system can not be resize
    原文地址blog.csdn.net参考:Ubuntu磁盘扩容及启动问题整理作者:一只青木呀发布时间:2020-12-0810:42:19网址:https://blog.csdn.net/weixin_45309916/article/details/110850358也可参照正点原子的:Ubuntu磁盘空间不足?一招轻松扩容Ubuntu磁盘扩容(简单亲测有效)Ubuntu......
  • CTFpwnAD世界pwnstack题解及栈溢出两种解法
    问题的出现这题我刚看到时差点没笑出来,但是尝试了一次之后我就笑不出来了。这题给了back_door后门函数,但是如果直接覆盖返回到后门函数起始位置会出现栈溢出问题。到这一步都没有出现问题,而继续ni的话就会卡住。基本上这里看到xmm0就是栈对其问题了。出现问题原因很简单,linux系统一......
  • 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M。返
    计算:所以我们要按照1M的上限来计算,假设每个单词都为16个字节,那么1M的内存可以处理多少个单词呢?1M=1024KB=1024*1024B。然后1M/16B=2^16个单词1G大概有多少个单词呢?有2^26个单词但是实际中远远不止这些,因为我们是按照最大单词长度算的。我们需要把这1G的单词分批处......
  • Redis内存分析工具-RDBtools安装&使用
    目录是什么安装安装Python(已安装忽略,低版本需要卸载重安)安装GCC(已安装忽略)安装rdbtools和python-lzf安装成功页面基础命令常用示例查找大key与处理导出CVS文件直连Redis服务查询单个key详情生成HTML图表更多用法见Help是什么Rdbtools提供了一组工具,可以帮助用户分析、导入和转换......
  • 基于DAMON的内存能回收 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/mm/damon/reclaim.htmlDAMON-basedReclamation(DAMON_RECLAIM)是一个静态内核模块,旨在用于在轻度内存压力下主动和轻量级地回收内存。它不旨在取代基于LRU列表的页面粒度回收,而是选择性地用于不同级别的内存压力和需求。何时......
  • C++基础 -5- 动态内存分配
    ———————动态内存分配——————— ......
  • 异构内存管理(HMM) 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/mm/hmm.html异构内存管理(HMM)HMM提供基础设施和辅助工具,将非常规内存(例如设备内存,如GPU板载内存)整合到常规内核路径中,其核心是为此专门设计的用于此类内存的structpage(请参见本文档的第5至7节)。HMM还提供了用于SVM(共享虚拟内存)的可选辅......