В последнее время я читал о памяти, используемой сверточными нейронными сетями (ConvNets). Во время обучения каждый сверточный слой имеет несколько параметров, необходимых для обратного распространения градиентов. Эти примечания к лекции предполагают, что в принципе эти параметры можно отбросить во время тестирования. Цитата из связанных заметок:
Обычно большинство активаций находятся на более ранних уровнях ConvNet (то есть на первых уровнях Conv). Они хранятся вокруг, потому что они необходимы для обратного распространения, но умная реализация, которая запускает ConvNet только во время тестирования, может в принципе уменьшить это на огромное количество, сохраняя только текущие активации на любом уровне и отбрасывая предыдущие активации на уровнях ниже .
Есть ли способ (используя TensorFlow) использовать эту "умную реализацию" для вывода больших пакетов? Есть ли какой-то флаг, который указывает, находится ли модель на этапе обучения? Или это уже обрабатывается автоматически в зависимости от того, вызывается ли функция оптимизатора?