script_nndata_example.cpp
Go to the documentation of this file.
1 #include <iostream>
2 
3 // Includes common necessary includes for development using depthai library
4 #include "depthai/depthai.hpp"
5 
6 int main() {
7  using namespace std;
8 
9  // Start defining a pipeline
10  dai::Pipeline pipeline;
11 
12  // Script node
13  auto script = pipeline.create<dai::node::Script>();
14  script->setScript(R"(
15  buf = NNData(150)
16  buf.setLayer("fp16", [1.0, 1.2, 3.9, 5.5])
17  buf.setLayer("uint8", [6, 9, 4, 2, 0])
18  node.info("Names of layers: " + str(buf.getAllLayerNames()))
19  node.io['host'].send(buf)
20  )");
21 
22  // XLinkOut
23  auto xout = pipeline.create<dai::node::XLinkOut>();
24  xout->setStreamName("host");
25  script->outputs["host"].link(xout->input);
26 
27  // Connect to device with pipeline
28  dai::Device device(pipeline);
29 
32 
33  auto nndata = device.getOutputQueue("host")->get<dai::NNData>();
34 
35  std::cout << "NNData size: " << nndata->getData().size() << std::endl;
36 
37  std::cout << "FP16 values: ";
38  for(auto val : nndata->getLayerFp16("fp16")) {
39  std::cout << to_string(val) + " ";
40  }
41  std::cout << std::endl;
42 
43  std::cout << "UINT8 values: ";
44  for(auto val : nndata->getLayerUInt8("uint8")) {
45  std::cout << to_string(val) + " ";
46  }
47  std::cout << std::endl;
48  return 0;
49 }
dai::node::XLinkOut
XLinkOut node. Sends messages over XLink.
Definition: XLinkOut.hpp:14
dai::Pipeline
Represents the pipeline, set of nodes and connections between them.
Definition: Pipeline.hpp:100
dai::NNData
Definition: NNData.hpp:16
dai::Buffer::getData
std::vector< std::uint8_t > & getData() const
Get non-owning reference to internal buffer.
Definition: Buffer.cpp:13
dai::DeviceBase::setLogLevel
void setLogLevel(LogLevel level)
Definition: DeviceBase.cpp:1196
dai::DeviceBase::setLogOutputLevel
void setLogOutputLevel(LogLevel level)
Definition: DeviceBase.cpp:1232
dai::Device::getOutputQueue
std::shared_ptr< DataOutputQueue > getOutputQueue(const std::string &name)
Definition: Device.cpp:86
depthai.hpp
dai::node::Script::setScript
void setScript(const std::string &script, const std::string &name="")
Definition: Script.cpp:32
dai::Pipeline::create
std::shared_ptr< N > create()
Definition: Pipeline.hpp:145
dai::node::Script
Definition: Script.hpp:15
nanorpc::core::exception::to_string
std::string to_string(std::exception const &e)
Definition: exception.h:46
dai::LogLevel::WARN
@ WARN
dai::Device
Definition: Device.hpp:21
std
Definition: Node.hpp:366
dai::node::XLinkOut::setStreamName
void setStreamName(const std::string &name)
Definition: XLinkOut.cpp:13
main
int main()
Definition: script_nndata_example.cpp:6


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19