Как определить узкое место памяти графического процессора в цепочке

У меня есть модель цепи, которая иногда дает сбой из-за cupy.cuda.memory.OutOfMemoryError. Поскольку точное размещение, где это происходит, зависит от размера элементов пакета, мне было интересно, есть ли способ определить узкие места памяти в модели цепочек?


person lforg37    schedule 11.06.2018    source источник


Ответы (1)


Вы можете сослаться на CupyMemoryProfileHook.

    Code example::
        from chainer.function_hooks import CupyMemoryProfileHook
        hook = CupyMemoryProfileHook()
        with hook:
            trainer.run()
        hook.print_report()
    Output example::
               FunctionName  UsedBytes  AcquiredBytes  Occurrence
             LinearFunction     5.16GB       179.98MB        3900
                       ReLU   991.82MB       458.97MB        2600
        SoftmaxCrossEntropy     7.71MB         5.08MB        1300
                   Accuracy   617.97KB       351.00KB         700
person corochann    schedule 11.06.2018