Как я могу начать писать код для своего слоя?

Я видел, что исследователи добавляют некоторые функции к исходной версии Caffe и используют эти уровни и функции в соответствии с тем, что им нужно, а затем эти версии передаются через Github. Если не ошибаюсь, есть два пути: 1) путем перекомпиляции Caffe после добавления версий слоев c++ и Cuda. 2) написать код Python для функциональности и вызвать его как уровень Python в Caffe.

Я хочу добавить новый слой в Caffe на основе моей исследовательской задачи. Я действительно не знаю, с какой точки я должен начать писать новый слой и какие шаги я должен рассмотреть.

Мои вопросы:

1) Есть ли какая-либо документация или какие-либо учебные материалы, которые я могу использовать для написания слоя?

2) Какой из вышеперечисленных способов добавления нового слоя предпочтительнее?

Я очень ценю любую помощь и руководство

Большое спасибо


person S.EB    schedule 11.10.2017    source источник


Ответы (1)


В исследовательских целях, чтобы «поиграться», обычно удобнее написать слой Python: избавляет вас от суеты компиляции и т. д.
Вы можете найти краткое руководство по "Python" слою здесь.

С другой стороны, если вы хотите повысить производительность, вам следует написать собственный код C++ для своего слоя.
Вы можете найти краткое объяснение этого здесь.

person Shai    schedule 11.10.2017
comment
Большое спасибо за ваше руководство - person S.EB; 13.10.2017