主要内容

importKerasLayers

从Keras进口层网络

描述

例子

= importKerasLayers (modelfile)进口的层TensorFlow™-Keras网络模型文件。中定义的函数返回层HDF5 (.h5)或JSON (. json)文件的文件名modelfile

这个函数需要深度学习工具箱™转换器TensorFlow模型万博1manbetx支持包。如果这种支持包没万博1manbetx有安装,那么函数提供一个下载链接。

例子

= importKerasLayers (modelfile,名称,值)进口的层从TensorFlow-Keras网络附加选项指定一个或多个参数名称-值对。

例如,importKerasLayers (modelfile ImportWeights,真的)进口的网络层和权重模型文件modelfile

例子

全部折叠

下载和安装的深度学习工具箱转换器TensorFlow模型支持包。万博1manbetx

类型importKerasLayers在命令行中。

importKerasLayers

如果深度学习工具箱为TensorFlow模型转换器支持包没有安装,那么函数提供了一个链接到需要在插件浏览器支持包。万博1manbetx安装支持包,单击该链接,然后单万博1manbetx击安装。检查安装成功的导入层模型文件“digitsDAGnet.h5”在命令行中。如果所需的支持包安装,那么函数返万博1manbetx回LayerGraph对象。

modelfile =“digitsDAGnet.h5”;净= importKerasLayers (modelfile)
网= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

从模型文件导入网络层digitsDAGnet.h5

modelfile =“digitsDAGnet.h5”;层= importKerasLayers (modelfile)
层= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

绘制网络体系结构。

情节(层)

图包含一个坐标轴对象。坐标轴graphplot类型的对象包含一个对象。

指定网络文件导入。

modelfile =“digitsDAGnet.h5”;

导入网络层。

层= importKerasLayers (modelfile)
层= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

加载数据集训练一个分类器识别新的数字。

文件夹= fullfile (toolboxdir (“nnet”),“nndemos”,“nndatasets”,“DigitDataset”);imd = imageDatastore(文件夹,“IncludeSubfolders”,真的,“LabelSource”,“foldernames”);

分区数据集分为训练集和测试集。

numTrainFiles = 750;[imdsTrain, imdsTest] = splitEachLabel (imd, numTrainFiles“随机”);

设置培训选项。

选择= trainingOptions (“个”,“MaxEpochs”10“InitialLearnRate”,0.001);

使用训练数据训练网络。

网= trainNetwork (imdsTrain层,选项);
培训在单CPU。| = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | | |时代迭代时间| Mini-batch | Mini-batch |基地学习| | | | (hh: mm: ss) | | |损失精度率| | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = | | 1 | 1 | 00:00:01 | 15.62% | 31.6977 | 0.0010 | | 1 | 50 | 00:00:15 | 63.28% | 1.2109 | 0.0010 | | 100 | | 00:00:25 | 85.16% | 0.4191 | 0.0010 | | 3 | 150 | 00:00:36 | 95.31% | 0.1755 | 0.0010 | | 200 | | 00:00:46 | 99.22% | 0.0460 | 0.0010 | | 250 | | 00:00:56 | 100.00% | 0.0374 | 0.0010 | | 6 | 300 | 00:01:08 | 96.88% | 0.1225 | 0.0010 | | 350 | | 00:01:19 | 100.00% | 0.0087 | 0.0010 | | 400 | | 00:01:34 | 100.00% | 0.0167 | 0.0010 | | 450 | | 00:01:44 | 100.00% | 0.0097 | 0.0010 | | 500 | | 00:01:54 | 100.00% | 0.0047 | 0.0010 | | 550 | | 00:02:07 | 100.00% | 0.0031 | 0.0010 | | 580 | | 00:02:15 | 100.00% | 0.0059 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |培训完成:马克思时代完成。

运行测试集上的训练网络,不是用于训练网络,预测图像标签(数字)。

YPred =分类(净,imdsTest);欧美= imdsTest.Labels;

计算的准确性。

精度= (YPred = =次)/元素个数之和(欧美)
精度= 0.9856

指定网络文件导入层和权重。

modelfile =“digitsDAGnet.h5”;

