文件交换

图片缩略图

张量流模型的深度学习工具箱转换器

导入预训练的TensorFlow模型进行预测和迁移学习
3.1
25评级

65下载

更新2021年5月12日

TensorFlow模型的导入器将使您能够导入预先训练的TensorFlow模型和权重。然后,您可以使用这个模型进行预测或迁移学习。或者,你也可以将层结构导入为图层数组或LayerGraph对象。然后你可以训练这个模型。

打开kerasimporter。mlpkginstall文件将从您的操作系统或MATLAB内部启动您所拥有的版本的安装过程。

R2021a中增加了通过使用importTensorFlowNetwork和importTensorFlowLayers导入TensorFlow SavedModel格式的功能。这些函数只与TensorFlow 2兼容。如果你正在使用R2017b到R2020b,你可以使用importKerasNetwork和importKerasLayers函数以HDF5格式导入模型。强烈建议您安装最新版本的支持包,并将其与MATLAB R2021a版本一起使用,以获得最佳效果。万博1manbetx

下面的链接将帮助你从例子开始:
导入预先训练的TensorFlow网络://www.tianjin-qmedu.com/help/deeplearning/ref/importtensorflownetwork.html
从TensorFlow网络导入层://www.tianjin-qmedu.com/help/deeplearning/ref/importtensorflowlayers.html

