RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装

  • 读取模型各层

1,最好在Conda下新建一个虚拟环境进行安装。
Anaconda 官网下载地址:https://www.anaconda.com/download/
配置conda环境变量:

控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH
中添加 **anaconda的安装目录的Scripts文件夹**,
比如我的路径是D:\rjaz\anaconda\az\Scripts, 看个人安装路径不同需要自己调整

2,配置conda源
https://www.cnblogs.com/tianbushengfuziwanguruchangye/p/15667415.html
激活conda
https://blog.csdn.net/hejp_123/article/details/92151293

3,配置基础Python环境为Python3.6

在虚拟环境下使用以下命令新建一个RKNN环境,如下:

conda create --name=rkmd python=3.6.8

4,执行以下命令进入虚拟环境:

conda activate rkmd

进入虚拟环境后,再执行以下命令安装深度学习框架,如Tensorflow,Pytorch,Keras等。

pip install tensorflow==1.14.0
pip install torch==1.9.0+cpu torchvision==0.10.0+cpu -f https://download.pytorch.org/whl/torch_stable.html --user
pip install mxnet==1.5.0
pip install opencv-python
pip install gluoncv
pip install lmdb==0.95

下载rknn安装包rknn_toolkit-1.6.0-cp36-cp36m-win_amd64.whl,cd 转到安装包目录位置下,执行以下命令进行安装。

pip install rknn_toolkit-1.6.0-cp36-cp36m-win_amd64.whl

4,检测rknn是否安装成功,输入以下命令:

python
from rknn.api import RKNN

若无报错则安装RKNN成功

5,案例使用,模型转换:

使用的模型出自以下:https://github.com/bubbliiiing/mobilenet-ssd-keras/releases/download/v1.0/mobilenet_ssd_weights.h5 权重进一步训练生成的模型。训练环境为tf1.13+keras2.1.5

注意,在保存权重时需要将网络与权重参数一起保存,在保存函数中将save_weights_only设置为False即可,如下所示。

后面首先需要对于Keras训练出的H5权重进行转换生成pb文件,代码如下:

from nets.ssd_training import MultiboxLoss, get_lr_scheduler
from keras.models import load_model
import tensorflow as tf
import os
from keras import backend as K
from tensorflow.python.framework import graph_util, graph_io
from tensorflow.python.platform import gfile

#h5topb

def h5_to_pb(h5_weight_path, output_dir, out_prefix="output_", log_tensorboard=True):if not os.path.exists(output_dir):os.mkdir(output_dir)h5_model = load_model(h5_weight_path,custom_objects={'compute_loss':MultiboxLoss(num_classes=9, neg_pos_ratio=3.0).compute_loss})out_nodes = []for i in range(len(h5_model.outputs)):out_nodes.append(out_prefix + str(i + 1))tf.identity(h5_model.output[i], out_prefix + str(i + 1))model_name = os.path.splitext(os.path.split(h5_weight_path)[-1])[0] + '.pb'sess = K.get_session()init_graph = sess.graph.as_graph_def()main_graph = graph_util.convert_variables_to_constants(sess, init_graph, out_nodes)graph_io.write_graph(main_graph, output_dir, name=model_name, as_text=False)

读取模型各层

def read_pb(GRAPH_PB_PATH):with tf.Session() as sess:print("load graph!!!")with gfile.FastGFile(GRAPH_PB_PATH, 'rb') as f:graph_def = tf.GraphDef()graph_def.ParseFromString(f.read())tf.import_graph_def(graph_def, name='')for i, n in enumerate(graph_def.node):print("Name of the node - %s" % n.name)h5_to_pb(h5_weight_path='./testrknn.h5', output_dir='./')
read_pb('./testrknn.pb')

在终端中将打印生成的pb文件模型的各个节点的名称,部分如下所示,非常重要,在模型转换时需要用到。

之后进入rknn的虚拟环境,输入以下指令进入可视化转换界面,如下所示::

python -m rknn.bin.visualization

查看模型结构:https://netron.app/


本文只记录,避免以后复现找不到资料。

