热提取keras模型数据到MATLAB



我没有Matlab的深度学习工具箱。我只想在MATLAB中实现分类部分。我会在Keras中训练网络,并以JSON和h5格式保存模型。最后,从MATLAB中加载Jason和h5格式的数据,并使用该模型预测测试样本。

我已经使用Keras创建并保存了一个具有一层模型的二元分类器,如下所示:

model.add(keras.layers.Dense(25, input_dim=232, activation='relu'))
model.add(keras.layers.Dense(1, activation='sigmoid'))
model_json = model.to_json()
with open("model.json", "w") as json_file:
json_file.write(model_json)
model.save_weights("model.h5")

接下来我可以从MATLAB中读取Json文件:

fid = fopen(fileName); % Opening the file
raw = fread(fid,inf); % Reading the contents
str = char(raw'); % Transformation
fclose(fid); % Closing the file
data = jsondecode(str); % 

现在我如何在MATLAB中建立模型来预测样本?权重和偏差是如何存储在JSON的h5文件?

欢迎指教。

首先,您需要查看文件中存在哪些数据集以及在哪个组中。为此,您可以在MatLab命令提示符中输入以下命令:h5disp(fileName)

这将显示每个组下的所有组和数据集,然后您可以通过在h5read中指定从组访问所需的数据集。链接中有一个示例:https://au.mathworks.com/help/matlab/ref/h5read.html

最新更新