评论及评分(68

陈广敏

嗨,伙计们,

有人尝试过importTensorFlowNetwork函数吗?
matlab提供的示例运行无问题。
虽然这个功能支持其他网络,但似乎只有CNN是唯万博1manbetx一成功的网络例子。

有人成功导入其他网络像lstm或gru吗?

谢谢

陈广敏

看来这个功能还没发育好。Keras 2.2.4版本是针对tensorflow v1.x的。Matlab没有进一步开发tensorflow v2.x。

Anwesha情郎

如何解决以下问题?
警告:文件模型。h5'被保存在Keras版本'2.4.0'中。不支持导入比“2.2.4”更新的Keras版本。万博1manbetx导入的模型可能不完全匹配
模型保存在Keras文件中。

使用nnet.internal.cnn.keras.ParsedKerasModel错误(第26行)
断言失败。
nnet.internal.cnn.keras.importKerasNetwork(第23行)中的错误
KM = nnet.internal. cn.keras . parsedkerasmodel (ModelConfig, TrainingConfig);
importKerasNetwork错误(第91行)
网络= nnet.internal. cn.keras . importkerasnetwork (modelfile, varargin{:});
Untitled中的错误(第1行)
model = importKerasNetwork("model.h5");

莫妮卡Pytlarz

Karolay De La Cruz Mosquera

Zeeshan艾哈迈德

如何将mat文件转换为TensorFlow lite

丽莎·贝克曼

我得到和尼科莱一样的警告和错误。我用的是MATLAB 2020b。我把这个模型上传到我的社区主页上——如果有更好的分享方式,请告诉我。谢谢!

Stephen Vanreusel

Ting苏

尼科莱,你好像碰到bug了。你能和我们分享一下你的模型吗?

尼科莱Jørgensen

警告:文件模型。h5'被保存在Keras版本'2.4.0'中。不支持导入比“2.2.4”更新的Keras版本。万博1manbetx导入的模型可能不完全匹配
模型保存在Keras文件中。

使用nnet.internal.cnn.keras.ParsedKerasModel错误(第26行)
断言失败。
nnet.internal.cnn.keras.importKerasNetwork(第23行)中的错误
KM = nnet.internal. cn.keras . parsedkerasmodel (ModelConfig, TrainingConfig);
importKerasNetwork错误(第91行)
网络= nnet.internal. cn.keras . importkerasnetwork (modelfile, varargin{:});
Untitled中的错误(第1行)
model = importKerasNetwork("model.h5");

卢卡斯加西亚

洛奇•丹尼斯

Shounak Mitra

源 陈

无法导入图层。不支持指定设置的Keras层“BatchNormalization”。万博1manbetx问题是:图层
'batch_normalization':无法导入层。不支持除-1或3之外的'axis'值。万博1manbetx
请问如何解决这个问题?

何义 何

wagenaartje

Nursadul马蒙

显示以下错误“无法导入网络。”目前还不支持体重分担。”万博1manbetx

smsinks

这个函数不起作用。即使对于这里给出的例子也是如此。

layers = importKerasLayers('digitsDAGnet.h5');
这种类型的变量不支持大括号索引。万博1manbetx

错误
nnet.internal.cnn.keras.readModelAndTrainingConfigs > iVerifyKerasVersion(线
46)
MajorVersion = str2double(VersionCell{1}(1));

nnet.internal.cnn.keras.readModelAndTrainingConfigs中的错误(第8行)
iVerifyKerasVersion (ConfigFile);

nnet.internal.cnn.keras.importKerasLayers中的错误(第11行)
[ModelConfig, TrainingConfig] =
nnet.internal.cnn.keras.readModelAndTrainingConfigs (ConfigFile、格式);

importKerasLayers错误(第102行)
Layers = nnet.internal. cn.keras . importkeraslayers (modelfile, varargin{:});

凯尔·彼得森

编译后的应用程序支持这个函数吗?万博1manbetx

José路易斯·桑多瓦尔

我有接下来的两个错误:
警告:文件'resnet50_pascal_cards。h5'保存在Keras版本'2.3.1'中。导入比“2.2.4”更新的Keras版本
还不支持。万博1manbetx导入的模型可能与保存在Keras文件中的模型不完全匹配。
使用importKerasNetwork错误(第94行)
无法导入网络。还不支持重量分担。万博1manbetx
警告:文件'resnet50_pascal_cards_inference。h5'保存在Keras版本'2.3.1'中。导入更新的Keras版本
'2.2.4'还不支持。万博1manbetx导入的模型可能与保存在Keras文件中的模型不完全匹配。
使用importKerasNetwork错误(第94行)
Keras网络没有输出层,因为模型文件不包含丢失信息。将输出层添加到导入的
网络,使用'OutputLayerType'参数指定其类型。要提供类名,请使用'ClassNames'参数。

这方面有进展吗?

谢谢

穆斯塔法利亚

虽然回归部分对ImportKerasNetwork函数工作正常,但分类部分工作不稳定。连续给出错误“引用不存在的字段‘xxx-Layer’。”importKerasLayers部分也没有被使用,因为tf的保存和加载权重没有正确工作。

tf.version =魅惑
tf.keras.version = 2.2.4-tf
Matlab。R2020a

James34602

缺少常见的Keras推断功能:
1.动态输入/输出轴
2.交换层
3.TimeDistributed层
4.重塑层

James34602

Mathworks可以添加timedidistributed支持吗?万博1manbetx

尼古拉Franzoso

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

埃米尔Kristiansen

Saikat Sarkar

错误使用importKerasNetwork(第94行)。无法导入网络。还不支持重量分担。万博1manbetx有什么进展吗?

Seyed Mostafa Mousavi Kahaki

我还得到这个错误:“还不支持导入具有多个输入或输出层的Keras网络”。万博1manbetx有什么更新吗?

那么MIMO(多输入多输出)网络呢?

拉里·里德尔

仍然在寻找离线安装程序或导入程序,我有一个非互联网接入的Windows 10系统,安装了2018b和深度学习Tb,这个包将不会安装“打电话回家”。什么好主意吗?

摩根

我和冯腾飞有同样的问题。我想这是时间分布(密集)层导致的问题。知道什么时候能修好吗?

布莱恩经纪

有没有办法获得Linux的脱机安装程序?或者关于如何离线下载Linux的说明?我遇到了这样的情况,不需要任何人脉。

腾飞冯

我只是得到一个错误反馈'无法导入网络,因为一些网络层还不支持';万博1manbetx我只是设计了一个简单的模型,包括lstm和timedidistributed (density)层。所以如果这些功能能在未来得到支持,我将非常满意。万博1manbetx

本·威瑟雷尔

附和Jeff Bailey关于离线安装matlab实例的问题…

Umut Demir

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

杨淘

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

杰夫•贝利

如何为安装了Matlab的离线、非互联网系统获取TensorFlow-Keras模型的深度学习工具箱导入器副本?本页上的下载按钮只指向必须在matlab中打开的matlab包安装脚本。

Chijiang段

你好,
当我导入一个tf时,会有这个警告。带有批处理归一层的Keras模型:

警告:无法导入图层。Keras层的“BatchNormalization”还没有指定的设置
万博1manbetx支持。问题是:层'bn_1':无法导入层。'轴'之外的值
目前还不支持-1或3。万博1manbetx

我很确定“axis”参数在keras模型的BatchNormalization层中被设置为-1。
有人知道我该怎么解决这个问题吗?
或者这可能只是导入函数的一个bug ?

谢谢你们。
开发这个伟大的工具做得很好。
Chijiang

杜马兹阿里

嗨,伙计们,

有没有计划在Conv2DTranspose中包含填充值支持?万博1manbetx

我收到了以下警告:
警告:无法导入图层。Keras层“conv2d转置”的指定设置还不支持。万博1manbetx问题是:图层
'conv2d_transpose_3':无法导入图层。不支持填充值。万博1manbetx

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

我得到了这个错误:

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

知道怎么解吗?

内森Lepora

这将是伟大的我们,如果它可以支持>1输出层…万博1manbetx什么计划吗?

munaiyi munaiyi

SergeyLA

这就跟你问声好!随着keras 2.2.4的升级,请添加对keras模型的支持,如下图所示:万博1manbetx
model.add (TimeDistributed(密度(len(映射))))

或者如果timedi分布式层的Matlab方法不同,请说明如何制作类似配置的模型。

Ting苏

嗨,Bingzhao和Argo, MIMO(多输入多输出)网络还不支持。万博1manbetx未来我们将考虑支持引入MIMO网络。万博1manbetx

Ting苏

嗨,Issac, keras 2.2.4的问题是由keras 2.2.3引入的一个突破性变化引起的。我们会尽快提供解决方案。

艾萨克·莱顿

你好,我无法导入keras==2.2.4保存的网络。降级到keras==2.1.0似乎没问题。

Bingzhao山

这就跟你问声好!我还得到以下错误“还不支持导入具有多个输入或输出层的Keras网络”。万博1manbetx同时,真诚希望支持非图像输入层。万博1manbetx谢谢!

jianY徐

我想创建一个特殊的层来添加噪声的数据。但是我的matlab版本是2017b,我没有“gaussianNoiseLayer.m”的例子。我很想知道加噪声层的编码结构。
非常感谢!!

Kivanc高丝

我使用的是Linux安装的Matlab 2018a。即使我的工具箱配置和版本满足要求,也不能安装该软件包。
加载项资源管理器门户显示“您的平台不支持此加载项”,不让我安装该包。万博1manbetx

epic

Chia-Yi Tai, Keras和MATLAB之间的匹配至少应该精确到1e-4。也许这两种情况下的预处理并不完全相同。请联系支持或MATLAB回答更万博1manbetx具体的回答。

Chia-Yi大

我导入了keras训练模型并成功的分类了图像,但是我用Python(tensorflow)和MATLAB的分类答案得到了不同的结果,模型是完全相同的,我也使用了resize和flip来匹配不同的,是其他原因还是神经网络运行时还是有一点不同的。
谢谢你!

阿尔戈杨

你好,我用Keras导入yolo模型时也出现了错误“Import Keras networks with more than 1 input or output layer is not suppor万博1manbetxted”。但是Mathworks中有一个关于yolonet的文档。马特,你是怎么得到你的?垫吗?导入其他模型或完全由matlab训练!
谢谢你!

温刘

这就跟你问声好!我还得到以下错误“还不支持导入具有多个输入或输出层的Keras网络”。万博1manbetx希望下次你能通过支持多输入或多输出来解决这个问题。万博1manbetx多谢。

罗伯特。

Goodday,
我得到以下错误“还不支持导入具有多个输入或输出层的Keras网络”。万博1manbetx你知道什么时候会支持吗?万博1manbetx多谢。

Gautam shreedha bhat

嗨,唐·马西斯,为了把输入作为矢量输入传递,我把命令改成了这个
model = importKerasNetwork('model16.json','WeightFile','model16. json','h5','OutputLayerType','classification','ImageInputSize',[1 37], 'classnames',classnames);
但是当我这样做的时候,它说'ImageInputSize'不是一个可识别的参数。是否有其他方法将输入作为向量传递。好心的帮助

epic

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

Gautam shreedha bhat

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

Yufan他

希望你能让它支持PReLu。万博1manbetx
谢谢

Yodish

它能在Windows 10上运行吗??获取错误消息

dudy卡尔

是否可以导入keras中定义的层。像keras.layers.ConvLSTM2D?
像timedidistributed这样的包装器呢?有没有办法导入它或者在Matlab中有一个类似的层?

菲利普Zelger

是否支持以前的Matlab版万博1manbetx本?

大卫Kuske

很高兴今天看到它!我明天再试试

大卫Kuske

到目前为止,是否有任何方法在Matlab中使用一个带有LSTM回归的神经网络?我尝试了Matlab nn工具箱,还不支持。万博1manbetx
然后我在Keras中实现了它,现在我不能导入我训练过的网络使用:/。

大卫Kuske

什么时候实现LSTM支持?万博1manbetx谢谢你!

Ting苏

你好,Talmo,谢谢你的反馈。我们将联系您以获取更多关于重塑层的用例细节。

Talmo佩雷拉

优秀的工具箱!我们有可能得到重塑图层的支持吗?万博1manbetx这使得它很难从致密层到Conv2d/ConvTranspose2d,否则。

嗨,当我试图安装这个时,我得到一个错误:“支持包与您的MATLAB或操作系统版本不兼容。”万博1manbetx

我在macOS Sierra 10.12.6上使用Matlab R2017b

MATLAB版本兼容性
使用R2017b创建
兼容R2017b ~ R2021a
平台的兼容性
窗户 macOS Linux

社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!

开始狩猎!