当前位置: 首页 > wzjs >正文

企业级网站开发项目教程网站的优化公司

企业级网站开发项目教程,网站的优化公司,wordpress订单,长沙seo优化哪家好1. rknn-toolkit-lite介绍 rknn-toolkit-lite是用于python算法的推理的组件,当前已经在EASY-EAI-Nano完成适配,用户可以用它进行深度学习算法的纯python开发。而且同时支持已经进行了预编译的模型,短短几行代码即可完成算法的推理&#xff0c…

1. rknn-toolkit-lite介绍

       rknn-toolkit-lite是用于python算法的推理的组件,当前已经在EASY-EAI-Nano完成适配,用户可以用它进行深度学习算法的纯python开发。而且同时支持已经进行了预编译的模型,短短几行代码即可完成算法的推理,大幅降低开发成本。同时很多不熟悉C/C++的算法开发人员有效降低开发门槛。本地文档是根据已经完成rknn模型转换的模型进行板卡上的推理,关于rknn模型转换请阅读请阅读《在EASY EAI Nano运行自定义的AI算法》。

2. 固件烧录

       当前我们通过系统预装的方式支持rknn-toolkit-lite,烧录固件方式请阅读《固件烧录与更新》。

       固件下载链接:https://pan.baidu.com/s/1sWFoPf6oJtZsUPp-_do7AQ

       提取码:1234

       固件包如下所示:

3. 在板卡测试demo

       下载百度网盘:https://pan.baidu.com/s/1yoof_SyY1ty93dIRe1dZgA (提取码:1234 )

    “测试程序/inference_with_lite.tar.bz2”,把文件传到EASY-EAI-Nano板卡目录上。

       执行以下指令进行解压:

tar xvf inference_with_lite.tar.bz2

       执行以下指令切换目录并执行测试程序:

cd /userdata/inference_with_lite/
python3 test.py

       结果如下所示:

4. rknn-toolkit-lite流程说明

4.1 使用流程图

       RKNN Tookit Lite使用流程如下:

4.2 例程

        第三小节的例程如下所示:

import platform
import cv2
import numpy as np
from rknnlite.api import RKNNLiteRKNN_MODEL = '10class_ResNet50_pre.rknn'
IMG_PATH = './test-1.jpg'
INPUT_SIZE = 224BOX_THRESH = 0.25
NMS_THRESH = 0.6CLASSES = ("SUV", "bus", "family sedan", "fire engine", "heavy truck", "jeep", "minibus", "racing car", "taxi", "truck")def show_outputs(output):print("softmax output:", output)max_confidence = np.max(output)index = np.where(output == max_confidence)print("max confidence:", max_confidence)print("max confidence index:", index[0][0])print("CLASSES predict: ", CLASSES[index[0][0]])def softmax(x):return np.exp(x)/sum(np.exp(x))if __name__ == '__main__':rknn_lite = RKNNLite()# load RKNN modelprint('--> Load RKNN model')ret = rknn_lite.load_rknn(RKNN_MODEL)if ret != 0:print('Load RKNN model failed')exit(ret)print('done')# Set inputsimg = cv2.imread(IMG_PATH)img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)resize_img = cv2.resize(img,(224,224))# init runtime environmentprint('--> Init runtime environment')ret = rknn_lite.init_runtime(target=None)if ret != 0:print('Init runtime environment failed')exit(ret)print('done')# Inferenceprint('--> Running model')outputs = rknn_lite.inference(inputs=[resize_img])print("outputs[0]:", outputs[0])print("outputs[0].shape:", outputs[0].shape)show_outputs(softmax(np.array(outputs[0][0])))rknn_lite.release()

5. API详细说明

5.1 RKNNLite初始化及对象释放

       在使用RKNN Toolkit Lite时,都需要先调用RKNNLite()方法初始化一个RKNNLite对象,并在用完后调用该对象的release()方法将资源释放掉。

       初始化RKNNLite对象时,可以设置verbose和verbose_file参数,以打印详细的日志信息。其中verbose参数指定是否要在屏幕上打印详细日志信息;如果设置了verbose_file参数,且verbose参数值为True,日志信息还将写到这个参数指定的文件中。

       举例如下:

# 将详细的日志信息输出到屏幕,并写到inference.log文件中 
rknn_lite = RKNNLite(verbose=True, verbose_file='./inference.log') # 只在屏幕打印详细的日志信息 
rknn_lite = RKNNLite(verbose=True) 
… 
rknn_lite.release() 

5.2 加载RKNN模型

APILoad_rknn
描述加载RKNN模型。
参数path:RKNN模型文件路径
load_model_in_npu: 是否直接加载npu中的rknn模型。其中path为rknn模型在npu中的路径。只有当RKNN Toolkit Lite运行在连有NPU设备的PC上或RK3399Pro Linux开发板时才可以设为True。默认值为False.
返回值0:加载成功
-1:加载失败

       举例如下:

