图片缩略图

深度学习工具箱进口商为TensorFlow,Keras模型

进口预训练Keras模型预测和转移学习

134下载

更新2020年3月18日

TensorFlow-Keras模型的导入器将使您能够导入预训练的Keras模型和权重。然后你可以使用这个模型进行预测或转移学习。或者,您可以将层架构作为层数组或LayerGraph对象导入。然后可以训练这个模型。
打开kerasimporter。mlpkginstall文件将从您的操作系统或MATLAB中启动安装过程。
这个mlpkginstall文件适用于R2017b和更高版本。
使用例:
1.导入Keras层

%导入图层

层= importKerasLayers (“digitsDAGnet.h5”);

%负载的数据集用于训练分类识别数字
digitDatasetPath =完整文件(toolboxdir( 'NNET'), 'nndemos',...
“nndatasets”、“DigitDataset”);

digitData = imageDatastore(digitDatasetPath,…
“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);

%分区的数据集中到训练和测试图像

rng(1) %为重现性
trainingFileSplitRatio = 0.6;
[trainDigitData,testDigitData] = splitEachLabel(digitData,...
trainingFileSplitRatio,“随机”);

设置一些培训选项

选择= trainingOptions(20岁的“个”、“MaxEpochs”……
“InitialLearnRate”, 0.001);

%的列车网络的

事先= trainNetwork (trainDigitData层,选项);

读取图像进行分类

I = imread(完整文件(digitDatasetPath, '5', 'image4009.png'));
数字
imshow(我)

%使用网络对图像进行分类
标记=分类(convnet,I);
title(['分类结果' char(label)])

2.导入一个预先训练过的Keras网络
NETFILE = 'digitsDAGnet.h5';
一会= {' 0 ',' 1 ',' 2 ',' 3 ',' 4 ',' 5 ',' 6 ',' 7 ',' 8 ',' 9 '};
network = importKerasNetwork(netfile, 'ClassNames', ClassNames);

%读取图像进行分类
digitDatasetPath = fullfile(toolboxdir('nnet'), 'nndemos','nndatasets',…
“DigitDataset”);
I = imread(完整文件(digitDatasetPath, '5', 'image4009.png'));

%使用网络对图像进行分类
label =分类(网络,I);

%显示图像和分类结果
数字
imshow(我)
title(['分类结果' char(label)])

评论和评分(47)

James34602

常见Keras推理功能缺失:
1.动态输入/输出轴
2.置换层
3.TimeDistributed层
4.重塑层

James34602

Mathworks可以添加TimeDistributed支持吗?金宝app

如何在gpu上加载网络?
谢谢

Saikat Sarkar

使用importKerasNetwork时出错(第94行)。无法导入网络。还不支持体重共享。金宝app有什么最新消息吗?

我也得到这个错误:“进口Keras网络与1个以上的输入或输出层还不支持”。金宝app有任何更新吗?

仍然寻找离线安装或进口商为此,我有一个非互联网接入Windows 10系统与2018b和深度学习结核病安装和这个包不会安装没有'打电话回家'。什么好主意吗?

摩根

我有同样的问题,因为腾飞丰。我想这是导致问题的Timedistributed(密集)层。Anyidea时,这将是固定的吗?

有没有离线的Linux安装程序?或者关于如何离线下载Linux的说明?我的情况是,这是需要的,没有任何网络。

腾飞冯

我刚刚得到一个错误反馈“无法导入网络,因为某些网络层尚不支持”;金宝app我只是设计一个简单的模型,包括LSTM和TimeDistributed(密集)层。所以,我很满意,如果这些功能可以在未来得到支持。金宝app

支持Jeff Bailey关于安装on - off - line matlab实例的问题…

Umut Demir

你好,我一直得到“引用不存在的字段'class_name'.”错误。我找不到任何来源来解决这个问题。

杨道

嗨,我想知道是否有办法导入一个包含自定义层的模型?谢谢。

如何获得用于已安装Matlab的离线、非internet系统的TensorFlow-Keras模型的深度学习工具箱导入器的副本?本页上的下载按钮只指向必须在matlab中打开的matlab软件包安装脚本。

Chijiang段

你好,
当我导入一个tf时,我得到了这个警告。批处理归一化层的keras模型:

警告:无法导入图层。具有指定设置的Keras层“批处理规范化”尚未完成
金宝app支持的。问题是:层“bn_1”:无法导入层。“轴”的值比其他
还不支持-1或3。金宝app

我非常确定keras模型的BatchNormalization layer中的‘axis’参数已经被设置为-1。
有没有人有我应该怎么解决这个问题的任何想法?
或者,也许它只是一个进口功能的错误吗?

谢谢你们。
开发这个伟大工具的伟大工作。
Chijiang

嗨,伙计们,

是否计划在conv2d转置中包含填充值支持?金宝app

我得到了以下警告:
警告:无法导入图层。不支持带有指定设置的Keras层“conv2d转置”。金宝app问题是:层
'conv2d_transpose_3':无法导入图层。填充值还不受支持。金宝app

预先感谢你的帮助。
致以最亲切的问候
阿里

我得到这个错误:

