Поиск…


замечания

Пользователь 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.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow