caffe
Основные объекты Caffe - Solver, Net, Layer и Blob
Поиск…
замечания
Пользователь caffe отправляет инструкции для выполнения определенных операций для объектов caffe. Эти объекты взаимодействуют друг с другом на основе их технических характеристик и выполняют операцию (операции). Это основополагающая парадигма ООП.
Хотя существует множество типов объектов caffe (или классов C ++), для начального базового понимания мы фокусируемся на 4 важных предметах caffe. Наша цель на этом этапе - просто наблюдать взаимодействие между этими объектами на высоко абстрагированном уровне, где конкретные детали реализации и дизайна вымерены, и вместо этого сфокусировано на взгляде птицы на работу.
Основными объектами caffe являются:
- решающее устройство
- Сеть
- Слой
- капля
Очень краткое введение и взгляд с высоты птичьего полета на их роль в работе кофе представлены в кратких пунктах в разделе примеров.
После прочтения и получения базовой идеи о том, как взаимодействуют эти объекты caffe, каждый тип объекта можно подробно прочитать по выделенным темам.
Как эти объекты взаимодействуют друг с другом.
Пользователь хочет использовать caffe для обучения и тестирования CNN. Пользователь решает дизайн архитектуры CNN (например, количество слоев, количество фильтров и их детали и т. Д.). Пользователь также решает метод оптимизации для параметров обучения и обучения в случае, если обучение должно быть выполнено. Если операция выполнена с использованием простого ванильного теста, пользователь предварительно задает модель. Используя всю эту информацию, пользователь создает экземпляр объекта Solver и предоставляет объект Solver инструкции (которая решает операции (операции), такие как обучение и тестирование).
Решатель : этот объект можно рассматривать как объект, который контролирует обучение и тестирование CNN. Это фактический подрядчик, который получает CNN на процессоре и работает. Он специализируется на проведении конкретных оптимизаций, которые приводят к обучению CNN.
Net : Net можно рассматривать как специализированный объект, который представляет фактический CNN, над которым выполняются операции. Net поручает Solver фактически распределять память для CNN и создавать ее. Net также несет ответственность за предоставление инструкций, которые фактически приводят к переходу или обратному распространению, осуществляемому через CNN.
Layer : Это объект, который представляет определенный слой CNN. Таким образом, CNN состоит из слоев. Что касается caffe, объект Net создает экземпляр каждого типа « Layer », указанного в определении архитектуры, а также соединяет разные слои вместе. Конкретный уровень выполняет определенный набор операций (например, Max-Pooling, Min-Pooling, 2D Convolution и т. Д.),
Blob : данные проходят через CNN во время обучения и тестирования. Эти данные, помимо данных пользователя, также включают в себя несколько промежуточных вычислений, которые выполняются над CNN. Эти данные инкапсулируются в объект под названием Blob.