NeuralNetwork.cpp
Go to the documentation of this file.
2 
5 
6 namespace dai {
7 namespace node {
8 
9 NeuralNetwork::NeuralNetwork(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId)
10  : NeuralNetwork(par, nodeId, std::make_unique<NeuralNetwork::Properties>()) {}
11 NeuralNetwork::NeuralNetwork(const std::shared_ptr<PipelineImpl>& par, int64_t nodeId, std::unique_ptr<Properties> props)
12  : NodeCRTP<Node, NeuralNetwork, NeuralNetworkProperties>(par, nodeId, std::move(props)),
13  inputs("inputs", Input(*this, "", Input::Type::SReceiver, false, 1, true, {{DatatypeEnum::Buffer, true}})),
14  passthroughs("passthroughs", Output(*this, "", Output::Type::MSender, {{DatatypeEnum::Buffer, true}})) {
15  setInputRefs({&input});
16  setOutputRefs({&out, &passthrough});
17  setInputMapRefs({&inputs});
18  setOutputMapRefs({&passthroughs});
19 }
20 
23 }
24 
25 // Specify local filesystem path to load the blob (which gets loaded at loadAssets)
27  setBlob(OpenVINO::Blob(path));
28 }
29 
30 void NeuralNetwork::setBlob(const dai::Path& path) {
31  setBlobPath(path);
32 }
33 
36  auto asset = assetManager.set("__blob", std::move(blob.data));
37  properties.blobUri = asset->getRelativeUri();
38  properties.blobSize = static_cast<uint32_t>(asset->data.size());
39 }
40 
41 void NeuralNetwork::setNumPoolFrames(int numFrames) {
42  properties.numFrames = numFrames;
43 }
44 
46  properties.numThreads = numThreads;
47 }
48 
49 void NeuralNetwork::setNumNCEPerInferenceThread(int numNCEPerThread) {
50  properties.numNCEPerThread = numNCEPerThread;
51 }
52 
54  return properties.numThreads;
55 }
56 
57 } // namespace node
58 } // namespace dai
dai::NodeCRTP< Node, NeuralNetwork, NeuralNetworkProperties >::properties
Properties & properties
Underlying properties.
Definition: Node.hpp:346
dai::node::NeuralNetwork::setBlob
void setBlob(OpenVINO::Blob blob)
Definition: NeuralNetwork.cpp:34
dai::OpenVINO::Blob::version
Version version
OpenVINO version.
Definition: OpenVINO.hpp:38
Pipeline.hpp
dai::OpenVINO::Blob
OpenVINO Blob.
Definition: OpenVINO.hpp:23
dai::node::NeuralNetwork::getRequiredOpenVINOVersion
tl::optional< OpenVINO::Version > getRequiredOpenVINOVersion() override
Definition: NeuralNetwork.cpp:21
dai::Node
Abstract Node.
Definition: Node.hpp:29
dai::node::NeuralNetwork::setNumPoolFrames
void setNumPoolFrames(int numFrames)
Definition: NeuralNetwork.cpp:41
dai::DatatypeEnum::Buffer
@ Buffer
dai::node::NeuralNetwork
NeuralNetwork node. Runs a neural inference on input data.
Definition: NeuralNetwork.hpp:18
dai::Node::assetManager
AssetManager assetManager
Definition: Node.hpp:291
dai::NeuralNetworkProperties::blobUri
std::string blobUri
Definition: NeuralNetworkProperties.hpp:19
dai::NodeCRTP
Definition: Node.hpp:342
dai::bootloader::Type
Type
Definition: Type.hpp:11
dai::node::NeuralNetwork::setNumNCEPerInferenceThread
void setNumNCEPerInferenceThread(int numNCEPerThread)
Definition: NeuralNetwork.cpp:49
dai::OpenVINO::Blob::data
std::vector< uint8_t > data
Blob data.
Definition: OpenVINO.hpp:50
NeuralNetwork.hpp
dai::AssetManager::set
std::shared_ptr< dai::Asset > set(Asset asset)
Definition: AssetManager.cpp:15
dai::Node::Input
Definition: Node.hpp:147
dai::node::NeuralNetwork::setBlobPath
void setBlobPath(const dai::Path &path)
Definition: NeuralNetwork.cpp:26
dai::NeuralNetworkProperties::numThreads
std::uint32_t numThreads
Definition: NeuralNetworkProperties.hpp:27
BlobReader.hpp
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
dai::NeuralNetworkProperties::numFrames
std::uint32_t numFrames
Definition: NeuralNetworkProperties.hpp:23
tl::optional< OpenVINO::Version >
dai::NeuralNetworkProperties::blobSize
tl::optional< std::uint32_t > blobSize
Definition: NeuralNetworkProperties.hpp:15
dai::node::NeuralNetwork::setNumInferenceThreads
void setNumInferenceThreads(int numThreads)
Definition: NeuralNetwork.cpp:45
std
Definition: Node.hpp:366
dai::node::NeuralNetwork::NeuralNetwork
NeuralNetwork(const std::shared_ptr< PipelineImpl > &par, int64_t nodeId)
Definition: NeuralNetwork.cpp:9
dai::NeuralNetworkProperties
Definition: NeuralNetworkProperties.hpp:11
dai::NeuralNetworkProperties::numNCEPerThread
std::uint32_t numNCEPerThread
Definition: NeuralNetworkProperties.hpp:31
dai::node::NeuralNetwork::getNumInferenceThreads
int getNumInferenceThreads()
Definition: NeuralNetwork.cpp:53
dai::Path
Represents paths on a filesystem; accepts utf-8, Windows utf-16 wchar_t, or std::filesystem::path.
Definition: Path.hpp:27
dai
Definition: CameraExposureOffset.hpp:6
dai::node::NeuralNetwork::networkOpenvinoVersion
tl::optional< OpenVINO::Version > networkOpenvinoVersion
Definition: NeuralNetwork.hpp:24


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