RK3399学习笔记 1.0.3---python环境 Firefly Core-3399pro-jd4 Win10上RKNN工具安装相关推荐

  1. 之前安装的python环境可以删除吗-在Mac上删除自己安装的Python方法

    推荐使用 Homebrew 来安装第三方工具.自己安装的python散落在电脑各处,删除起来比较麻烦.今天在此记录一下删除的过程(本人以Python3.6为例). 删除Python 3.6 frame ...

  2. Python学习笔记 1.0 基础内容篇章

    Python学习笔记 1.0 基础内容篇章 注释 变量 一.定义变量 二.使用变量 bug和debug bug: Debug工具: 数据类型 认识数据类型 在定义数据类型时发生的错误: 数据类型的补表 ...

  3. ESP32学习笔记(1)——搭建环境、编译烧写(Windows+VS Code)

    Espressif-IDE 环境搭建参看 ESP32学习笔记(50)--搭建环境.编译烧写(Windows+Espressif-IDE) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1. ...

  4. ESP32学习笔记(51)——搭建环境、编译烧写(Windows+Espressif-IDE)

    VS Code 环境搭建参看 ESP32学习笔记(1)--搭建环境.编译烧写(Windows+VS Code) 一.搭建环境 1.1 官方资料 ESP-IDF 编程指南 1.2 下载Espressif ...

  5. React Native学习笔记一之搭建开发环境

    因为项目需要,今天开始正式学习React Native,先来搭建个开发环境 忐忑的心情 因为项目比较急,而且客户要求使用React Native开发,只能先学点基础然后在项目中使用的时候,边做边学了, ...

  6. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-04-基于Python的LeNet之MLP

    原文地址可以查看更多信息 本文主要参考于:Multilayer Perceptron  python源代码(github下载 CSDN免费下载) 本文主要介绍含有单隐层的MLP的建模及实现.建议在阅读 ...

  7. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-03-基于Python的LeNet之LR

    原地址可以查看更多信息 本文主要参考于:Classifying MNIST digits using Logistic Regression  python源代码(GitHub下载 CSDN免费下载) ...

  8. Fuzz学习笔记(一)—— WinAFL环境搭建与基本使用

    WinAFL学习笔记(一)-- WinAFL环境搭建 环境配置 安装步骤 1)安装git 2)安装CMake 3)编译dynamorio 编译32位 编译64位 4)编译winafl 编译32位 编译 ...

  9. ESP8266学习笔记(1)——搭建环境、编译烧写(NONOS SDK)

    RTOS SDK环境搭建参看 ESP8266学习笔记(17)--搭建环境.编译烧写(RTOS SDK) 一.搭建环境 1.1 ESP8266 SDK 入门指南 官网下载:https://www.esp ...

最新文章

  1. markdown grammar
  2. php中显示不出图像,php – 无法显示图像,因为它包含错误
  3. marquee滚动起始位置_巧用喵影关键帧制作滚动水印,让视频小偷无可盗
  4. POJ - 3415 Common Substrings(长度不小于K的公共子串个数)
  5. 产品运营 跨境支付_餐饮网店的运营 跨境支付哪个平台最好
  6. 活动目录系列之二:单域环境的实现(单站点)
  7. word 2013 长篇文档排版案例教程
  8. [刷机教程] android系列 adb操作命令详解,常用adb操作命令详解
  9. android onitemclick参数,Android里的AdapterView中OnItemClickListener监听器四个参数的含义...
  10. DM达梦DSC共享集群+DW(单机)
  11. 一个逻辑问题的分析:“天堂与地狱的守卫”
  12. 用友U8+V13.0安装步骤
  13. 小葵花妈妈课堂开课了:《ArrayList源码浅析》
  14. Python优化算法05——蚁群算法和免疫优化算法
  15. java qq 传送文件_java 传送文件
  16. 找不到网站的服务器 dns 地址,为什么网站一直显示找不到服务器DNS地址?
  17. .NET Framework各个版本(3.5 - 4.0)
  18. FireStart教程:基于SharePoint的出差报销流程五
  19. 印象笔记导出比较好看的html,这些超实用印象笔记模板,让你高效率记笔记
  20. 大类资产配置(一)均值方差模型MOV

热门文章

  1. windows服务编程
  2. 全网页CSS 超链接无下划线
  3. gbk编解码器无法解码的问题,有可能出题出在文件名上
  4. 【数据科学家】什么是数据科学?
  5. NoteExpress使用中的一些问题
  6. c语言编程票务系统,C语言课程设计票务管理系统
  7. 1.dom4j 解析xml
  8. Proteus8 发生关键仿真错误
  9. 利用Matlab编写龙贝格算法(romberg)求函数积分
  10. IK-analyzer添加搜狗词库