导入网络体系结构和权重从您指定的文件。导入层权重,指定“ImportWeights”真正的。与权重函数也进口层从同一HDF5文件。

层= importKerasLayers (modelfile,“ImportWeights”,真正的)
层= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

视图的大小重量在第二层。

重量= layers.Layers (2) .Weights;大小(重量)
ans =1×47 7 1 20

进口的权重函数层权值非空。

指定的网络文件导入层包含权重和文件。

modelfile =“digitsDAGnet.json”;重量=“digitsDAGnet.weights.h5”;

导入网络体系结构和权重从您指定的文件。. json文件不包括一个输出层。指定输出层,所以importKerasLayers增加了一个输出层的网络体系结构。

层= importKerasLayers (modelfile,“ImportWeights”,真的,“WeightFile”权重,“OutputLayerType”,“分类”)
层= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

这个例子展示了如何导入层从pretrained Keras网络取代不支持自定义层的层,和组装层准备网络预测。万博1manbetx

进口Keras网络

导入从Keras层网络模型。网络在“digitsDAGnetwithnoise.h5”分类的图像数字。

文件名=“digitsDAGnetwithnoise.h5”;lgraph = importKerasLayers(文件名,“ImportWeights”,真正的);
警告:无法导入一些Keras层,因为他们是不支持的深度学习工具。万博1manbetx他们已经被占位符层。为了找到这些层,调用这个函数findPlaceholderLayers返回的对象。

Keras网络不支持包含一些层深度学习工具箱。万博1manbetx的importKerasLayers函数显示一个警告,取代了支持层,一层一层的占位符。万博1manbetx

绘制层图使用情节

图绘制(lgraph)标题(“进口网络”)

图包含一个坐标轴对象。坐标轴对象与标题进口网络包含graphplot类型的一个对象。

替换占位符层

替换占位符层,首先识别层的名称来代替。发现使用占位符层findPlaceholderLayers

placeholderLayers = findPlaceholderLayers (lgraph)
placeholderLayers = 2 x1 PlaceholderLayer阵列层:1“gaussian_noise_1”占位符层占位符的GaussianNoise Keras层2的gaussian_noise_2占位符一层一层的GaussianNoise Keras的占位符

显示Keras配置这些层。

placeholderLayers.KerasConfiguration
ans =结构体字段:可训练的:1名称:“gaussian_noise_1”stddev: 1.5000
ans =结构体字段:可训练的:1名称:“gaussian_noise_2”stddev: 0.7000

定义一个自定义高斯噪声层。创造这一层,保存文件gaussianNoiseLayer.m在当前文件夹。然后,创建两个高斯噪声层与进口Keras层相同的配置。

gnLayer1 = gaussianNoiseLayer (1.5,“new_gaussian_noise_1”);gnLayer2 = gaussianNoiseLayer (0.7,“new_gaussian_noise_2”);

用自定义层使用替换占位符层replaceLayer

lgraph = replaceLayer (lgraph,“gaussian_noise_1”,gnLayer1);lgraph = replaceLayer (lgraph,“gaussian_noise_2”,gnLayer2);

情节更新层图使用情节

图绘制(lgraph)标题(“网络取代层”)

图包含一个坐标轴对象。坐标轴对象与标题网络取代层包含一个graphplot类型的对象。

指定类名

如果导入的分类层不包含的类,那么您必须指定这些之前的预测。如果你不指定的类,然后软件自动设置类1,2、……N,在那里N类的数量。

找到的索引分类层通过查看层的属性图。

lgraph.Layers
ans x1 = 15层阵列层:1“input_1”图像输入28 x28x1图片2的conv2d_1卷积20 7 x7x1旋转步[1]和填充“相同”3“conv2d_1_relu”ReLU ReLU 4 conv2d_2的卷积20 3 x3x1旋转步[1]和填充“相同”5“conv2d_2_relu”ReLU ReLU 6 new_gaussian_noise_1高斯噪声的高斯噪声标准差为1.5 7 new_gaussian_noise_2高斯噪声的高斯噪声标准差为0.7 8“max_pooling2d_1”马克斯池2 x2马克斯池步(2 - 2)和填充“相同”9“max_pooling2d_2”马克斯池2 x2马克斯池步(2 - 2)和填充“相同”10 ' flatten_1 Keras平压平激活成一维假设c风格的(行)订单11的flatten_2 Keras平压平激活成一维假设c风格的(行)订单12的concatenate_1深度连接深度连接2输入13“dense_1”完全连接10完全连接层14的activation_1 Softmax Softmax 15 ClassificationLayer_activation_1 crossentropyex分类输出

