我是刚入门的新手,现在遇到了一个问题。我在网上找了一个训练英语手写字体的程序,然后得到了一个模型,现在遇到的问题是如何将这个模型转成可以在板子上运行的rknn模型。
训练的代码:https://www.kaggle.com/code/m3rcury02/handwriting-recog
模型后缀: h5格式
这是模型的参数
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 26, 26, 32) 320
max_pooling2d (MaxPooling2D (None, 13, 13, 32) 0
)
conv2d_1 (Conv2D) (None, 13, 13, 64) 18496
max_pooling2d_1 (MaxPooling (None, 6, 6, 64) 0
2D)
conv2d_2 (Conv2D) (None, 4, 4, 128) 73856
max_pooling2d_2 (MaxPooling (None, 2, 2, 128) 0
2D)
flatten (Flatten) (None, 512) 0
dense (Dense) (None, 64) 32832
dense_1 (Dense) (None, 128) 8320
dense_2 (Dense) (None, 26) 3354
=================================================================
Total params: 137,178
Trainable params: 137,178
Non-trainable params: 0 请问我该怎么做
如何将keras模型转成rknn
您好,想要将 h5 格式的模型转换为 rknn 的格式,根据 rknn 的官方文档 02_Rockchip_RKNPU_User_Guide_RKNN_SDK_V1.6.0_CN.pdf 不支持直接转换,但是可以使用先转换为 ONNX 模型再转换为 rknn 模型的方式来实现。weiwowuqing wrote: ↑2024-03-27 2:04 我是刚入门的新手,现在遇到了一个问题。我在网上找了一个训练英语手写字体的程序,然后得到了一个模型,现在遇到的问题是如何将这个模型转成可以在板子上运行的rknn模型。
训练的代码:https://www.kaggle.com/code/m3rcury02/handwriting-recog
模型后缀: h5格式
这是模型的参数
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
conv2d (Conv2D) (None, 26, 26, 32) 320
max_pooling2d (MaxPooling2D (None, 13, 13, 32) 0
)
conv2d_1 (Conv2D) (None, 13, 13, 64) 18496
max_pooling2d_1 (MaxPooling (None, 6, 6, 64) 0
2D)
conv2d_2 (Conv2D) (None, 4, 4, 128) 73856
max_pooling2d_2 (MaxPooling (None, 2, 2, 128) 0
2D)
flatten (Flatten) (None, 512) 0
dense (Dense) (None, 64) 32832
dense_1 (Dense) (None, 128) 8320
dense_2 (Dense) (None, 26) 3354
=================================================================
Total params: 137,178
Trainable params: 137,178
Non-trainable params: 0 请问我该怎么做
Code: Select all
import keras
import keras2onnx
import onnx
from keras.models import load_model
model = load_model('xxxx.h5') #您的 h5 权重文件
onnx_model = keras2onnx.convert_keras(model, model.name)
temp_model_file = 'xxxx.onnx' #输出
onnx.save_model(onnx_model, temp_model_file)
装换为 rknn 模型的方式可以参考文档或是wiki中的RKNN实例使用指南https://wiki.luckfox.com/zh/Luckfox-Pico/RKNN-example ,希望这对您有所帮助
- Attachments
-
- Downloaded 221 times