Загрузка предварительно обученной модели тензорного потока в C API

#c #c #tensorflow #conv-neural-network #pre-trained-model

#c #c #tensorflow #conv-нейронная сеть #предварительно обученная модель

Вопрос:

Как я могу загрузить предварительно обученную модель (например, coco) в Tensorflow C API?

Спасибо!

Комментарии:

1. Вы нашли решение?

Ответ №1:

Прежде всего, получите папку с предварительно обученной моделью, которую вы хотите. Вы можете сохранить ее как модель tensorflow с помощью python, см.: https://www.tensorflow.org/tutorials/keras/save_and_load

Во-вторых, если вы согласны с использованием динамической библиотеки, я бы предложил использовать cppflow: https://github.com/serizba/cppflow

Я предлагаю следовать их руководству по установке cppflow и C-API Tensorflow здесь: https://serizba.github.io/cppflow/installation.html

У вас есть несколько примеров того, как загружать и запускать модель в их документации, но вот короткий фрагмент:

#включить #включить «cppflow/cppflow.h»

 int main() {

    auto input = cppflow::decode_jpeg(cppflow::read_file(std::string("../my_cat.jpg")));
    input = cppflow::cast(input, TF_UINT8, TF_FLOAT);
    input = cppflow::expand_dims(input, 0);
    cppflow::model model("../model");
    auto output = model(input);

    std::cout << "It's a tiger cat: " << cppflow::arg_max(output, 1) << std::endl;

    return 0;
}
  

Если вам нужно использовать статическую библиотеку, я бы предложил использовать Tensorflow Lite:

https://www.tensorflow.org/lite

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite