Учтите, что я уже обучил модель, которая сохраняется с помощью tf.train.Saver()
. Теперь я хотел бы использовать модель в производственной среде, которая находится в C #. Я уже смог использовать TensorFlowSharp и загрузить (что описывается как небольшой взлом здесь ) модель с использованием тензоров Saver в TensorFlowSharp и выполнить ее хорошо.
В пакетной оценке я получаю быстрые и вполне ожидаемые результаты производительности для каждого случая, которые составляют 10-20 микросекунд. Проблема заключается в том, что в производственной среде модель должна прогнозировать выборку за выборкой (онлайн-использование). При вызове прогнозирования для одного вектора я получаю среднее время выполнения около 1 миллисекунды, что намного медленнее.
При сравнении с моделями CNTK , которые дают время выполнения оценки в микросекундах даже для одиночных вызовов, это выглядит весьма прискорбно.
Я обвиняю в вызове session.GetRunner (). Run (), каждый раз передавая новый ввод. Я хотел бы спросить, есть ли какой-нибудь способ, как выполнить / оценить график Tensorflow в такой среде самым быстрым способом, учитывая, что я не знаю вводимых данных (так быстро, онлайн-оценка). Эта проблема связана только с оболочкой C #? Поможет ли мне использовать API C / C ++? Или это проблема в вызовах сессионного участника?
Я скомпилировал двоичные файлы, а также скомпилировал для себя TFSharp с разрешенным небезопасным кодом.
Спасибо