使用importKerasLayers出错(第96行)
无法从文件“mask_rcnn.h5”导入图层
因为它不包含“model_config”属性。

知道怎么解决吗?

如果它能支持>1输出层,那对我们来说就太棒了……金宝app什么计划吗?

SergeyLA

这就跟你问声好!随着upgarde到keras 2.2.4 Keras型号,像这样的一个层,请添加支持:金宝app
model.add(TimeDistributed(密集(LEN(映射))))

或者如果用Matlab实现的TimeDistributed图层是不同的,请添加注释说明如何制作具有相似配置的模型。

Ting苏

Hi Bingzhao和Argo, MIMO(多输入多输出)网络还不支持。金宝app我们将考虑在未来支持进口多输入多输出网络金宝app。

Ting苏

Hi Issac, keras 2.2.4的问题是由keras 2.2.3中引入的一个突变引起的。我们将很快提供解决方案。

嗨,我无法导入用keras==2.2.4保存的网络。降级到keras==2.1.0似乎工作得很好。

Bingzhao山

这就跟你问声好!我也得到了以下错误“导入Keras网络有不止1级的输入或输出层目前还不支持。”金宝appAlso, sincerely hope that non-image input layers are supported. Thanks!

jianY徐

我想创建一个特殊的层噪声添加到数据。但我的MATLAB版本是2017b,我没有榜样“gaussianNoiseLayer.m”。我真的想知道增加噪声层的编码结构。
非常感谢!!

Kivanc高丝

我使用的是Linux安装的Matlab 2018a。即使我的工具箱配置和版本满足要求,也不能安装该软件包。
该附加“这个附加不支持你的平台”,并没有让我安装包浏览器门户网站的状态。金宝app

epic

Chia-Yi Tai, Keras与MATLAB的匹配精度至少要达到1e-4。也许你的预处理在这两种情况下是不完全一样的。请联系技术支持或MATLAB 金宝appAnswers以获得更具体的响应。

嘉易泰

我已经成功导入keras训练模型和分类图片,但我得到了不同的结果之间的Python (tensorflow)和MATLAB的答案进行分类,模型是完全相同,我也使用调整和翻转来匹配不同的,是任何其他可能的原因还是它仍然没有不同的神经网络运行时,
谢谢你!

ARGO阳

你好,我在Keras导入yolo模型时,也得到错误提示“不支持导入1个以上输入输出层的Keras网络”。金宝app但是Mathworks中有一份关于yolonet的文档。玛特,你是怎么得到约洛内的?垫吗?导入其他模型或全部经过matlab训练!
谢谢你!

温刘

这就跟你问声好!我也得到了以下错误“导入Keras网络有不止1级的输入或输出层目前还不支持。”金宝app希望你可以通过支持多输入或多输出下一次解决它。金宝app多谢。

罗伯特

Goodday,
我得到以下错误'导入Keras网络与超过1输入或输出层还不支持。金宝app“你知道这项研究什么时候会得到支持吗?”金宝app多谢。

您好唐Mathis的,通过输入作为矢量输入,我改变命令此
模型= importKerasNetwork( 'model16.json', 'WeightFile', 'model16.h5', 'OutputLayerType', '分类', 'ImageInputSize',[1 37], '类名',类名);
但是,当我做了那朵,它说,“ImageInputSize”不是一个可识别的参数。是否有任何其他的方式来传递的输入作为vector.Kindly帮助

epic

Gautam, MATLAB网络总是以inputImageLayer作为第一层。如果您的Keras网络有向量输入,而不是图像输入,您将把它们作为“行图像”传递给MATLAB网络(高度=1)。

这只适用于图像输入吗?我使用的输入不是图像,当我检查keras和matlab中的分类器输出时,它们都是不同的。有人能澄清一下吗?

雨帆他

希望你能让它支持PReLu。金宝app
谢谢

Yodish

它适用于windows 10吗?得到错误消息

是否有可能像keras.layers.ConvLSTM2D keras.layers定义导入层?
那像TimeDistributed这样的包装纸呢?有办法导入吗?或者在Matlab中有类似的层吗?

是否会支持以前的Matlab金宝app版本?

大卫Kuske

很高兴今天看到它!我会tomorry

大卫Kuske

到目前为止,在Matlab中使用带有LSTM回归的NN有什么方法吗?我尝试了Matlab nn工具箱,还不支持。金宝app
然后我在Keras实现了它,现在我不能导入我的训练网络使用:/。

大卫Kuske

当将LSTM支持实施?金宝app谢谢你!

Ting苏

嗨,塔尔莫,谢谢你的反馈。我们将与您联系以获得关于重塑层的用例的更多细节。

优秀的工具箱!我们能不能得到重新塑造图层的支持?金宝app否则就很难从稠密层过渡到凸面/凸面置换层。

你好,我得到一个错误,当试图安装这个:“支持包不兼容您的版本的MATLAB或操作系统。”金宝app

我在用Matlab R2017b的MacOS塞拉利昂10.12.6

MATLAB版本兼容性
创建与R2017b
与R2017b到R2020a兼容
平台的兼容性
视窗 苹果系统 Linux