#python #c #tensorflow #deep-learning
Вопрос:
Я обучил некоторые модели классификации с помощью tensorflow 2.4, и теперь я хочу использовать эти обученные модели в проекте на c . Я проделал аналогичную работу с помощью библиотеки tkDNN(которая используется для увеличения кадра в секунду (кадров в секунду)), но в этом случае я не хочу использовать tkDNN, потому что мне плевать на fps. В приведенном ниже коде я использовал вес обученного йоло-крошечного, который является фиксированной точкой по tkDNN. Существует ли какая-либо библиотека для подачи весов, подобных этому коду, для использования dnn в c ?
int main()
{
int n_classes=3;
const char * net = "/home/tkDNN/build/yolo_tiny_3l_fp16.rt";
// instantiate detector
tk::dnn::Yolo3Detection yolo;
tk::dnn::DetectionNN *detNN;
detNN = amp;yolo;
int n_batch = 2;
detNN->init(net, n_classes, n_batch);
bool g;
g = true;
cv::VideoCapture cap(0);
if(!cap.isOpened())
g = false;
else
std::cout<<"camera startedn";
...
Комментарии:
1. Вы, вероятно, захотите использовать что-то вроде ONNX для экспорта вашей модели из python. В ONNX есть среда выполнения C , которая затем может загрузить вашу модель и выполнить вывод.
2. Спасибо, что поделились своими знаниями @Wacov. Не могли бы вы, пожалуйста, предоставить ссылку на пример по этому поводу? Я искал, но не нашел четкой концепции или примера по этому поводу.
3.На самом деле я сам этого не делал, но вот с чего бы я начал: github.com/onnx/tensorflow-onnx github.com/microsoft/onnxruntime Я думаю, суть этого в том, что вы экспортируете файл .onnx, затем загружаете его и используете в C с помощью onnxruntime.
4. Большое вам спасибо @Wacov. Кажется, это помогает. Я хочу проверить это сейчас.