RNN模型与转换
在鸽了很久之后,开始更新RNN的案例,相比在图像处理中的CNN,RNN应用在时间序列预测;自然语言处理,如翻译等领域。
完整的内容可能包括:
1)RNN模型的建立
2)RNN模型的转换
3)RNN模型的应用——时间序列预测
4)开发中遇到的问题
RNN 模型建立与onnx转换
环境部署,请参阅
CanMV K230 开发环境部署记录
在文件夹中新建

新建RNN模型
from tensorflow import keras
from tensorflow.keras import layers
inputs = keras.Input(shape=(1,10))
x = layers.LSTM(2)(inputs)
outputs = layers.Dense(1)(x)
model = keras.Model(inputs, outputs)
model.summary()
测试输出
import numpy as np
data=np.ones((1,1,10))
data
result=model.predict(data)
result
模型转换为onnx,也能转换为tflite,有点麻烦忘了方法了。。。
import tensorflow as tf
import os
import onnx
#需要先使用model.save方法保存模型
model.save('model')
#调用tf2onnx将上一步保存的模型导出为ONNX
os.system("python3 -m tf2onnx.convert --saved-model model --output RNN.onnx --opset 13")
检测模型
import onnx
onnx_model = onnx.load("./RNN.onnx")
check = onnx.checker.check_model(onnx_model)
print('Check: ', check) # 返回 Check: None 为成功
修改输入输出的第一个维度,因为转换中会出错
import onnx
onnx_model = onnx.load("./RNN.onnx")
onnx_model.graph.input[0].type.tensor_type.shape.dim[0].dim_value = 1
onnx_model.graph.output[0].type

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



