[{"data":1,"prerenderedAt":728},["ShallowReactive",2],{"node-red-\u002Fnode-red\u002Fflowfuse\u002Fai\u002Fonxx":3},{"id":4,"title":5,"body":6,"description":720,"extension":721,"meta":722,"navigation":723,"path":724,"seo":725,"stem":726,"__hash__":727},"nodeRed\u002Fnode-red\u002Fflowfuse\u002Fai\u002Fonxx.md","ONXX",{"type":7,"value":8,"toc":705},"minimark",[9,17,34,40,45,50,80,84,111,115,134,137,144,148,151,251,281,285,288,431,435,438,574,578,581,607,610,664,668,692,696,701],[10,11,13],"h1",{"id":12},"",[14,15],"binding",{"value":16},"meta.title",[18,19,20,21,25,26,29,30,33],"p",{},"The ",[22,23,24],"strong",{},"ONNX"," node allows you to perform AI inference directly in ",[22,27,28],{},"Node-RED"," using ",[22,31,32],{},"ONNX models",".\nIt can run a wide range of pre-trained or custom models, including image classification, object detection, and numeric prediction tasks.",[18,35,36,39],{},[22,37,38],{},"ONNX (Open Neural Network Exchange)"," is an open standard for representing machine learning models.\nWith this node, you can load an ONNX model and run predictions locally or on the edge without requiring a separate AI service.",[41,42,44],"h2",{"id":43},"inputs","Inputs",[46,47,49],"h3",{"id":48},"general","General",[51,52,53,64,70],"ul",{},[54,55,56,59,60],"li",{},[22,57,58],{},"Property:"," ",[61,62,63],"code",{},"input",[54,65,66,69],{},[22,67,68],{},"Type:"," object, buffer, or tensor",[54,71,72,75,76,79],{},[22,73,74],{},"Description:"," The input data to process. It can be an image, array, or tensor. See the ",[22,77,78],{},"Input Formats"," section below for supported structures.",[46,81,83],{"id":82},"model-selection","Model Selection",[51,85,86,93,98],{},[54,87,88,59,90],{},[22,89,58],{},[61,91,92],{},"model",[54,94,95,97],{},[22,96,68],{}," string",[54,99,100,102,103,106,107,110],{},[22,101,74],{}," Path to the ONNX model file. It can be a direct file path (for example, ",[61,104,105],{},"\u002Fdata\u002Fmodels\u002Fmodel.onnx",") or an environment variable (for example, ",[61,108,109],{},"${MODEL_PATH}",").",[41,112,114],{"id":113},"outputs","Outputs",[51,116,117,124,129],{},[54,118,119,59,121],{},[22,120,58],{},[61,122,123],{},"payload",[54,125,126,128],{},[22,127,68],{}," object or array",[54,130,131,133],{},[22,132,74],{}," Contains the model’s output after inference. Depending on the model, this may include predictions, probabilities, or other structured results.",[41,135,78],{"id":136},"input-formats",[18,138,139,140,143],{},"The input format depends on what your ONNX model expects.\nYou can check the model’s input names, types, and shapes by clicking the ",[22,141,142],{},"Model Info"," button in the node configuration panel.",[46,145,147],{"id":146},"_1-tensor-format","1. Tensor Format",[18,149,150],{},"Use this format when the model expects a single tensor input.",[152,153,157],"pre",{"className":154,"code":155,"language":156,"meta":12,"style":12},"language-json shiki shiki-themes github-light github-dark","{\n  \"data\": [0.0, 0.1, 0.2, ...],\n  \"type\": \"float32\",\n  \"dim\": [1, 3, 224, 224]\n}\n","json",[61,158,159,168,201,217,245],{"__ignoreMap":12},[160,161,164],"span",{"class":162,"line":163},"line",1,[160,165,167],{"class":166},"sVt8B","{\n",[160,169,171,175,178,181,184,187,189,192,194,198],{"class":162,"line":170},2,[160,172,174],{"class":173},"sj4cs","  \"data\"",[160,176,177],{"class":166},": [",[160,179,180],{"class":173},"0.0",[160,182,183],{"class":166},", ",[160,185,186],{"class":173},"0.1",[160,188,183],{"class":166},[160,190,191],{"class":173},"0.2",[160,193,183],{"class":166},[160,195,197],{"class":196},"s7hpK","...",[160,199,200],{"class":166},"],\n",[160,202,204,207,210,214],{"class":162,"line":203},3,[160,205,206],{"class":173},"  \"type\"",[160,208,209],{"class":166},": ",[160,211,213],{"class":212},"sZZnC","\"float32\"",[160,215,216],{"class":166},",\n",[160,218,220,223,225,228,230,233,235,238,240,242],{"class":162,"line":219},4,[160,221,222],{"class":173},"  \"dim\"",[160,224,177],{"class":166},[160,226,227],{"class":173},"1",[160,229,183],{"class":166},[160,231,232],{"class":173},"3",[160,234,183],{"class":166},[160,236,237],{"class":173},"224",[160,239,183],{"class":166},[160,241,237],{"class":173},[160,243,244],{"class":166},"]\n",[160,246,248],{"class":162,"line":247},5,[160,249,250],{"class":166},"}\n",[51,252,253,259,271],{},[54,254,255,258],{},[22,256,257],{},"data:"," Flat array of numerical values (for example, pixel data).",[54,260,261,264,265,183,268,110],{},[22,262,263],{},"type:"," Data type of the tensor (for example, ",[61,266,267],{},"float32",[61,269,270],{},"int8",[54,272,273,276,277,280],{},[22,274,275],{},"dim:"," Tensor dimensions in ",[61,278,279],{},"[batch_size, channels, height, width]"," format.",[46,282,284],{"id":283},"_2-array-of-tensors","2. Array of Tensors",[18,286,287],{},"Used when the model expects multiple input tensors.",[152,289,291],{"className":154,"code":290,"language":156,"meta":12,"style":12},"[\n  {\n    \"data\": [0.0, 0.1, ...],\n    \"type\": \"float32\",\n    \"dim\": [1, 3, 224, 224]\n  },\n  {\n    \"data\": [0, 1, 2, ...],\n    \"type\": \"int8\",\n    \"dim\": [1, 10]\n  }\n]\n",[61,292,293,298,303,322,333,356,362,367,392,404,420,426],{"__ignoreMap":12},[160,294,295],{"class":162,"line":163},[160,296,297],{"class":166},"[\n",[160,299,300],{"class":162,"line":170},[160,301,302],{"class":166},"  {\n",[160,304,305,308,310,312,314,316,318,320],{"class":162,"line":203},[160,306,307],{"class":173},"    \"data\"",[160,309,177],{"class":166},[160,311,180],{"class":173},[160,313,183],{"class":166},[160,315,186],{"class":173},[160,317,183],{"class":166},[160,319,197],{"class":196},[160,321,200],{"class":166},[160,323,324,327,329,331],{"class":162,"line":219},[160,325,326],{"class":173},"    \"type\"",[160,328,209],{"class":166},[160,330,213],{"class":212},[160,332,216],{"class":166},[160,334,335,338,340,342,344,346,348,350,352,354],{"class":162,"line":247},[160,336,337],{"class":173},"    \"dim\"",[160,339,177],{"class":166},[160,341,227],{"class":173},[160,343,183],{"class":166},[160,345,232],{"class":173},[160,347,183],{"class":166},[160,349,237],{"class":173},[160,351,183],{"class":166},[160,353,237],{"class":173},[160,355,244],{"class":166},[160,357,359],{"class":162,"line":358},6,[160,360,361],{"class":166},"  },\n",[160,363,365],{"class":162,"line":364},7,[160,366,302],{"class":166},[160,368,370,372,374,377,379,381,383,386,388,390],{"class":162,"line":369},8,[160,371,307],{"class":173},[160,373,177],{"class":166},[160,375,376],{"class":173},"0",[160,378,183],{"class":166},[160,380,227],{"class":173},[160,382,183],{"class":166},[160,384,385],{"class":173},"2",[160,387,183],{"class":166},[160,389,197],{"class":196},[160,391,200],{"class":166},[160,393,395,397,399,402],{"class":162,"line":394},9,[160,396,326],{"class":173},[160,398,209],{"class":166},[160,400,401],{"class":212},"\"int8\"",[160,403,216],{"class":166},[160,405,407,409,411,413,415,418],{"class":162,"line":406},10,[160,408,337],{"class":173},[160,410,177],{"class":166},[160,412,227],{"class":173},[160,414,183],{"class":166},[160,416,417],{"class":173},"10",[160,419,244],{"class":166},[160,421,423],{"class":162,"line":422},11,[160,424,425],{"class":166},"  }\n",[160,427,429],{"class":162,"line":428},12,[160,430,244],{"class":166},[46,432,434],{"id":433},"_3-named-tensor-properties","3. Named Tensor Properties",[18,436,437],{},"Used when the model defines multiple named input tensors.",[152,439,441],{"className":154,"code":440,"language":156,"meta":12,"style":12},"{\n  \"input_1\": {\n    \"data\": [0.0, 0.1, 0.2, ...],\n    \"type\": \"float32\",\n    \"dim\": [1, 3, 224, 224]\n  },\n  \"input_2\": {\n    \"data\": [0.0, 0.1, 0.2, ...],\n    \"type\": \"float32\",\n    \"dim\": [1, 10]\n  }\n}\n",[61,442,443,447,455,477,487,509,513,520,542,552,566,570],{"__ignoreMap":12},[160,444,445],{"class":162,"line":163},[160,446,167],{"class":166},[160,448,449,452],{"class":162,"line":170},[160,450,451],{"class":173},"  \"input_1\"",[160,453,454],{"class":166},": {\n",[160,456,457,459,461,463,465,467,469,471,473,475],{"class":162,"line":203},[160,458,307],{"class":173},[160,460,177],{"class":166},[160,462,180],{"class":173},[160,464,183],{"class":166},[160,466,186],{"class":173},[160,468,183],{"class":166},[160,470,191],{"class":173},[160,472,183],{"class":166},[160,474,197],{"class":196},[160,476,200],{"class":166},[160,478,479,481,483,485],{"class":162,"line":219},[160,480,326],{"class":173},[160,482,209],{"class":166},[160,484,213],{"class":212},[160,486,216],{"class":166},[160,488,489,491,493,495,497,499,501,503,505,507],{"class":162,"line":247},[160,490,337],{"class":173},[160,492,177],{"class":166},[160,494,227],{"class":173},[160,496,183],{"class":166},[160,498,232],{"class":173},[160,500,183],{"class":166},[160,502,237],{"class":173},[160,504,183],{"class":166},[160,506,237],{"class":173},[160,508,244],{"class":166},[160,510,511],{"class":162,"line":358},[160,512,361],{"class":166},[160,514,515,518],{"class":162,"line":364},[160,516,517],{"class":173},"  \"input_2\"",[160,519,454],{"class":166},[160,521,522,524,526,528,530,532,534,536,538,540],{"class":162,"line":369},[160,523,307],{"class":173},[160,525,177],{"class":166},[160,527,180],{"class":173},[160,529,183],{"class":166},[160,531,186],{"class":173},[160,533,183],{"class":166},[160,535,191],{"class":173},[160,537,183],{"class":166},[160,539,197],{"class":196},[160,541,200],{"class":166},[160,543,544,546,548,550],{"class":162,"line":394},[160,545,326],{"class":173},[160,547,209],{"class":166},[160,549,213],{"class":212},[160,551,216],{"class":166},[160,553,554,556,558,560,562,564],{"class":162,"line":406},[160,555,337],{"class":173},[160,557,177],{"class":166},[160,559,227],{"class":173},[160,561,183],{"class":166},[160,563,417],{"class":173},[160,565,244],{"class":166},[160,567,568],{"class":162,"line":422},[160,569,425],{"class":166},[160,571,572],{"class":162,"line":428},[160,573,250],{"class":166},[46,575,577],{"id":576},"_4-array-like-input","4. Array-like Input",[18,579,580],{},"If the model expects a single flat array, you can provide it directly:",[152,582,584],{"className":154,"code":583,"language":156,"meta":12,"style":12},"[0.0, 0.1, 0.2, ...]\n",[61,585,586],{"__ignoreMap":12},[160,587,588,591,593,595,597,599,601,603,605],{"class":162,"line":163},[160,589,590],{"class":166},"[",[160,592,180],{"class":173},[160,594,183],{"class":166},[160,596,186],{"class":173},[160,598,183],{"class":166},[160,600,191],{"class":173},[160,602,183],{"class":166},[160,604,197],{"class":196},[160,606,244],{"class":166},[18,608,609],{},"For batch inputs, use an array of arrays:",[152,611,613],{"className":154,"code":612,"language":156,"meta":12,"style":12},"[\n  [0.0, 0.1, 0.2, ...],\n  [0.0, 0.1, 0.2, ...]\n]\n",[61,614,615,619,640,660],{"__ignoreMap":12},[160,616,617],{"class":162,"line":163},[160,618,297],{"class":166},[160,620,621,624,626,628,630,632,634,636,638],{"class":162,"line":170},[160,622,623],{"class":166},"  [",[160,625,180],{"class":173},[160,627,183],{"class":166},[160,629,186],{"class":173},[160,631,183],{"class":166},[160,633,191],{"class":173},[160,635,183],{"class":166},[160,637,197],{"class":196},[160,639,200],{"class":166},[160,641,642,644,646,648,650,652,654,656,658],{"class":162,"line":203},[160,643,623],{"class":166},[160,645,180],{"class":173},[160,647,183],{"class":166},[160,649,186],{"class":173},[160,651,183],{"class":166},[160,653,191],{"class":173},[160,655,183],{"class":166},[160,657,197],{"class":196},[160,659,244],{"class":166},[160,661,662],{"class":162,"line":219},[160,663,244],{"class":166},[41,665,667],{"id":666},"configuration","Configuration",[51,669,670,676,679,685],{},[54,671,672,673,280],{},"The model must be in the ",[22,674,675],{},"ONNX (.onnx)",[54,677,678],{},"Ensure your input format matches the model’s expected input definition.",[54,680,681,682,684],{},"Use the ",[22,683,142],{}," button in the configuration panel to inspect model input and output specifications before wiring it into your flow.",[54,686,687,688,691],{},"The result of the inference is available in ",[61,689,690],{},"msg.payload"," for further processing or visualization.",[41,693,695],{"id":694},"example-flow","Example Flow",[697,698],"render-flow",{":height":699,"flow":700},"200","W3siaWQiOiIyMzliNTM0N2ZjZTkyY2E5IiwidHlwZSI6ImZ1bmN0aW9uIiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoibG9hZCBsYWJlbHMiLCJmdW5jIjoiLy8gZmxhZyB0byBsZXQgdGhlIG5vZGUga25vdyB3ZSBhcmUgaGFuZGxpbmcgcHJlcHJvY2Vzc2luZ1xubXNnLm5vUHJlcHJvY2Vzc29yQ29uZmlnID0gdHJ1ZVxuXG5tc2cuY29uZmlnID0ge1xuICAgIGxhYmVsMmlkIDoge1xuICAgICAgICBcImFwcGxlXCI6IDAsXG4gICAgICAgIFwia2l3aVwiOiAxLFxuICAgICAgICBcIm1hbmdvXCI6IDJcbiAgICB9LFxuICAgIGlkMmxhYmVsIDoge1xuICAgICAgICBcIjBcIjogXCJhcHBsZVwiLFxuICAgICAgICBcIjFcIjogXCJraXdpXCIsXG4gICAgICAgIFwiMlwiOiBcIm1hbmdvXCJcbiAgICB9XG59XG5yZXR1cm4gbXNnXG5cbiIsIm91dHB1dHMiOjEsInRpbWVvdXQiOjAsIm5vZXJyIjowLCJpbml0aWFsaXplIjoiIiwiZmluYWxpemUiOiIiLCJsaWJzIjpbXSwieCI6ODEwLCJ5Ijo1ODYwLCJ3aXJlcyI6W1siMTE3NDcwNzgwZWEyMDY0MyJdXX0seyJpZCI6IjExNzQ3MDc4MGVhMjA2NDMiLCJ0eXBlIjoiZnVuY3Rpb24iLCJ6IjoiZTFjZWVlZGYzMWNlMWViZCIsIm5hbWUiOiJwcmVwcm9jZXNzaW5nIiwiZnVuYyI6Ii8vIEltYWdlTmV0IG5vcm1hbGl6YXRpb24gdmFsdWVzXG5jb25zdCBJTUdfTUVBTiA9IFswLjQ4NSwgMC40NTYsIDAuNDA2XVxuY29uc3QgSU1HX1NURCA9IFswLjIyOSwgMC4yMjQsIDAuMjI1XVxuXG4vLyBUaGUgd2lkdGggYW5kIGhlaWdodCBleHBlY3RlZCBieSB0aGUgbW9kZWxcbmNvbnN0IFdJRFRIID0gMjI0XG5jb25zdCBIRUlHSFQgPSAyMjRcblxuLyoqXG4gKiBMb2FkIGFuZCBwcmVwcm9jZXNzIGltYWdlIGZvciBQeVRvcmNoIE9OTlggbW9kZWxcbiAqIEBwYXJhbSB7QnVmZmVyfSBidWZmZXIgLSBhbiBpbWFnZVxuICogQHJldHVybnMge1Byb21pc2U8RmxvYXQzMkFycmF5Pn0gLSBUZW5zb3IgcmVhZHkgZm9yIG9ydC5ydW5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gcHJlcHJvY2Vzc0ltYWdlKGJ1ZmZlcikge1xuICAgIC8vIExvYWQgYW5kIHJlc2l6ZSBpbWFnZVxuICAgIGNvbnN0IHJlc29sdmVkID0gYXdhaXQgc2hhcnAoYnVmZmVyKVxuICAgICAgICAucmVzaXplKFdJRFRILCBIRUlHSFQpXG4gICAgICAgIC5yYXcoKVxuICAgICAgICAudG9CdWZmZXIoeyByZXNvbHZlV2l0aE9iamVjdDogdHJ1ZSB9KTtcblxuICAgIGNvbnN0IHsgZGF0YSwgaW5mbyB9ID0gcmVzb2x2ZWQ7IC8vIGRhdGEgPSBVaW50OEFycmF5LCBpbmZvID0ge3dpZHRoLCBoZWlnaHQsIGNoYW5uZWxzfVxuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCwgY2hhbm5lbHMgfSA9IGluZm87XG5cbiAgICBpZiAoY2hhbm5lbHMgIT09IDMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCAzIGNoYW5uZWxzIChSR0IpLCBnb3QgJHtjaGFubmVsc31gKTtcbiAgICB9XG5cbiAgICAvLyBDb252ZXJ0IHRvIGZsb2F0MzIgYW5kIG5vcm1hbGl6ZVxuICAgIGNvbnN0IGZsb2F0RGF0YSA9IG5ldyBGbG9hdDMyQXJyYXkod2lkdGggKiBoZWlnaHQgKiBjaGFubmVscyk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB3aWR0aCAqIGhlaWdodDsgaSsrKSB7XG4gICAgICAgIGZvciAobGV0IGMgPSAwOyBjIDwgMzsgYysrKSB7XG4gICAgICAgICAgICAvLyBkYXRhIGlzIDAuLjI1NSwgY29udmVydCB0byAwLi4xXG4gICAgICAgICAgICBjb25zdCB2ID0gZGF0YVtpICogMyArIGNdIC8gMjU1LjA7XG4gICAgICAgICAgICBmbG9hdERhdGFbYyAqIHdpZHRoICogaGVpZ2h0ICsgaV0gPSAodiAtIElNR19NRUFOW2NdKSAvIElNR19TVERbY107XG4gICAgICAgICAgICAvLyBOb3RpY2U6IGNoYW5uZWwtZmlyc3QgbGF5b3V0IChDLEgsVylcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmbG9hdERhdGE7XG59XG5cbm1zZy5wYXlsb2FkID0ge1xuICAgIHR5cGU6ICdmbG9hdDMyJyxcbiAgICBkaW1zOiBbMSwgMywgSEVJR0hULCBXSURUSF0sIC8vIDEgaW1hZ2UsIDMgY2hhbmVscywgSEVJR0hULCBXSURUSFxuICAgIGRhdGE6IGF3YWl0IHByZXByb2Nlc3NJbWFnZShtc2cucGF5bG9hZClcbn1cbi8vIG1zZy5wYXlsb2FkID0gYXdhaXQgcHJlcHJvY2Vzc0ltYWdlKG1zZy5wYXlsb2FkKVxucmV0dXJuIG1zZ1xuXG4iLCJvdXRwdXRzIjoxLCJ0aW1lb3V0IjowLCJub2VyciI6MCwiaW5pdGlhbGl6ZSI6IiIsImZpbmFsaXplIjoiIiwibGlicyI6W3sidmFyIjoic2hhcnAiLCJtb2R1bGUiOiJzaGFycCJ9XSwieCI6MTAyMCwieSI6NTg2MCwid2lyZXMiOltbIjM2NDc3NjU2YjQxOGI2ZjciXV19LHsiaWQiOiIzNjQ3NzY1NmI0MThiNmY3IiwidHlwZSI6ImFkdmFuY2VkLWFpIiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiZnJ1aXRfY2xhc3NpZmllciIsInByb3BlcnR5IjoicGF5bG9hZCIsInByb3BlcnR5VHlwZSI6Im1zZyIsIm1vZGVsIjoiQzovVXNlcnMvc2RtY2wvcmVwb3Mvbm9kZS1yZWQvbW9kZWxfY2FjaGUvZmxvd2Z1c2UvZnJ1aXRfY2xhc3NpZmllci9vbm54L21vZGVsLm9ubngiLCJtb2RlbFR5cGUiOiJwYXRoIiwieCI6OTAwLCJ5Ijo1OTIwLCJ3aXJlcyI6W1siYWEyYjY4YjJjYTMwZWUzNCJdXX0seyJpZCI6ImFhMmI2OGIyY2EzMGVlMzQiLCJ0eXBlIjoiZnVuY3Rpb24iLCJ6IjoiZTFjZWVlZGYzMWNlMWViZCIsIm5hbWUiOiJTb3J0IGFuZCBMYWJlbCIsImZ1bmMiOiIvKlxuRGF0YSBhcnJpdmVzIGxpa2Ugc286XG5tc2cucGF5bG9hZC5vdXRwdXQuY3B1RGF0YToge1wiMFwiOjEuNzQ0Njc3MDY2ODAyOTc4NSwgMTogLTIuNDI1MjUxMjQ1NDk4NjU3MiwgMjogMi43ODYzMDIwODk2OTExNjJ9XG4qL1xuY29uc3QgY3B1RGF0YSA9IG1zZy5wYXlsb2FkLm91dHB1dC5jcHVEYXRhXG5jb25zdCBsYWJlbHMgPSBbXVxuY29uc3QgaWRzID0gT2JqZWN0LmtleXMobXNnLmNvbmZpZy5pZDJsYWJlbCkuZm9yRWFjaChpZCA9PiB7XG4gICAgbGFiZWxzLnB1c2gobXNnLmNvbmZpZy5pZDJsYWJlbFtpZF0pXG59KVxuXG4vLyBDb252ZXJ0IGNwdURhdGEgdG8gbG9naXRzIGFycmF5XG5jb25zdCBsb2dpdHMgPSBPYmplY3QudmFsdWVzKGNwdURhdGEpXG5cbi8vIFNvZnRtYXggZnVuY3Rpb25cbmZ1bmN0aW9uIHNvZnRtYXgoYXJyKSB7XG4gICAgY29uc3QgZXhwID0gYXJyLm1hcCh4ID0+IE1hdGguZXhwKHgpKVxuICAgIGNvbnN0IHN1bSA9IGV4cC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKVxuICAgIHJldHVybiBleHAubWFwKHggPT4geCAvIHN1bSlcbn1cblxuY29uc3QgcHJvYnMgPSBzb2Z0bWF4KGxvZ2l0cylcblxuLy8gQnVpbGQgc29ydGVkIGFycmF5IG9mIHJlc3VsdHMgd2l0aCBsYWJlbHMgYW5kIHByb2JhYmlsaXRpZXNcbmNvbnN0IHJlc3VsdEFycmF5ID0gcHJvYnNcbiAgICAubWFwKChwcm9iLCBpZHgpID0+ICh7XG4gICAgICAgIGNsYXNzSW5kZXg6IGlkeCxcbiAgICAgICAgY2xhc3NOYW1lOiBsYWJlbHNbaWR4XSB8fCAnVW5rbm93bicsXG4gICAgICAgIGNvbmZpZGVuY2U6IHByb2JcbiAgICB9KSlcbiAgICAuZmlsdGVyKGl0ZW0gPT4gaXRlbS5jb25maWRlbmNlID4gMClcbiAgICAuc29ydCgoYSwgYikgPT4gYi5jb25maWRlbmNlIC0gYS5jb25maWRlbmNlKVxuXG5tc2cucGF5bG9hZCA9IHJlc3VsdEFycmF5XG5yZXR1cm4gbXNnOyIsIm91dHB1dHMiOjEsInRpbWVvdXQiOjAsIm5vZXJyIjowLCJpbml0aWFsaXplIjoiIiwiZmluYWxpemUiOiIiLCJsaWJzIjpbXSwieCI6MTA4MCwieSI6NTkyMCwid2lyZXMiOltbImYzYjYwNTY2OWViOGIwMGIiXV19LHsiaWQiOiJmM2I2MDU2NjllYjhiMDBiIiwidHlwZSI6ImRlYnVnIiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiIiwiYWN0aXZlIjp0cnVlLCJ0b3NpZGViYXIiOnRydWUsImNvbnNvbGUiOmZhbHNlLCJ0b3N0YXR1cyI6dHJ1ZSwiY29tcGxldGUiOiJwYXlsb2FkIiwidGFyZ2V0VHlwZSI6Im1zZyIsInN0YXR1c1ZhbCI6InBheWxvYWRbMF0uY2xhc3NOYW1lICYgXCIgKFwiICYgJHJvdW5kKHBheWxvYWRbMF0uY29uZmlkZW5jZSAqIDEwMCwgMikgJiBcIiUpXCIiLCJzdGF0dXNUeXBlIjoianNvbmF0YSIsIngiOjEwNzAsInkiOjU5ODAsIndpcmVzIjpbXX0seyJpZCI6IjExNDAyODE4MGJkMDY1OWIiLCJ0eXBlIjoiaW5qZWN0IiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiYXBwbGUiLCJwcm9wcyI6W3sicCI6InVybCIsInYiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iLzAvMDcvSG9uZXljcmlzcC1BcHBsZS5qcGcvMTIwMHB4LUhvbmV5Y3Jpc3AtQXBwbGUuanBnIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwieCI6NDMwLCJ5Ijo1ODAwLCJ3aXJlcyI6W1siYmM4NjQ4Yzk2Mzg0MjQ5MyJdXX0seyJpZCI6IjcwOWQwY2FjZWUwMDBmZGUiLCJ0eXBlIjoiaW5qZWN0IiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiYXBwbGUiLCJwcm9wcyI6W3sicCI6InVybCIsInYiOiJodHRwczovL3VwbG9hZC53aWtpbWVkaWEub3JnL3dpa2lwZWRpYS9jb21tb25zL3RodW1iL2MvYzEvRnVqaV9hcHBsZS5qcGcvMTIwMHB4LUZ1amlfYXBwbGUuanBnIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwieCI6NDMwLCJ5Ijo1ODQwLCJ3aXJlcyI6W1siYmM4NjQ4Yzk2Mzg0MjQ5MyJdXX0seyJpZCI6ImJjODY0OGM5NjM4NDI0OTMiLCJ0eXBlIjoiaHR0cCByZXF1ZXN0IiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiIiwibWV0aG9kIjoiR0VUIiwicmV0IjoiYmluIiwicGF5dG9xcyI6Imlnbm9yZSIsInVybCI6IiIsInRscyI6IiIsInBlcnNpc3QiOmZhbHNlLCJwcm94eSI6IiIsImluc2VjdXJlSFRUUFBhcnNlciI6ZmFsc2UsImF1dGhUeXBlIjoiIiwic2VuZGVyciI6ZmFsc2UsImhlYWRlcnMiOltdLCJ4Ijo2MzAsInkiOjU4MDAsIndpcmVzIjpbWyJlNmM0YmMzNmIyNTQ0MGU1Il1dfSx7ImlkIjoiMzhjZTA2Y2NkMjUwMGM3NCIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZTFjZWVlZGYzMWNlMWViZCIsIm5hbWUiOiJraXdpIiwicHJvcHMiOlt7InAiOiJ1cmwiLCJ2IjoiaHR0cHM6Ly91cGxvYWQud2lraW1lZGlhLm9yZy93aWtpcGVkaWEvY29tbW9ucy90aHVtYi82LzZkL0tpd2lfJTI4QWN0aW5pZGlhX2NoaW5lbnNpcyUyOV8yX0x1Y19WaWF0b3VyLmpwZy8yNTBweC1LaXdpXyUyOEFjdGluaWRpYV9jaGluZW5zaXMlMjlfMl9MdWNfVmlhdG91ci5qcGciLCJ2dCI6InN0ciJ9XSwicmVwZWF0IjoiIiwiY3JvbnRhYiI6IiIsIm9uY2UiOmZhbHNlLCJvbmNlRGVsYXkiOjAuMSwidG9waWMiOiIiLCJ4Ijo0MzAsInkiOjU4ODAsIndpcmVzIjpbWyJiYzg2NDhjOTYzODQyNDkzIl1dfSx7ImlkIjoiOGMyYTJlOThhMjFmMzE5YiIsInR5cGUiOiJpbmplY3QiLCJ6IjoiZTFjZWVlZGYzMWNlMWViZCIsIm5hbWUiOiJtYW5nbyIsInByb3BzIjpbeyJwIjoidXJsIiwidiI6Imh0dHBzOi8vdXBsb2FkLndpa2ltZWRpYS5vcmcvd2lraXBlZGlhL2NvbW1vbnMvdGh1bWIvNy83NC9NYW5nb3NfLV9zaW5nbGVfYW5kX2hhbHZlZC5qcGcvNTAwcHgtTWFuZ29zXy1fc2luZ2xlX2FuZF9oYWx2ZWQuanBnIiwidnQiOiJzdHIifV0sInJlcGVhdCI6IiIsImNyb250YWIiOiIiLCJvbmNlIjpmYWxzZSwib25jZURlbGF5IjowLjEsInRvcGljIjoiIiwieCI6NDMwLCJ5Ijo1OTIwLCJ3aXJlcyI6W1siYmM4NjQ4Yzk2Mzg0MjQ5MyJdXX0seyJpZCI6ImU2YzRiYzM2YjI1NDQwZTUiLCJ0eXBlIjoiaW1hZ2Ugdmlld2VyIiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiIiwid2lkdGgiOiIyMjQiLCJkYXRhIjoicGF5bG9hZCIsImRhdGFUeXBlIjoibXNnIiwiYWN0aXZlIjp0cnVlLCJ4Ijo2MTAsInkiOjU4NjAsIndpcmVzIjpbWyIyMzliNTM0N2ZjZTkyY2E5Il1dfSx7ImlkIjoiNTcxMWY0MWVjZmU5OThkNiIsInR5cGUiOiJjb21tZW50IiwieiI6ImUxY2VlZWRmMzFjZTFlYmQiLCJuYW1lIjoiVXNpbmcgYSByZS10cmFpbmVkIHJlc25ldCBtb2RlbCB0cmFpbmVkIHRvIHJlY29nbmlzZSBhcHBsZXMsIGtpd2lzIGFuZCBtYW5nb3MgXFxuIFNlZSBpbmZvIGluIHRoZSBJTkZPIHBhbmVsIG9uIHRoZSBzaWRlYmFyIiwiaW5mbyI6IlRoaXMgTm9kZS1SRUQgZGVtbyBmbG93IHJlcXVpcmVzIHlvdSB0byBoYXZlIHRyYWluZWQgYSBtb2RlbCB0byByZWNvZ25pemUgZnJ1aXQgdHlwZXMgKGFwcGxlLCBraXdpLCBtYW5nbykgdXNpbmcgYSBsYWJlbGVkIGltYWdlIGRhdGFzZXQuXG5cblRoZSBwcm9jZXNzIGludm9sdmVzOlxuMS4gU2V0dGluZyB1cCB5b3VyIFB5dGhvbiBlbnZpcm9ubWVudCB3aXRoIFB5VG9yY2gsIFRvcmNoVmlzaW9uLCBPTk5YLCBhbmQgT05OWCBSdW50aW1lLlxuMS4gT3JnYW5pemluZyB5b3VyIGRhdGFzZXQgaW50byB0cmFpbiwgdmFsaWRhdGlvbiwgYW5kIHRlc3QgZm9sZGVycyBmb3IgZWFjaCBjbGFzcy5cbjEuIFVzaW5nIHRyYW5zZmVyIGxlYXJuaW5nIHdpdGggYSBwcmUtdHJhaW5lZCBSZXNOZXQxOCBtb2RlbCwgZmluZS10dW5lZCBvbiB5b3VyIGltYWdlcy5cbjEuIFRyYWluaW5nIHRoZSBtb2RlbCBhbmQgZXZhbHVhdGluZyBpdHMgYWNjdXJhY3kuXG4xLiBFeHBvcnRpbmcgdGhlIHRyYWluZWQgUHlUb3JjaCBtb2RlbCB0byBPTk5YIGZvcm1hdCBmb3IgaW50ZXJvcGVyYWJpbGl0eS5cbjEuIE9wdGlvbmFsbHksIHRlc3RpbmcgdGhlIE9OTlggbW9kZWwgd2l0aCBPTk5YIFJ1bnRpbWUgdG8gdmVyaWZ5IHByZWRpY3Rpb25zLlxuXG5PbmNlIHlvdSBoYXZlIHRoZSBleHBvcnRlZCBPTk5YIG1vZGVsIChlLmcuLCBmcnVpdF9jbGFzc2lmaWVyLm9ubngpLCB5b3UgY2FuIHVzZSBpdCB3aXRoIHRoaXMgZGVtbyBmbG93IGZvciBpbmZlcmVuY2UuIiwieCI6NjMwLCJ5Ijo1NzQwLCJ3aXJlcyI6W119LHsiaWQiOiJkY2M1MDE1YTEwNWUzM2JiIiwidHlwZSI6Imdsb2JhbC1jb25maWciLCJlbnYiOltdLCJtb2R1bGVzIjp7IkBmbG93ZnVzZS1ub2Rlcy9uci1haS1ub2RlcyI6IjAuMS42Iiwibm9kZS1yZWQtY29udHJpYi1pbWFnZS10b29scyI6IjIuMS4xIn19XQ==",[702,703,704],"style",{},"html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .s7hpK, html code.shiki .s7hpK{--shiki-default:#B31D28;--shiki-default-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":12,"searchDepth":170,"depth":170,"links":706},[707,711,712,718,719],{"id":43,"depth":170,"text":44,"children":708},[709,710],{"id":48,"depth":203,"text":49},{"id":82,"depth":203,"text":83},{"id":113,"depth":170,"text":114},{"id":136,"depth":170,"text":78,"children":713},[714,715,716,717],{"id":146,"depth":203,"text":147},{"id":283,"depth":203,"text":284},{"id":433,"depth":203,"text":434},{"id":576,"depth":203,"text":577},{"id":666,"depth":170,"text":667},{"id":694,"depth":170,"text":695},"The ONNX node allows you to perform AI inference directly in Node-RED using ONNX models, supporting image, object, and numeric predictions without external AI services.","md",{},true,"\u002Fnode-red\u002Fflowfuse\u002Fai\u002Fonxx",{"title":5,"description":720},"node-red\u002Fflowfuse\u002Fai\u002Fonxx","vro-RyNxHcg2zI3Knnd8zYWZd987ZZep5eM3Qd15UdA",1780070556769]