神经网络了训练时候报 MemoryError,在线请教 - V2EX
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
suifengingo

神经网络了训练时候报 MemoryError,在线请教

  •  
  •   suifengingo Dec 14, 2019 5306 views
    This topic created in 2362 days ago, the information mentioned may be changed or developed.

    在做图像分类,上千类图像,训练神经网络的时候,程序报错 data = np.array(data, dtype="float") / 255.0 MemoryError (补充:本人已经测试,在选用比较少类别图像的时候,该代码是可以成功运行并能生成训练出的模型文件,但是扩展到上千类之后就报 MemoryError,之前网上搜了相关的错误,有的说是数据增强的原因,可是取消在线数据增强之后,仍然报这个错误,百思不得其解,望能得到高手大佬们的指点帮助,在此小生先谢谢了!

    16 replies    2019-12-15 21:35:26 +08:00
    malusama
        1
    malusama  
       Dec 14, 2019
    上 64 位 或者手动 gc
    suifengingo
        2
    suifengingo  
    OP
       Dec 14, 2019
    @malusama 我用的是 64 位的机器,内存 32G...不知您所说的手动 gc 是什么意思呢
    chempotato
        3
    chempotato  
       Dec 14, 2019 via Android
    gc 内存回收啊
    lspvic
        4
    lspvic  
       Dec 14, 2019 via Android
    减小 batch_size
    szxczyc
        5
    szxczyc  
       Dec 14, 2019 via iPhone
    @lspvic #4 变小了效果会变差的
    script> (adsbygoogle = window.adsbygoogle || []).push({});
    nasmatic
        6
    nasmatic  
       Dec 14, 2019 via Android
    @szxczyc 其实还得看实际场景,如果减小了练出来的模型满足需求就行
    helloworld000
        7
    helloworld000  
       Dec 14, 2019
    1. 减少 batch size
    2. quantlization (最简单的,把 tensor 默认的为 float64,改成 float16 )
    3. 上 cluster
    mayfly233
        8
    mayfly233  
       Dec 15, 2019
    减少 batch size 再做 batch accumulation 呗,不就一样了

    或者就用 apex fp16,立竿见影,不过看框架兼容
    lonelygo
        9
    lonelygo  
       Dec 15, 2019
    几张卡?加起来都多大内存?
    减小 batch_size,从 2 开始吧,要是=2 都不行,只能考虑上 cluster 了。
    还有就是降到半精度试试看
    或者,把主干网换一个不太深的。
    suifengingo
        10
    suifengingo  
    OP
       Dec 15, 2019
    谢谢大佬们的热心解答,我再去按照大佬们说的试试看
    laminux29
        11
    laminux29  
       Dec 15, 2019
    用 SSD 做虚拟内存。
    tfdetang
        12
    tfdetang  
       Dec 15, 2019
    你这句报错是在 input 输入的时候就报错了? 所以数据生成部分是怎么写的? 可以试试 tf.data
    dick20cm
        13
    dick20cm  
       Dec 15, 2019 via Android
    兄弟,别搞这个了,你不适合,真心劝退
    rpman
        14
    rpman  
       Dec 15, 2019 via iPhone
    内存不够吧。
    suifengingo
        15
    suifengingo  
    OP
       Dec 15, 2019
    @mayfly233 请问下如何加入 batch accumulation ?虚心求教
    mayfly233
        16
    mayfly233  
       Dec 15, 2019
    第一个 batch 计算完别更新梯度,算完第二个 batch 再合并起来更新梯度,不就相当于累积 batch size x 2 了
    About     Help     Advertise     Blog     API     FAQ     Solana     5800 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 145ms UTC 01:41 PVG 09:41 LAX 18:41 JFK 21:41
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86