# 从当前目录加载 ResNet50模型
ret = rknn_lite.load_rknn('10class_ResNet50_pre.rknn')

5.3 初始化运行时环境

       在模型推理之前,必须先初始化运行时环境,确定模型在哪一个芯片平台上运行。

APIinit_runtime
描述初始化运行时环境。确定模型运行的设备信息(芯片型号、设备 ID)。
参数target:目标硬件平台,目前支持“rk3399pro”、“rk1806”、“rk1808”、“rv1109”、 “rv1126”。默认为 None,将根据应用所运行的开发板自动选择。
device_id:设备编号,如果 PC 连接多台智能设备时,需要指定该参数,设备编号可 以通过”list_devices”接口查看。默认值为 None。
async_mode:是否使用异步模式。调用推理接口时,涉及设置输入图片、模型推理、 获取推理结果三个阶段。如果开启了异步模式,设置当前帧的输入将与推理上一帧同 时进行,所以除第一帧外,之后的每一帧都可以隐藏设置输入的时间,从而提升性能。 在异步模式下,每次返回的推理结果都是上一帧的。该参数的默认值为 False。
返回值0:加载成功
-1:加载失败

        举例如下:

	# init runtime environmentprint('--> Init runtime environment')ret = rknn_lite.init_runtime(target=None)if ret != 0:print('Init runtime environment failed')exit(ret)print('done')

5.4 模型推理

APIinference
描述对指定输入进行推理,返回推理结果。
参数inputs:待推理的输入,如经过 cv2 处理的图片。类型是 list,列表成员是 ndarray。
data_type:输入数据的类型,可填以下值:’float32’, ‘float16’, ‘uint8’, ‘int8’, ‘int16’。 默认值为’uint8’。
data_format:数据模式,可以填以下值: “nchw”, “nhwc”。默认值为’nhwc’。这两个的 不同之处在于 channel 放置的位置。
inputs_pass_through: 将输入透传给 NPU 驱动。非透传模式下,在将输入传给 NPU 驱 动之前,工具会对输入进行减均值、除方差等操作;而透传模式下,不会做这些操作。 这个参数的值是一个数组,比如要透传 input0,不透传 input1,则这个参数的值为[1, 0]。默认值为 None,即对所有输入都不透传。
返回值results:推理结果,类型是 list,列表成员是 ndarray。

       举例如下:

       以分类模型为例,如 resnet50,代码如下(完整代码参考第三小节):

	# Inferenceprint('--> Running model')outputs = rknn_lite.inference(inputs=[resize_img])print("outputs[0]:", outputs[0])print("outputs[0].shape:", outputs[0].shape)show_outputs(softmax(np.array(outputs[0][0])))

5.5 查询 SDK 版本

APIget_sdk_version
描述获取 SDK API 和驱动的版本号。
注:使用该接口前必须完成模型加载和初始化运行环境。
参数
返回值sdk_version:API 和驱动版本信息。类型为字符串

       举例说明:

# 获取 SDK 版本信息 
…… 
sdk_version = rknn_lite.get_sdk_version() 
……

       返回的 SDK 信息如下:

http://www.dtcms.com/wzjs/69050.html

相关文章:

  • wdcp创建网站网站模版
  • 电影网页设计素材网站排名优化手机
  • wordpress为用户添加积分seo岗位职责
  • 烟台快速建站公司推荐一个seo优化软件
  • 伊春网站优化网站百度百科
  • 网站怎么做搜狗排名广东东莞大益队
  • 双语版网站怎么做免费引流微信推广
  • 哪个网站下载软件最安全怎样在百度上建立网站
  • 泊头网站制作案例网站建设seo优化培训
  • 查看网页源代码专业关键词优化平台
  • 长春网站建设方案服务谷歌seo是什么
  • 池州北京网站建设seo外包公司哪家好
  • 东莞厚街有什么好玩的地方seo排名点击
  • 新闻网站网评阵地建设网络推广的方法
  • 朔州网站建设收费多少谷歌chrome浏览器下载
  • 江苏做网站公司排名品牌推广活动策划案例
  • 做册子模板素材有哪些网站免费私人网站建设
  • 石家庄网站建设公司哪家好b2b平台免费推广网站
  • 成品网站源码免费分享网站整合营销推广
  • 面向对象网站开发互联网营销渠道有哪些
  • 江苏省交通运输厅门户网站建设管理办法网站运营推广方式
  • 深圳低价网站建设郑州seo排名第一
  • 河南省建设工程网站线下营销方式主要有哪些
  • 石家庄做网站网络公司长沙seo技术培训
  • 国外做婚纱的网站武汉seo推广优化
  • wordpress 下载受限搜索引擎优化的简写是
  • 哪有做机械设计的网站关键词seo排名怎么做的
  • 国内优秀网站seo怎么刷排名
  • macos系统做网站seo工具大全
  • node.js做网站如何线上推广引流