Ускоренная функция глубокого обучения
Система координат AcceleratedFunction хранит следы базовой функции
Повторное использование кэшированного трассировки зависит от входных параметров функции и выходов:
Для любого dlarray объект или структура dlarray входы объекта, трассировка зависит от размера, формата и базового типа данных dlarray. То есть ускоренная функция запускает новую трассировку для dlarray входы с размером, форматом или базовым типом данных, не содержащимися в кэше. Любой dlarray входы, различающиеся только значением в ранее кэшированную трассировку, не запускают новую трассировку.
Для любого dlnetwork входы, трассировка зависит от размера, формата и базового типа данных dlnetwork состояние и настраиваемые параметры. То есть ускоренная функция запускает новую трассировку для dlnetwork Входы с настраиваемыми параметрами или состоянием с размером, форматом и базовым типом данных, не содержащимися в кэше. Любой dlnetwork входы, различающиеся только значением состояния и настраиваемых параметров в ранее кэшированную трассировку, не запускают новую трассировку.
Для других типов входов трассировка зависит от значений входов. То есть ускоренная функция запускает новую трассировку для других типов входов со значением, не содержащимся в кэше. Любые другие входы, имеющие то же значение, что и ранее кэшированная трассировка, не запускают новую трассировку.
Трассировка зависит от количества выходов функции. То есть ускоренная функция запускает новую трассировку для вызовов функций с ранее не видимыми номерами выходных аргументов. Любые вызовы функций с таким же количеством выходных аргументов, как и ранее кэшированная трассировка, не запускают новую трассировку.
При необходимости программное обеспечение кэширует любые новые трассировки путем оценки базовой функции и кэширования полученного трассировки в AcceleratedFunction объект.
Возвращенный AcceleratedFunction объект кэширует следы вызовов к базовой функции и повторно использует результат кэширования, когда тот же входной шаблон повторяется.
Попробовать использовать dlaccelerate для вызовов функций, которые:
являются длительными
иметь dlarray объекты, структуры dlarray объекты, или dlnetwork объекты как входы
не имеют побочных эффектов, таких как запись в файлы или отображение выхода
Активируйте ускоренную функцию, так как вы бы активировали базовую функцию. Обратите внимание, что ускоренная функция не является указателем на функцию.
Примечание
При использовании dlfeval функция, программное обеспечение автоматически ускоряет forward и predict функции для dlnetwork вход. Если вы ускоряете функцию глубокого обучения, где большинство расчетов происходит в вызовах forward или predict функции для dlnetwork вход, тогда вы можете не увидеть улучшения во времени обучения.
Внимание
Система координат AcceleratedFunction объекту не известно об обновлениях базовой функции. Если вы измените функцию, связанную с ускоренной функцией, то очистите кэш с помощью clearCache функция объекта или альтернативно используйте команду clear functions.
Как создать AcceleratedFunction объект, использовать dlaccelerate функция.
clearCache | Очистка кэша трассировки функции ускоренного глубокого обучения |
clearCache | dlaccelerate | dlarray | dlfeval | dlgradient