Ускоренная функция глубокого обучения
Система координат 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