# How to get an exportable version for NPUs (Rockchip, Hailo, etc)

**URL:** <https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661>\
**Category:** 🤝  Community Help\
**Created:** [July 31, 2024, 5:09am UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661 "2024-07-31T05:09:03Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ahillelt](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/ahillelt/32/5198_2.png) [@ahillelt](https://discuss.roboflow.com/u/ahillelt)\
**Post date:** [July 31, 2024, 5:09am UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/1 "2024-07-31T05:09:03Z")

</div>

Hi folks,

Been loving the interface, but having issues with the inference module required on Edge devices. I am working on accessing the NPU of two of my devices a RPi5 with the Hailo 8L, and an Orange Pi 5 Pro (RK3588S). For example, the Orange Pi 5 Pro has a 6TOPS NPU that can accelerate my work quite a bit vs the CPU, Yolov8 is supported, but it needs the .pt file (or ONNX) to convert into it’s own optimized format. The Hailo for RPi 5 has a similar (albeit simpler) process and from the documentation it seems that there is built in support already for Hailo via inference. For the life of me I cannot figure out how to properly get a model export going so I can get things converted for the RK3588s’ npu. There have been past forum posts asking about this but its been a while. I really want to avoid being hardware/ecosystem locked if I can avoid it.

Any tips, tricks, thoughts?

---

<div class="post-metadata">

**Author:** ![mitchellmill](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/mitchellmill/32/5200_2.png) [@mitchellmill](https://discuss.roboflow.com/u/mitchellmill)\
**Post date:** [July 31, 2024, 11:05am UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/2 "2024-07-31T11:05:16Z")

</div>

Hi @ahillelt, to export models for NPUs like Rockchip RK3588S and Hailo 8L, convert your .pt or ONNX models into the format required by each NPU… For the RK3588S, you might need to use Rockchip’s NPU SDK or tools for model conversion.  
For Hailo, use the Hailo toolbox to optimize and deploy your models.  
Check their respective documentation for specific conversion steps.

Thanks,  
😀

---

<div class="post-metadata">

**Author:** ![Grzegorz](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/grzegorz/32/2877_2.png) [@Grzegorz](https://discuss.roboflow.com/u/Grzegorz)\
**Post date:** [July 31, 2024, 4:01pm UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/3 "2024-07-31T16:01:41Z")

</div>

Hi @ahillelt, many thanks for sharing your feedback!

If you want to use specialized model format with `inference`, you can achieve this by developing your custom `workflows` block and then use `inference` with `workflows`. In that block you would handle model loading and running image through it. Have a look how [core blocks](https://github.com/roboflow/inference/blob/main/inference/core/workflows/core_steps/models/foundation/ocr.py) are implemented, and [example](https://github.com/roboflow/inference/blob/main/examples/run_perspective_correction.py) of how to run workflow.

---

<div class="post-metadata">

**Author:** ![ahillelt](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/ahillelt/32/5198_2.png) [@ahillelt](https://discuss.roboflow.com/u/ahillelt)\
**Post date:** [July 31, 2024, 6:22pm UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/4 "2024-07-31T18:22:01Z")

</div>

Thanks for this @Grzegorz Grzegorz, looks like if I have a ready-to-go specialized model I can find a way to introduce it into the workflow of my project on Roboflow. However, if I trained on roboflow is there any way to get that trained model out of the roboflow environment, for example as onnx or even .pt? @mitchellmill is right, Rockchip has it’s own SDK for conversion and it starts with either .pt or onnx, and it takes that to convert to their own format. I already am able to work with converting my pytorch models without issue, but I can’t figure out how to get the newly trained model out of Roboflow. Once I have it converted and optimized for the RK3588s then I will be able to introduce the model as part of the workflow. However, I need to first get the model free standing. I am trying to avoid exporting the Dataset as Yolov8 and then run the train locally, again…

---

<div class="post-metadata">

**Author:** ![Grzegorz](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/grzegorz/32/2877_2.png) [@Grzegorz](https://discuss.roboflow.com/u/Grzegorz)\
**Post date:** [July 31, 2024, 8:32pm UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/5 "2024-07-31T20:32:18Z")

</div>

Hi @ahillelt ,

Please see [this paragraph in roboflow documentation](https://docs.roboflow.com/deploy/download-roboflow-model-weights):

> In order to stay compliant with licensing requirements, fine-tuned model weights can only be used in an Inference deployment. For free and Starter Plan customers, your Roboflow license permits use of your models on one device. Enterprise customers can deploy models on multiple devices.

You need [enterprise plan](https://docs.roboflow.com/roboflow-enterprise#deployments) if you are looking to deploy models within your infrastructure:

> Offline Mode: Deploy models offline, in your VPC, on-premise, and entirely within your cloud.

---

<div class="post-metadata">

**Author:** ![ahillelt](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/ahillelt/32/5198_2.png) [@ahillelt](https://discuss.roboflow.com/u/ahillelt)\
**Post date:** [August 13, 2024, 3:52am UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/6 "2024-08-13T03:52:08Z")

</div>

Got it. I just want to make sure it’s clear to me and any others that read this. As of right now unless we use the inference feature from Roboflows own platform it is not possible to take a trained model from a roboflow project and export the weights to use for whichever model we selected. The only way this is possible is if we purchase an enterprise plan, this is even true if we are not an enterprise.

I assume this means Roboflow cannot use the NPUs of various hardware out there, except for CUDA, otherwise it all runs on the CPU of whatever our edge device is?

Thanks for clarifying!

---

<div class="post-metadata">

**Author:** ![Grzegorz](https://yyz1.discourse-cdn.com/flex029/user_avatar/discuss.roboflow.com/grzegorz/32/2877_2.png) [@Grzegorz](https://discuss.roboflow.com/u/Grzegorz)\
**Post date:** [August 28, 2024, 2:26pm UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/7 "2024-08-28T14:26:49Z")

</div>

Hi, please accept my apologies for missing your reply!

> As of right now unless we use the inference feature from Roboflows own platform it is not possible to take a trained model from a roboflow project and export the weights to use for whichever model we selected. The only way this is possible is if we purchase an enterprise plan, this is even true if we are not an enterprise.

This is current state of our licensing.

> I assume this means Roboflow cannot use the NPUs of various hardware out there, except for CUDA, otherwise it all runs on the CPU of whatever our edge device is?

I allowed myself to add [feature request in `inference` repository on your behalf](https://github.com/roboflow/inference/issues/616), please feel free to comment if I missed anything.

Thank you once again!

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex029/uploads/roboflow1/original/1X/bb6edbfa56d0cf2ee603f061e9e09103502cc8cc.png) [@system](https://discuss.roboflow.com/u/system)\
**Post date:** [September 18, 2024, 2:27pm UTC](https://discuss.roboflow.com/t/how-to-get-an-exportable-version-for-npus-rockchip-hailo-etc/6661/8 "2024-09-18T14:27:12Z")

</div>

Closed on September 18, 2024, 2:27pm UTC

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.
