importKerasLayers
从Keras进口层网络
描述
例子
下载并安装深度学习工具箱转换器TensorFlow模型
下载和安装的深度学习工具箱转换器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”}
从Keras进口层网络和情节架构
从模型文件导入网络层digitsDAGnet.h5
。
modelfile =“digitsDAGnet.h5”;层= importKerasLayers (modelfile)
层= LayerGraph属性:层:x1 nnet.cnn.layer.Layer[13]连接:[13 x2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}
绘制网络体系结构。
情节(层)
进口Keras网络层和培训网络
指定网络文件导入。
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 |就是15.62% | | 31.6977 | 0.0010 | | 1 | 50 | 00:00:07 | 63.28% | 1.2109 | 0.0010 | | 100 | | 00:00:16 | 85.16% | 0.4123 | 0.0010 | | 3 | 150 | 00:00:22 | 95.31% | 0.1757 | 0.0010 | | 200 | | 00:00:26 | 99.22% | 0.0450 | 0.0010 | | 250 | | 00:00:31 | 100.00% | 0.0367 | 0.0010 | | 6 | 300 | 00:00:36 | 96.88% | 0.1210 | 0.0010 | | 350 | | 00:00:41 | 100.00% | 0.0086 | 0.0010 | | 400 | | 00:00:45 | 100.00% | 0.0166 | 0.0010 | | 450 | | 00:00:50 | 100.00% | 0.0097 | 0.0010 | | 500 | | 00:00:56 | 100.00% | 0.0047 | 0.0010 | | 550 | | 00:01:02 | 100.00% | 0.0031 | 0.0010 | | 580 | | 00:01:06 | 100.00% | 0.0060 | 0.0010 | | = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = |培训完成:马克思时代完成。
运行测试集上的训练网络,不是用于训练网络,预测图像标签(数字)。
YPred =分类(净,imdsTest);欧美= imdsTest.Labels;
计算的准确性。
精度= (YPred = =次)/元素个数之和(欧美)
精度= 0.9852
从相同的文件导入Keras网络体系结构和权重
指定网络文件导入层和权重。
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
进口的权重函数层权值非空。
从单独的文件导入Keras网络体系结构和权重
指定的网络文件导入层包含权重和文件。
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层
这个例子展示了如何导入层从pretrained Keras网络取代不支持自定义层的层,和组装层准备网络预测。万博1manbetx
进口Keras网络
导入从Keras层网络模型。网络在“digitsDAGnetwithnoise.h5”
分类的图像数字。
文件名=“digitsDAGnetwithnoise.h5”;lgraph = importKerasLayers(文件名,“ImportWeights”,真正的);
警告:无法导入一些Keras层,因为他们是不支持的深度学习工具。万博1manbetx他们已经被占位符层。为了找到这些层,调用这个函数findPlaceholderLayers返回的对象。
Keras网络不支持包含一些层深度学习工具箱。万博1manbetx的importKerasLayers
函数显示一个警告,取代了支持层,一层一层的占位符。万博1manbetx
绘制层图使用情节
。
图绘制(lgraph)标题(“进口网络”)
替换占位符层
替换占位符层,首先识别层的名称来代替。发现使用占位符层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)标题(“网络取代层”)
指定类名
如果导入的分类层不包含的类,那么您必须指定这些之前的预测。如果你不指定的类,然后软件自动设置类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层
进口从Keras网络层参数修正线性单元(PReLU)层。
PReLU层执行一个阈值操作,为每个通道,任何输入值小于零乘以一个标量。PReLU操作是由
在哪里 是输入的非线性激活吗 频道 , 是扩展参数控制负部分的斜率。下标 在 表明该参数可以是一个向量和非线性激活不同在不同的频道。
importKerasNetwork
和importKerasLayers
可以导入一个网络,其中包括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 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_1
层层
与tempLayer
。
层= replaceLayer(层,“p_re_lu_1”,tempLayer);layers.Layers (4)
ans = PreluLayer属性:名称:“p_re_lu_1”RawAlpha: [20 x1单]可学的参数α:1 x1x20单状态参数没有属性。显示所有属性
现在,p_re_lu_1
层有一个向量值缩放参数。
输入参数
modelfile
- - - - - -Keras模型文件的名称
特征向量|字符串标量
包含网络体系结构模型文件的名称,和可能的权重,指定为一个特征向量或字符串标量。文件必须在当前文件夹,在MATLAB上的一个文件夹中®路径,或者你必须包括完整或相对文件路径。
如果modelfile
包括
网络体系结构和权重,那么它必须在HDF5 (
.h5
)的格式。只有网络体系结构,它可以在HDF5或JSON (
. json
)的格式。
如果modelfile
只包含网络体系结构,那么您可以选择提供重量使用“ImportWeights”
和“WeightFile”
名称-值对参数。如果你提供重量,那么权重文件必须是HDF5格式。
例子:“digitsnet.h5”
数据类型:字符
|字符串
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:importKerasLayers (modelfile“OutputLayerType”、“分类”)
进口的网络层模型文件modelfile
并添加一个输出层为一个分类问题最终Keras层。
OutputLayerType
- - - - - -类型的输出层
“分类”
|“回归”
|“pixelclassification”
类型的输出层函数附加到最后的进口时网络体系结构modelfile
没有指定一个损失函数,指定为“分类”
,“回归”
,或“pixelclassification”
。附加一个pixelClassificationLayer
(计算机视觉工具箱)计算机视觉对象需要工具箱™。
如果一个网络modelfile
有多个输出,那么你不能使用这个参数指定输出层类型。importKerasLayers
插入占位符为输出层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayers
和replaceLayer
,分别。
例子:“OutputLayerType”、“回归”
ImageInputSize
- - - - - -输入图像的大小
向量的两个或三个数值
网络的输入图像的大小,指定为一个向量的两个或三个数值对应(高度、宽度)
对灰度图像和(高度、宽度、渠道)
分别对彩色图像。网络时使用该信息modelfile
没有指定输入的大小。
如果一个网络modelfile
有多个输入,那么你不能使用这个参数指定输入的大小。importKerasLayers
插入占位符为输入层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayers
和replaceLayer
,分别。
例子:“ImageInputSize”, [28 28]
ImportWeights
- - - - - -进口指标权重
假
(默认)|真正的
进口指标权重以及网络体系结构,指定为假
或真正的
。
如果
“ImportWeights”
是真正的
和modelfile
包括权重,然后importKerasLayers
进口的重量modelfile
必须有HDF5 (.h5
)的格式。如果
“ImportWeights”
是真正的
和modelfile
不包括重量,然后您必须指定一个单独的文件,包括重量、使用吗“WeightFile”
名称-值对的论点。
例子:“ImportWeights”,真的
数据类型:逻辑
WeightFile
- - - - - -体重文件名
特征向量|字符串标量
体重文件名,当导入权重modelfile
不包括重量、指定为一个特征向量或字符串标量。使用这个名称-值对的观点,你也必须设置“ImportWeights”
来真正的
。
体重文件必须在当前文件夹,在MATLAB上一个文件夹路径,或者你必须包括一个完整或相对路径文件。
例子:“WeightFile”、“weights.h5”
数据类型:字符
|字符串
输出参数
层
——网络体系结构
层
数组对象|LayerGraph
对象
网络体系结构,作为一个返回层
数组对象的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 |
|
层: |
先进的激活:
|
层:
|
AveragePooling1D |
averagePooling1dLayer 与PaddingValue 指定为“的意思是” |
AveragePooling2D |
averagePooling2dLayer 与PaddingValue 指定为“的意思是” |
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 |
groupedConvolution2dLayer 或convolution2dLayer |
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
对象一个DAGNetwork
或SeriesNetwork
对象的使用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
转换的可学的参数dlnetwork
GPU数组对象。净= dlupdate (@gpuArray,净)
你可以训练对CPU或GPU的进口层使用
trainNetwork
。指定训练选项,包括选项执行环境,使用trainingOptions
函数。使用名称-值参数指定的硬件需求ExecutionEnvironment
。如何加快培训更多的信息,请参阅并行扩展深度学习,在gpu上,在云端。
使用GPU需要并行计算工具箱™和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。
提示
如果网络包含一层深度学习工具箱转换器TensorFlow模型不支持(见万博1manbetx万博1manbetx支持Keras层),然后
importKerasLayers
插入一个占位符一层一层的不支持的。万博1manbetx找到支持的名称和指标层网络中,使用万博1manbetxfindPlaceholderLayers
函数。你可以换一个占位符层定义的一个新图层。替换一个层,使用replaceLayer
。你可以换一个占位符一层一层的新定义。
如果网络是一系列网络,那么直接代替层数组中。例如,
层(2)= newlayer;
。如果网络是DAG网络,然后代替层使用
replaceLayer
。例如,看到的组装网络从Pretrained Keras层。
您可以导入一个Keras网络具有多个输入和多个输出(MIMO)。使用
importKerasNetwork
如果网络包括输入大小信息的输入和输出的信息损失。否则,使用importKerasLayers
。的importKerasLayers
输入和输出函数插入占位符层。导入后,您可以通过使用查找和替换占位符层findPlaceholderLayers
和replaceLayer
,分别。工作流针对进口MIMO Keras网络是一样的工作流了进口ONNX™网络。例如,看到的导入和组装ONNX网络与多个输出。学习深入学习网络具有多个输入和多个输出,明白了多和多输出网络。使用pretrained网络预测或转让学习新的图片,你必须进行预处理图像以同样的方式用于火车导入模型的图像预处理。最常见的预处理步骤调整图片大小,图像减去平均值,将图像从BGR格式转换为RGB格式。
更多信息预处理图像进行训练和预测,明白了预处理图像深度学习。
MATLAB使用集中的索引,而Python®使用从零开始的索引。换句话说,在数组第一个元素的索引1和0在MATLAB和Python,分别。MATLAB索引的更多信息,请参阅数组索引。在MATLAB中,使用数组索引(
印第安纳州
)在Python中,创建数组转换为印第安纳州+ 1
。更多的技巧,明白了建议从TensorFlow进口模型,PyTorch ONNX。
选择功能
使用
importKerasNetwork
或importKerasLayers
进口在HDF5 TensorFlow-Keras网络或JSON格式。如果TensorFlow网络模型格式保存,使用importTensorFlowNetwork
或importTensorFlowLayers
。如果你导入一个定制TensorFlow-Keras层或如果软件不能TensorFlow-Keras层转化为一个等价的内置MATLAB层,您可以使用
importTensorFlowNetwork
或importTensorFlowLayers
,来生成一个自定义层。例如,importTensorFlowNetwork
和importTensorFlowLayers
当你导入TensorFlow-Keras生成一个自定义层λ
层。
引用
[1]Keras: Python深度学习库。https://keras.io。
版本历史
介绍了R2017b
打开举例
你们possedez一个版本modifiee de cet(中央东部东京)为例。Souhaitez-vous打开cet(中央东部东京)为例用vos修改吗?
对MATLAB
你们有派对在联合国留置权,对应这个对MATLAB:
倒实行la对saisissez-la在fenetre德对MATLAB。Les navigateurs web不sup万博1manbetxportent Les MATLAB命令。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。