分类层的名字“ClassificationLayer_activation_1”。查看分类层和检查财产。

粘土= lgraph.Layers(结束)
粘土= ClassificationOutputLayer属性:名称:“ClassificationLayer_activation_1”类:“汽车”ClassWeights:“没有一个”OutputSize:‘汽车’Hyperparameters LossFunction:“crossentropyex”

因为层的属性“汽车”,您必须手动指定的类。设置类0,1、……9,然后用新的代替进口分类层。

粘土。类=字符串(0:9)
粘土= ClassificationOutputLayer属性:名称:“ClassificationLayer_activation_1”类:[0 1 2 3 4 5 6 7 8 9]ClassWeights:“没有一个”OutputSize: 10 Hyperparameters LossFunction:“crossentropyex”
lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);

组装网络

组装层图使用assembleNetwork。函数返回一个DAGNetwork为预测对象,已经可以使用了。

净= assembleNetwork (lgraph)
网= DAGNetwork属性:层:x1 nnet.cnn.layer.Layer[15]连接:[15 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}

进口从Keras网络层参数修正线性单元(PReLU)层。

PReLU层执行一个阈值操作,为每个通道,任何输入值小于零乘以一个标量。PReLU操作是由

f ( x ) = { x 如果 x > 0 一个 x 如果 x 0

在哪里 x 是输入的非线性激活吗 f 频道 , 一个 是扩展参数控制负部分的斜率。下标 一个 表明该参数可以是一个向量和非线性激活不同在不同的频道。

importKerasNetworkimportKerasLayers可以导入一个网络,其中包括PReLU层。这些功能同时支持纯量值和向量值缩万博1manbetx放参数。如果一个尺度参数是一个向量,那么函数取代向量的平均向量元素。你可以修改一个PReLU层向量值导入后尺度参数。

指定网络文件导入。

modelfile =“digitsDAGnetwithPReLU.h5”;

digitsDAGnetwithPReLU包括两个PReLU层。有一个纯量值尺度参数,另一个向量值缩放参数。

进口的网络体系结构和权重modelfile

层= importKerasLayers (modelfile,“ImportWeights”,真正的);
警告:层“p_re_lu_1”与向量值PReLU层参数。的函数替换参数的平均向量元素。你可以改变参数导入后回到一个向量。

importKerasLayers函数显示一个警告PReLu层p_re_lu_1。函数替换的向量值缩放参数p_re_lu_1平均向量的元素。你可以改变参数向量。首先,找到的索引PReLU层通过查看财产。

layers.Layers
ans x1 = 13层阵列层:1“input_1”图像输入28 x28x1图片2的conv2d_1卷积20 7 x7x1旋转步[1]和填充“相同”3“conv2d_2”卷积20 3 x3x1旋转步[1]和填充“相同”4“p_re_lu_1”PReLU PReLU层5‘p_re_lu_2 PReLU PReLU层6“max_pooling2d_1”马克斯池2 x2马克斯池步(2 - 2)和填充“相同”7”max_pooling2d_2马克斯池2 x2马克斯池步(2 - 2)和填充“相同”8 ' flatten_1 Keras平压平激活成一维假设c风格的(行)订单9的flatten_2 Keras平压平激活成一维假设c风格的(行)为10的concatenate_1深度连接深度连接2输入11“dense_1”完全连接10完全连接层12的dense_1_softmax Softmax Softmax 13 ClassificationLayer_dense_1 crossentropyex分类输出

有两个PReLU层。提取第四层p_re_lu_1,最初向量值通道尺寸的尺度参数。

tempLayer = layers.Layers (4)
tempLayer = PreluLayer属性:名称:“p_re_lu_1”RawAlpha: [20 x1单]可学的参数α:0.0044状态参数没有属性。显示所有属性

RawAlpha属性包含了向量值尺度参数,α属性包含一个标量,是一个元素的平均向量的值。重塑RawAlpha在第三维度,将向量的值相对应的频道维度。然后,取代α与重塑RawAlpha值。

tempLayer。α=reshape(tempLayer.RawAlpha,[1,1,numel(tempLayer.RawAlpha)])
tempLayer = PreluLayer属性:名称:“p_re_lu_1”RawAlpha: [20 x1单]可学的参数α:1 x1x20单状态参数没有属性。显示所有属性

取代p_re_lu_1tempLayer

层= replaceLayer(层,“p_re_lu_1”,tempLayer);layers.Layers (4)
ans = PreluLayer属性:名称:“p_re_lu_1”RawAlpha: [20 x1单]可学的参数α:1 x1x20单状态参数没有属性。显示所有属性

现在,p_re_lu_1层有一个向量值缩放参数。

输入参数

全部折叠

包含网络体系结构模型文件的名称,和可能的权重,指定为一个特征向量或字符串标量。文件必须在当前文件夹,在MATLAB上的一个文件夹中®路径,或者你必须包括完整或相对文件路径。

如果modelfile包括

  • 网络体系结构和权重,那么它必须在HDF5 (.h5)的格式。

  • 只有网络体系结构,它可以在HDF5或JSON (. json)的格式。

如果modelfile只包含网络体系结构,那么您可以选择提供重量使用“ImportWeights”“WeightFile”名称-值对参数。如果你提供重量,那么权重文件必须是HDF5格式。

例子:“digitsnet.h5”

数据类型:字符|字符串

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:importKerasLayers (modelfile“OutputLayerType”、“分类”)进口的网络层模型文件modelfile并添加一个输出层为一个分类问题最终Keras层。

类型的输出层函数附加到最后的进口时网络体系结构modelfile没有指定一个损失函数,指定为“分类”,“回归”,或“pixelclassification”。附加一个pixelClassificationLayer(计算机视觉工具箱)计算机视觉对象需要工具箱™。

如果一个网络modelfile有多个输出,那么你不能使用这个参数指定输出层类型。importKerasLayers插入占位符为输出层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayersreplaceLayer,分别。

例子:“OutputLayerType”、“回归”

网络的输入图像的大小,指定为一个向量的两个或三个数值对应(高度、宽度)对灰度图像和(高度、宽度、渠道)分别对彩色图像。网络时使用该信息modelfile没有指定输入的大小。

如果一个网络modelfile有多个输入,那么你不能使用这个参数指定输入的大小。importKerasLayers插入占位符为输入层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayersreplaceLayer,分别。

例子:“ImageInputSize”, [28 28]

进口指标权重以及网络体系结构,指定为真正的

  • 如果“ImportWeights”真正的modelfile包括权重,然后importKerasLayers进口的重量modelfile必须有HDF5 (.h5)的格式。

  • 如果“ImportWeights”真正的modelfile不包括重量,然后您必须指定一个单独的文件,包括重量、使用吗“WeightFile”名称-值对的论点。

例子:“ImportWeights”,真的

数据类型:逻辑

体重文件名,当导入权重modelfile不包括重量、指定为一个特征向量或字符串标量。使用这个名称-值对的观点,你也必须设置“ImportWeights”真正的

体重文件必须在当前文件夹,在MATLAB上一个文件夹路径,或者你必须包括一个完整或相对路径文件。

例子:“WeightFile”、“weights.h5”

数据类型:字符|字符串

输出参数

全部折叠

网络体系结构,作为一个返回数组对象的Keras网络类型顺序,或者作为一个返回LayerGraph当Keras网络类型的对象模型

限制

  • importKerasLayers万博1manbetx支持TensorFlow-Keras版本如下:

    • 2.2.4函数完全支持TensorFl万博1manbetxow-Keras版本。

    • 函数提供了有限的支持TensorFlow-Keras测试万博1manbetx盒框2.2.5版本)。

更多关于

全部折叠

万博1manbetx支持Keras层

importKerasLayers万博1manbetx支持以下TensorFlow-Keras层类型转换成内置MATLAB层,有一些局限性。

TensorFlow-Keras层 相应的深度学习工具箱层
添加 additionLayer

激活,激活的名字:

  • “elu”

  • “relu”

  • “线性”

  • “softmax”

  • “乙状结肠”

  • “漂亮”

  • 的双曲正切

层:

先进的激活:

  • ELU

  • Softmax

  • 线性整流函数(Rectified Linear Unit)

  • LeakyReLU

  • PReLu*

层:

AveragePooling1D averagePooling1dLayerPaddingValue指定为“的意思是”
AveragePooling2D averagePooling2dLayerPaddingValue指定为“的意思是”
BatchNormalization batchNormalizationLayer
双向(LSTM (__)) bilstmLayer
连接 depthConcatenationLayer
Conv1D convolution1dLayer
Conv2D convolution2dLayer
Conv2DTranspose transposedConv2dLayer
CuDNNGRU gruLayer
CuDNNLSTM lstmLayer
密集的 fullyConnectedLayer
DepthwiseConv2D groupedConvolution2dLayer
辍学 dropoutLayer
嵌入 wordEmbeddingLayer(文本分析工具箱)
nnet.keras.layer.FlattenCStyleLayer
GlobalAveragePooling1D globalAveragePooling1dLayer
GlobalAveragePooling2D globalAveragePooling2dLayer
GlobalMaxPool1D globalMaxPooling1dLayer
GlobalMaxPool2D globalMaxPooling2dLayer
格勒乌 gruLayer
输入 imageInputLayer,sequenceInputLayer,或featureInputLayer
LSTM lstmLayer
MaxPool1D maxPooling1dLayer
MaxPool2D maxPooling2dLayer
multiplicationLayer
SeparableConv2D groupedConvolution2dLayerconvolution2dLayer
TimeDistributed sequenceFoldingLayer之前的包裹层,sequenceUnfoldingLayer后包层
UpSampling2D resize2dLayer(图像处理工具箱)
UpSampling3D resize3dLayer(图像处理工具箱)
ZeroPadding1D nnet.keras.layer.ZeroPadding1DLayer
ZeroPadding2D nnet.keras.layer.ZeroPadding2DLayer

* PReLU层,importKerasLayers取代了向量值尺度参数的平均向量的元素。你可以改变参数导入后回到一个向量。例如,看到的进口Keras PReLU层

万博1manbetx支持Keras损失函数

importKerasLayers万博1manbetx支持以下Keras损失函数:

  • mean_squared_error

  • categorical_crossentropy

  • sparse_categorical_crossentropy

  • binary_crossentropy

对进口网络体系结构的生成代码

您可以使用MATLAB编码器™或GPU编码器™一起深度学习工具箱生成墨西哥人,独立的CPU, CUDA®墨西哥人,或独立的CUDA代码导入网络。有关更多信息,请参见深度学习代码生成

  • 使用MATLAB编码器与深度学习工具箱生成墨西哥人或独立的CPU的代码运行在桌面或嵌入式目标。您可以部署生成独立的代码,使用了英特尔®MKL-DNN库或手臂®计算库。或者,您可以生成通用的C或c++代码不调用第三方库函数。有关更多信息,请参见深度学习与MATLAB编码器(MATLAB编码器)

  • 使用GPU与深度学习工具箱编码器生成CUDA墨西哥人或独立的CUDA的代码运行在桌面或嵌入式目标。您可以部署生成独立的CUDA的代码使用CUDA深层神经网络库(cuDNN)的TensorRT™高性能推理库,或手臂计算库马里GPU。有关更多信息,请参见深度学习GPU编码器(GPU编码器)

importKerasLayers返回网络体系结构作为一个LayerGraph对象。对于代码生成,您必须首先将进口LayerGraph对象网络。把一个LayerGraph对象一个DAGNetworkSeriesNetwork对象的使用assembleNetwork。把一个LayerGraph对象一个dlnetwork对象的使用dlnetwork。的更多信息MATLAB编码器和GPU编码器支持深度学习工万博1manbetx具箱对象,明白了万博1manbetx支持类(MATLAB编码器)万博1manbetx支持类(GPU编码器),分别。

