ubuntu 下使用Hailo模块 将onnx 模型量化编译hef 模型(一)

 1. 安装环境

  1.1 tensorflow-gpu   对应关系对应关联链接

   

1.2 CUDA 11.8  安装

   cuda  下载链接: cuda11.8 下载地址 

使用官方安装命令即可:

安装报错gcc  版本问题,对比当前版本和 CUDA 的要求。CUDA 11.8 通常需要 GCC 版本在 7.x - 12.x 之间,具体要求请查看 CUDA 安装文档。

安装合适的 GCC 版本,在基于 Debian/Ubuntu 的系统上:

sudo apt update sudo apt install gcc-9 g++-9

切换默认 GCC 版本,使用 update-alternatives 工具

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 10 
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 10 
sudo update-alternatives --config gcc sudo update-alternatives --config g++

选择正确的版本后,重新验证:

gcc --version

配置完成后,重新运行安装命令:

sh cuda_11.8.0_535.54.03_linux.run --override

 输入 accept

驱动安装过,就取消勾选,直接install 即可。

 安装成功:

配置变量:

sudo vim ~/.bashrc

在文件末尾添加:
export PATH=/usr/local/cuda-12.0/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-12.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_HOME=/usr/local/cuda-12.0

更新系统环境:

source ~/.bashrc
sudo ldconfig

验证 输入nvcc -V

1.3 CUDNN安装

     1.3.1 安装链接cudnn 8.6

     1.3.2  提示add-apt not find 

运行以下命令安装 software-properties-common

sudo apt-get update sudo apt-get install -y software-properties-common

再次安装即可:

2.  安装hailo_dataflow_compiler

执行之前pyhon  创建虚拟环境 python -m venv hef_demo

激活虚拟环境: source  her_demo/bin/activate

一下均在hef_demo  环境下运行

pip 换源: 换源链接

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

2.1 下载链接:hailo_dataflow_compiler

执行安装hailo  编译环境

pip install hailo_dataflow_compiler-3.29.0-py3-none-linux_x86_64.whl

提示报错:

 安装一些必要的库:

  apt install python3.10-dev
  apt install gcc
  apt install libgraphviz-dev
  apt install python3-pip python3-dev
  pip install pygraphviz
  #验证
  dpkg -L python3.10-dev

再次执行即可:

2.2 安装hailo_model_zoo

下载地址:hailo_model_zoo

执行:

pip install hailo_model_zoo-2.13.0-py3-none-any.whl

2.3 执行onnx-> hef demo

报错提示: ImportError: libGL.so.1: cannot open shared object file: No such file or directory

 解决方法: 安装libgl1 库即可

apt install libgl1

### 如何在 Hailo-8 平台上运行 HEF 模型 要在 Hailo-8 上成功运行 HEF 文件,需遵循系列操作流程。以下是具体说明: #### 准备工作 1. **硬件准备** 需要准备好 Hailo-8 入门套件,其中包括 Hailo-8™ M.2 模块以及热管理组件(如金属立方体、导热垫和胶带等)。这些设备可以通过官方渠道购买并组装到支持的主板上[^3]。 2. **软件环境配置** 使用 Hailo Dataflow Compiler 将深度学习模型编译成适合 Hailo-8 运行的 `.hef` 文件。此过程可能需要较高的系统资源,建议使用具有至少 16GB RAM 的机器来完成编译任务。如果本地条件不足,也可以考虑通过云服务提供商(例如 featurize)租赁计算资源进行编译[^1]。 3. **安装驱动程序与 SDK** 下载并安装最新版本的 HailoRT 和相关开发工具链至目标主机操作系统中。这步通常涉及设置 Linux 环境变量,并确认 PCIe 接口正常连接至 Hailo-8 加速模块。 #### 执行 HEF 文件 旦上述准备工作就绪,则可通过命令行界面调用 `hailortcli` 工具执行已有的 `.hef` 文件。例如,对于预训练好的 ResNet-50 模型,可按照如下方式启动性能评估脚本: ```bash hailortcli benchmark resnet_v1_50.hef ``` 这条指令会加载指定路径下的 `.hef` 文件,并利用内置 API 测量推理延迟及时钟频率表现数据[^2]。 另外,在实际部署场景下还可以编写自定义 Python 应用来控制输入输出流处理逻辑。下面是个简单的例子展示如何读取图像帧作为网络预测源素材: ```python import cv2 from hailo_platform import HailoStreamInterface, HailoPackedPBFormat def load_model(hef_path): stream_interface = HailoStreamInterface() packed_pb_format = HailoPackedPBFormat(stream_interface=stream_interface) with open(hef_path, 'rb') as f: model_buffer = f.read() return packed_pb_format.deserialize(model_buffer) if __name__ == "__main__": hef_file = "/path/to/resnet_v1_50.hef" loaded_model = load_model(hef_file) cap = cv2.VideoCapture(0) # Open default camera device while True: ret, frame = cap.read() if not ret: break input_tensor = preprocess(frame) # Implement your own preprocessing function here. output_tensors = loaded_model.infer(input_tensor=input_tensor) postprocess(output_tensors) # Define how you want to interpret results. cap.release() ``` 以上代码片段展示了从摄像头捕获实时视频流并通过加载后的 HEF 模型对其进行分类的过程。注意这里省略了些细节实现部分比如前处理函数 (`preprocess`) 及后处理方法(`postprocess`) ,开发者应依据特定应用场景调整相应参数设定。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值