Как определить узкое место памяти GPU в цепочке - PullRequest
0 голосов
/ 11 июня 2018

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

1 Ответ

0 голосов
/ 11 июня 2018

Вы можете сослаться 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
...