{"id":25716,"date":"2024-03-16T05:27:41","date_gmt":"2024-03-16T05:27:41","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/"},"modified":"2024-03-22T06:50:41","modified_gmt":"2024-03-22T06:50:41","slug":"how-to-write-python-inference-onnx-weights","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/","title":{"rendered":"How to write Python inference onnx weights."},"content":{"rendered":"<p>In Python, you can use the onnxruntime library to load ONNX models for inference. After that, you can use the numpy library to convert the weights into NumPy arrays and pass them to the ONNX model for inference.<\/p>\n<p>Here is a sample code demonstrating how to perform ONNX weight inference in Python.<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-keyword\">import<\/span> onnxruntime\r\n<span class=\"hljs-keyword\">import<\/span> numpy <span class=\"hljs-keyword\">as<\/span> np\r\n\r\n<span class=\"hljs-comment\"># \u52a0\u8f7dONNX\u6a21\u578b<\/span>\r\nonnx_model_path = <span class=\"hljs-string\">'model.onnx'<\/span>\r\nsess = onnxruntime.InferenceSession(onnx_model_path)\r\n\r\n<span class=\"hljs-comment\"># \u52a0\u8f7d\u6743\u91cd<\/span>\r\nweight_path = <span class=\"hljs-string\">'weights.npy'<\/span>\r\nweights = np.load(weight_path)\r\n\r\n<span class=\"hljs-comment\"># \u83b7\u53d6\u8f93\u5165\u548c\u8f93\u51fa\u540d\u79f0<\/span>\r\ninput_name = sess.get_inputs()[<span class=\"hljs-number\">0<\/span>].name\r\noutput_name = sess.get_outputs()[<span class=\"hljs-number\">0<\/span>].name\r\n\r\n<span class=\"hljs-comment\"># \u521b\u5efa\u7528\u4e8e\u63a8\u7406\u7684\u8f93\u5165\u6570\u636e<\/span>\r\ninput_data = np.random.randn(*sess.get_inputs()[<span class=\"hljs-number\">0<\/span>].shape).astype(np.float32)\r\n\r\n<span class=\"hljs-comment\"># \u5c06\u6743\u91cd\u8bbe\u7f6e\u4e3aONNX\u6a21\u578b<\/span>\r\nsess.set_tensor(input_name, input_data)\r\nsess.set_tensor(output_name, np.zeros(sess.get_outputs()[<span class=\"hljs-number\">0<\/span>].shape).astype(np.float32))\r\nsess.set_tensor(<span class=\"hljs-string\">'weight'<\/span>, weights)\r\n\r\n<span class=\"hljs-comment\"># \u8fdb\u884c\u63a8\u7406<\/span>\r\nsess.run([output_name])\r\n\r\n<span class=\"hljs-comment\"># \u83b7\u53d6\u8f93\u51fa\u7ed3\u679c<\/span>\r\noutput_data = sess.get_tensor(output_name)\r\n\r\n<span class=\"hljs-built_in\">print<\/span>(output_data)\r\n<\/code><\/pre>\n<p>In this example, start by loading the ONNX model using the onnxruntime library and loading the weight file using the numpy library. Then, get the input and output names, create a NumPy array for input data. Next, use the sess.set_tensor() method to set the input data and weight data. Finally, perform inference using the sess.run() method and retrieve the output result using the sess.get_tensor() method.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Python, you can use the onnxruntime library to load ONNX models for inference. After that, you can use the numpy library to convert the weights into NumPy arrays and pass them to the ONNX model for inference. Here is a sample code demonstrating how to perform ONNX weight inference in Python. import onnxruntime import [&hellip;]<\/p>\n","protected":false},"author":7,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-25716","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to write Python inference onnx weights. - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to write Python inference onnx weights.\" \/>\n<meta property=\"og:description\" content=\"In Python, you can use the onnxruntime library to load ONNX models for inference. After that, you can use the numpy library to convert the weights into NumPy arrays and pass them to the ONNX model for inference. Here is a sample code demonstrating how to perform ONNX weight inference in Python. import onnxruntime import [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-16T05:27:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-22T06:50:41+00:00\" \/>\n<meta name=\"author\" content=\"Sophia Anderson\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sophia Anderson\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\"},\"author\":{\"name\":\"Sophia Anderson\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\"},\"headline\":\"How to write Python inference onnx weights.\",\"datePublished\":\"2024-03-16T05:27:41+00:00\",\"dateModified\":\"2024-03-22T06:50:41+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\"},\"wordCount\":129,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\",\"name\":\"How to write Python inference onnx weights. - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-16T05:27:41+00:00\",\"dateModified\":\"2024-03-22T06:50:41+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to write Python inference onnx weights.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30\",\"name\":\"Sophia Anderson\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g\",\"caption\":\"Sophia Anderson\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to write Python inference onnx weights. - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/","og_locale":"en_US","og_type":"article","og_title":"How to write Python inference onnx weights.","og_description":"In Python, you can use the onnxruntime library to load ONNX models for inference. After that, you can use the numpy library to convert the weights into NumPy arrays and pass them to the ONNX model for inference. Here is a sample code demonstrating how to perform ONNX weight inference in Python. import onnxruntime import [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-16T05:27:41+00:00","article_modified_time":"2024-03-22T06:50:41+00:00","author":"Sophia Anderson","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Sophia Anderson","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/"},"author":{"name":"Sophia Anderson","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30"},"headline":"How to write Python inference onnx weights.","datePublished":"2024-03-16T05:27:41+00:00","dateModified":"2024-03-22T06:50:41+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/"},"wordCount":129,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/","url":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/","name":"How to write Python inference onnx weights. - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-16T05:27:41+00:00","dateModified":"2024-03-22T06:50:41+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-to-write-python-inference-onnx-weights\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to write Python inference onnx weights."}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/19a24313de9c988db3d69226b4a40a30","name":"Sophia Anderson","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c726c09aa40e37115fb5c62d0c3ed62c16ca255d3763e2e3ae83a70ddf8c2175?s=96&d=mm&r=g","caption":"Sophia Anderson"},"url":"https:\/\/www.silicloud.com\/blog\/author\/sophiaanderson\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25716","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=25716"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25716\/revisions"}],"predecessor-version":[{"id":59841,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/25716\/revisions\/59841"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=25716"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=25716"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=25716"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}