您可以生成代码的任何进口网络层支持代码生成。万博1manbetx层支持代码生成的列表万博1manbetxMATLAB编码器和GPU编码器,看到万博1manbetx支持层(MATLAB编码器)万博1manbetx支持层(GPU编码器),分别。更多信息在每一个内置的代码生成功能和限制MATLAB层,请参见扩展功能部分的层。例如,请参见代码生成GPU的代码生成imageInputLayer

在GPU上使用进口网络层

importKerasLayers不执行GPU。然而,importKerasLayers进口的层pretrained深度学习的神经网络数组或LayerGraph对象,您可以使用GPU。

  • 进口层转换为一个DAGNetwork对象的使用assembleNetwork。在DAGNetwork对象,然后可以预测类标签上使用的CPU或GPU分类。使用名称-值参数指定的硬件需求ExecutionEnvironment。对于多个输出的网络,使用预测功能和指定名称的论点ReturnCategorical作为真正的

  • 进口层转换为一个dlnetwork对象的使用dlnetwork。在dlnetwork对象,然后可以预测类标签上使用的CPU或GPU预测。这个函数预测在GPU上执行如果输入数据或网络参数存储在GPU上。

    • 如果你使用minibatchqueue输入数据的处理和管理mini-batches,minibatchqueue对象将输出转换为GPU数组默认情况下如果GPU可用。

    • 使用dlupdate转换的可学的参数dlnetworkGPU数组对象。

      净= dlupdate (@gpuArray,净)

  • 你可以训练对CPU或GPU的进口层使用trainNetwork。指定训练选项,包括选项执行环境,使用trainingOptions函数。使用名称-值参数指定的硬件需求ExecutionEnvironment。如何加快培训更多的信息,请参阅并行扩展深度学习,在gpu上,在云端

使用GPU需要并行计算工具箱™和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU的万博1manbetx支持版本(并行计算工具箱)

提示

  • 如果网络包含一层深度学习工具箱转换器TensorFlow模型不支持(见万博1manbetx万博1manbetx支持Keras层),然后importKerasLayers插入一个占位符一层一层的不支持的。万博1manbetx找到支持的名称和指标层网络中,使用万博1manbetxfindPlaceholderLayers函数。你可以换一个占位符层定义的一个新图层。替换一个层,使用replaceLayer

  • 你可以换一个占位符一层一层的新定义。

  • 您可以导入一个Keras网络具有多个输入和多个输出(MIMO)。使用importKerasNetwork如果网络包括输入大小信息的输入和输出的信息损失。否则,使用importKerasLayers。的importKerasLayers输入和输出函数插入占位符层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayersreplaceLayer,分别。工作流针对进口MIMO Keras网络是一样的工作流了进口ONNX™网络。例如,看到的导入和组装ONNX网络与多个输出。学习深入学习网络具有多个输入和多个输出,明白了多和多输出网络

  • 使用pretrained网络预测或转让学习新的图片,你必须进行预处理图像以同样的方式用于火车导入模型的图像预处理。最常见的预处理步骤调整图片大小,图像减去平均值,并从BGR图像RGB图像转换。

    • 调整图像,使用imresize。例如,[3]227227年imresize(图片)

    • 将图像从RGB到BGR格式,使用翻转。例如,翻转(图片3)

    更多信息预处理图像进行训练和预测,明白了预处理图像深度学习

  • MATLAB使用集中的索引,而Python®使用从零开始的索引。换句话说,在数组第一个元素的索引1和0在MATLAB和Python,分别。MATLAB索引的更多信息,请参阅数组索引。在MATLAB中,使用数组索引(印第安纳州)在Python中,创建数组转换为印第安纳州+ 1

选择功能

  • 使用importKerasNetworkimportKerasLayers进口在HDF5 TensorFlow-Keras网络或JSON格式。如果TensorFlow网络模型格式保存,使用importTensorFlowNetworkimportTensorFlowLayers

  • 如果你导入一个定制TensorFlow-Keras层或如果软件不能TensorFlow-Keras层转化为一个等价的内置MATLAB层,您可以使用importTensorFlowNetworkimportTensorFlowLayers,来生成一个自定义层。例如,importTensorFlowNetworkimportTensorFlowLayers当你导入TensorFlow-Keras生成一个自定义层λ层。

引用

[1]Keras: Python深度学习库https://keras.io

版本历史

介绍了R2017b