グラフおよび属性ごとにランナーのインスタンスを作成するファクトリ関数です。
使用法:
auto graph = xir::Graph::deserialize(xmodel_file);
auto attrs = xir::Attrs::create();
auto runner = vitis::ai::GraphRunner::create_graph_runner(graph.get(), attrs.get());
auto input_tensor_buffers = runner->get_inputs();
グラフ ランナーの例
サンプル コード:
// The way to create graph runner and the APIs usage of runner are shown below.
auto graph = xir::Graph::deserialize(xmodel_file);
auto attrs = xir::Attrs::create();
auto runner = vitis::ai::GraphRunner::create_graph_runner(graph.get(), attrs.get());
// get input and output tensor buffers
auto input_tensor_buffers = runner->get_inputs();
auto output_tensor_buffers = runner->get_outputs();
// sync input tensor buffers
for (auto& input : input_tensor_buffers) { input->sync_for_write(0, input->get_tensor()->get_data_size() / input->get_tensor()->get_shape()[0]);
}
// run graph runner
auto v = runner->execute_async(input_tensor_buffers, output_tensor_buffers);
auto status = runner->wait((int)v.first, 1000000000);
// sync output tensor buffers
for (auto& output : output_tensor_buffers) { output->sync_for_read(0, output->get_tensor()->get_data_size() / output->get_tensor()->get_shape()[0]);
}
プロトタイプ
std::unique_ptr< vart::RunnerExt > create_graph_runner(const xir::Graph *graph, xir::Attrs *attrs);
パラメーター
次の表に、create_graph_runner
関数の引数を示します。
タイプ | メンバー | 説明 |
---|---|---|
const xir::Graph * | graph | XIR グラフ |
xir::Attrs * | attrs | XIR attrs オブジェクト。このオブジェクトは同じグラフ上のすべてのランナーに共有されます。 |