Повторное использование скомпилированных функций Theano

Предположим, я реализовал следующую функцию в Theano:

import theano.tensor as T
from theano import function
x = T.dscalar('x')
y = T.dscalar('y')
z = x + y
f = function([x, y], z)

Когда я пытаюсь запустить его, создается график вычислений, функция оптимизируется и компилируется.

Как я могу повторно использовать этот скомпилированный кусок кода из скрипта Python и / или приложения C ++?

РЕДАКТИРОВАТЬ:
Цель состоит в том, чтобы создать сеть глубокого обучения и повторно использовать ее в конечном приложении C ++.

8

Решение

В настоящее время это невозможно. Есть пользователь, который изменил Theano, чтобы разрешить функцию Theano, но во время удаления мы уже повторно оптимизировали график.

Существует запрос на извлечение, который позволяет Theano генерировать библиотеку C ++. Затем пользователь может сам скомпилировать его и использовать как обычную библиотеку C ++. Библиотека ссылается на библиотеку Python и требует установки numpy. Но это не готово для широкого использования.

Какова ваша цель? Чтобы сэкономить на времени компиляции? Если это так, Theano уже кеширует модуль c ++, который он компилирует, поэтому в следующий раз, когда он будет повторно использован, компиляция будет быстрее. Но для большого графика этап оптимизации всегда повторяется, как сказано выше, и это может занять значительное время.

Так какова ваша цель?

Это то, над чем мы работаем. Убедитесь, что вы используете последнюю версию Theano (0.6), поскольку она компилируется быстрее. Версия для разработки также немного быстрее.

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]