importTensorFlowLayers
描述
返回的层TensorFlow™网络文件夹lgraph
= importTensorFlowLayers (modelFolder
)modelFolder
保存模型中的模型,其中包含格式(兼容只有TensorFlow 2)。该函数可以导入TensorFlow网络创建TensorFlow-Keras顺序或功能的API。importTensorFlowLayers
进口中定义的层saved_model.pb
中包含的文件和学习权重变量
子文件夹,并返回lgraph
作为一个LayerGraph
对象。
importTensorFlowLayers
要求深度学习工具箱™转换器TensorFlow模型万博1manbetx支持包。如果这种支持包没万博1manbetx有安装importTensorFlowLayers
提供一个下载链接。
请注意
importTensorFlowLayers
试图生成一个自定义层当你导入一个定制TensorFlow层或当软件不能TensorFlow层转化为一个等价的内置MATLAB®层。的层的软件支持转换,明白了万博1manbetxTensorFlow-Keras层支持转换成内置万博1manbetxMATLAB层。
importTensorFlowLayers
保存生成的自定义层和相关TensorFlow运营商在包+
。modelFolder
importTensorFlowLayers
并不会自动生成一个自定义层每个TensorFlow层不支持转换成一个内置的MATLAB层。万博1manbetx如何处理不支持层的更多信息,见万博1manbetx提示。
进口的层和权重TensorFlow网络附加选项指定一个或多个名称参数。例如,lgraph
= importTensorFlowLayers (modelFolder
,名称,值
)“OutputLayerType”、“分类”
附加一个分类输出层的进口网络体系结构。
例子
进口TensorFlow网络兼容层图DAGNetwork
导入一个pretrained TensorFlow网络在保存的模型格式LayerGraph
对象。然后,将进口层组装成一个DAGNetwork
对象,并使用组装网络分类图像。
指定模型文件夹。
如果~ (“digitsDAGnet”,“dir”)解压缩(“digitsDAGnet.zip”)结束modelFolder =”。/ digitsDAGnet ';
指定类名。
一会= {' 0 ',' 1 ',' 2 ',“3”,“4”,“5”,“6”,“7”,“8”,“9”};
导入TensorFlow网络层和权重的模型格式保存。默认情况下,importTensorFlowLayers
网络作为一个进口LayerGraph
对象兼容DAGNetwork
对象。指定输出层类型的图像分类问题。
lgraph = importTensorFlowLayers (modelFolder,“OutputLayerType”,“分类”)
导入保存模型……翻译的模式,这可能需要几分钟…完成翻译。
lgraph = LayerGraph属性:层:[13×1 nnet.cnn.layer.Layer]连接:[13×2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}
显示的最后一层进口网络。输出显示importTensorFlowLayers
附加一个ClassificationOutputLayer
的网络体系结构。
lgraph.Layers(结束)
ans = ClassificationOutputLayer属性:名称:“ClassificationLayer_activation_1”类:“汽车”ClassWeights:“没有一个”OutputSize:‘汽车’Hyperparameters LossFunction:“crossentropyex”
分类层不包含的类,因此您必须指定这些之前装配网络。如果你不指定的类,然后软件自动设置类1
,2
、……N
,在那里N
类的数量。
分类层的名字“ClassificationLayer_activation_1”
。设置类一会
然后导入分类层替换为新的。
粘土= lgraph.Layers(结束);粘土。类=一会;lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);
组装层图使用assembleNetwork
返回一个DAGNetwork
对象。
净= assembleNetwork (lgraph)
网= DAGNetwork属性:层:[13×1 nnet.cnn.layer.Layer]连接:[13×2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}
读你想要的图像分类。
digitDatasetPath = fullfile (toolboxdir (“nnet”),“nndemos”,“nndatasets”,“DigitDataset”);我= imread (fullfile (digitDatasetPath,“5”,“image4009.png”));
使用进口网络分类的图像。
标签=分类(净,我);
显示图像的分类结果。
imshow (I)标题([的分类结果一会{标签}])
进口TensorFlow网络兼容层图dlnetwork
导入一个pretrained TensorFlow网络在保存的模型格式LayerGraph
对象兼容dlnetwork
对象。然后,把LayerGraph
对象一个dlnetwork
对图像进行分类。
指定模型文件夹。
如果~ (“digitsDAGnet”,“dir”)解压缩(“digitsDAGnet.zip”)结束modelFolder =”。/ digitsDAGnet ';
指定类名。
一会= {' 0 ',' 1 ',' 2 ',“3”,“4”,“5”,“6”,“7”,“8”,“9”};
导入TensorFlow网络层兼容dlnetwork
对象。
lgraph = importTensorFlowLayers (modelFolder,“TargetNetwork”,“dlnetwork”)
导入保存模型……翻译的模式,这可能需要几分钟…完成翻译。
lgraph = LayerGraph属性:层:[12×1 nnet.cnn.layer.Layer]连接:[12×2表]InputNames: {“input_1”} OutputNames:{1×0细胞}
读你想要的图像分类和显示图像的大小。图像是灰度图像(一个频道)28-by-28像素大小。
digitDatasetPath = fullfile (toolboxdir (“nnet”),“nndemos”,“nndatasets”,“DigitDataset”);我= imread (fullfile (digitDatasetPath,“5”,“image4009.png”));大小(我)
ans =1×228日28日
进口层图转换为一个dlnetwork
对象。
dlnet = dlnetwork (lgraph);
显示输入网络的大小。在这种情况下,图像大小匹配网络输入的大小。如果它们不匹配,您必须调整图像通过使用imresize(我netInputSize (1:2))
。
dlnet.Layers (1) .InputSize
ans =1×328日28日1
将图像转换为一个dlarray
。格式的图像尺寸“SSCB”
(空间、空间、通道、批)。在这个例子中,批处理大小是1,你可以忽略它(SSC的
)。
I_dlarray = dlarray(单(我),“SSCB”);
样本图像进行分类,找到预测的标签。
概率=预测(dlnet I_dlarray);[~,标签]= max(概率);
显示图像的分类结果。
imshow (I)标题([的分类结果一会{标签}])
进口TensorFlow图自动生成自定义层的网络层
导入一个pretrained TensorFlow网络在保存的模型格式LayerGraph
对象。然后,将进口层组装成一个DAGNetwork
对象。导入的网络不支持包含层转换成内置MATLAB层。万博1manbetx软件自动生成自定义层当你进口这些层。
下面的例子使用了辅助函数findCustomLayers
。查看这个函数的代码,看看Helper函数。
指定模型文件夹。
如果~ (“digitsDAGnetwithnoise”,“dir”)解压缩(“digitsDAGnetwithnoise.zip”)结束modelFolder =”。/ digitsDAGnetwithnoise ';
指定类名。
一会= {' 0 ',' 1 ',' 2 ',“3”,“4”,“5”,“6”,“7”,“8”,“9”};
导入TensorFlow网络层和权重的模型格式保存。默认情况下,importTensorFlowLayers
网络作为一个进口LayerGraph
对象兼容DAGNetwork
对象。指定输出层类型的图像分类问题。
lgraph = importTensorFlowLayers (modelFolder,“OutputLayerType”,“分类”);
导入保存模型……翻译的模式,这可能需要几分钟…完成翻译。
如果导入网络包含转换成的层不支持内置MATLAB层,万博1manbetximportTensorFlowLayers
可以自动生成自定义层代替这些层。importTensorFlowLayers
保存每个生成自定义一个单独的层。m
文件包+ digitsDAGnetwithnoise
在当前文件夹。
找到自动生成自定义的指标层,使用helper函数findCustomLayers
,并显示自定义层。
印第安纳州= findCustomLayers (lgraph.Layers,' + digitsDAGnetwithnoise ');lgraph.Layers(印第安纳州)
ans = 2×1层阵列层:1‘gaussian_noise_1 GaussianNoise digitsDAGnetwithnoise。kGaussianNoise1Layer3766 2的gaussian_noise_2 GaussianNoise digitsDAGnetwithnoise.kGaussianNoise2Layer3791
分类层不包含的类,因此您必须指定这些之前装配网络。如果你不指定的类,然后软件自动设置类1
,2
、……N
,在那里N
类的数量。
分类层的名字“ClassificationLayer_activation_1”
。设置类一会
然后导入分类层替换为新的。
粘土= lgraph.Layers(结束);粘土。类=一会;lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);
组装层图使用assembleNetwork
。函数返回一个DAGNetwork
为预测对象,已经可以使用了。
净= assembleNetwork (lgraph)
网= DAGNetwork属性:层:[15×1 nnet.cnn.layer.Layer]连接:[15×2表]InputNames: {“input_1”} OutputNames: {“ClassificationLayer_activation_1”}
Helper函数
本节提供的代码辅助功能findCustomLayers
在这个例子中使用。findCustomLayers
返回指数
自定义层importTensorFlowNetwork
自动生成。
函数指数= findCustomLayers(层,PackageName) s = ([‘。’PackageName]);指数= 0(1、长度(小);为i = 1:长度(层)为j = 1:长度(小)如果strcmpi(类(层(i)), [PackageName(2:结束)“。”s.m {j} (1: end-2)])指数(j) =我;结束结束结束结束
输入参数
modelFolder
- - - - - -TensorFlow模型文件夹的名称
特征向量|字符串标量
文件夹的名称包含TensorFlow模型,指定为一个特征向量或字符串标量。modelFolder
必须在当前文件夹,或者你必须包括完整或相对路径的文件夹。modelFolder
必须包含的文件saved_model.pb
和子文件夹变量
。它还可以包含子文件夹资产
和assets.extra
。
该文件
saved_model.pb
包含层图架构和培训选项(例如,优化器、损失和度量)。的子文件夹
变量
包含的权重学习pretrained TensorFlow网络。默认情况下,importTensorFlowLayers
进口的权重。的子文件夹
资产
包含补充文件(例如,词汇表),这层图可以使用。importTensorFlowLayers
没有导入文件吗资产
。的子文件夹
assets.extra
包含补充文件(例如,信息用户),这与层图共存。
例子:“MobileNet”
例子:”。/ MobileNet '
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:importTensorFlowLayers (modelFolder‘TargetNetwork’,‘dagnetwork’,‘OutputLayerType’,“分类”)
进口的网络层和权重modelFolder
,节约自动生成自定义层的包+ modelFolder
在当前文件夹,指定导入的层兼容DAGNetwork
对象,并附加一个分类输出层的进口层。
PackageName
- - - - - -定义层包的名称
特征向量|字符串标量
的包的名称importTensorFlowLayers
保存自定义图层,指定为一个特征向量或字符串标量。importTensorFlowLayers
保存自定义层包+
在当前文件夹。如果你不指定PackageName
“PackageName”
,然后importTensorFlowLayers
保存自定义层包命名+
在当前文件夹。关于包的更多信息,请参阅包创建名称空间。modelFolder
importTensorFlowLayers
试图生成一个自定义层当你导入一个定制TensorFlow层或当软件不能TensorFlow层转化为一个等价的内置MATLAB层。importTensorFlowLayers
保存每个生成自定义一个单独的层。m
文件中+
。查看或编辑自定义图层,打开相关PackageName
。m
文件。自定义层的更多信息,见自定义图层。
这个包+
也可以包含分包PackageName
+行动
。这个分包包含MATLAB函数对应TensorFlow运营商(见万博1manbetx支持TensorFlow运营商),用于自动生成自定义层。importTensorFlowLayers
保存相关的每个操作符在一个单独的MATLAB函数。m
文件分装+行动
。对象的功能dlnetwork
,如预测
函数,使用这些操作符与自定义交互层。
例子:“PackageName”、“MobileNet”
例子:“PackageName”、“CustomLayers”
TargetNetwork
- - - - - -深度学习工具箱网络的目标类型
“dagnetwork”
(默认)|“dlnetwork”
目标类型的深度学习工具箱网络对进口网络架构,指定为“dagnetwork”
或“dlnetwork”
。
如果您指定
“TargetNetwork”
作为“dagnetwork”
导入的网络架构兼容DAGNetwork
对象。在这种情况下,进口的lgraph
必须包括一个输出层TensorFlow保存模型损失函数或指定的名称论点吗“OutputLayerType”
。如果您指定
“TargetNetwork”
作为“dlnetwork”
导入的网络架构兼容dlnetwork
对象。在这种情况下,进口的lgraph
不包括一个输出层。
例子:“TargetNetwork”、“dlnetwork”
进口LayerGraph
对象兼容dlnetwork
对象。
OutputLayerType
- - - - - -类型的输出层
“分类”
|“回归”
|“pixelclassification”
类型的输出层importTensorFlowLayers
附加的导入的网络体系结构,指定为“分类”
,“回归”
,或“pixelclassification”
。附加一个pixelClassificationLayer
(计算机视觉工具箱)计算机视觉对象需要工具箱™。
如果您指定
“TargetNetwork”
作为“dagnetwork”
和保存的模型modelFolder
不指定一个损失函数,您必须指定一个名称参数值“OutputLayerType”
。一个DAGNetwork
对象必须有一个输出层。如果您指定
“TargetNetwork”
作为“dlnetwork”
,importTensorFlowLayers
忽略了名称-值参数“OutputLayerType”
。一个dlnetwork
对象没有一个输出层。
例子:“OutputLayerType”、“分类”
ImageInputSize
- - - - - -输入图像的大小
向量的两个或三个数值
网络的输入图像的大小,指定为一个向量的两个或三个数值对应(高度、宽度)
对灰度图像和(高度、宽度、渠道)
分别对彩色图像。网络时使用该信息saved_model.pb
文件中modelFolder
没有指定输入的大小。
例子:“ImageInputSize”, [28 28]
详细的
- - - - - -指标显示导入进度信息
真正的
或1
(默认)|假
或0
指示器显示导入进度信息在命令窗口中,指定为一个数字或逻辑1
(真正的
)或0
(假
)。
例子:“详细”,“真正的”
输出参数
lgraph
——网络体系结构
LayerGraph
对象
网络体系结构,作为一个返回LayerGraph
对象。
使用进口层预测图,你必须转换LayerGraph
对象一个DAGNetwork
或dlnetwork
对象。指定名称的参数“TargetNetwork”
作为“dagnetwork”
或“dlnetwork”
根据预定的工作流程。
限制
importTensorFlowLayers
万博1manbetx支持v2.0 TensorFlow版本2.6。
更多关于
TensorFlow-Keras层支持转换成内置万博1manbetxMATLAB层
importTensorFlowLayers
万博1manbetx支持以下TensorFlow-Keras层类型转换成内置MATLAB层,有一些局限性。
TensorFlow-Keras层 | 相应的深度学习工具箱层 |
---|---|
添加 |
additionLayer |
|
层: |
先进的激活:
|
层:
|
AveragePooling1D |
averagePooling1dLayer 与PaddingValue 指定为“的意思是” |
AveragePooling2D |
averagePooling2dLayer 与PaddingValue 指定为“的意思是” |
BatchNormalization |
batchNormalizationLayer |
双向(LSTM (__)) |
bilstmLayer |
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层,importTensorFlowLayers
取代了向量值尺度参数的平均向量的元素。你可以改变参数导入后回到一个向量。例如,看到的进口Keras PReLU层。
万博1manbetx支持TensorFlow-Keras损失函数
importTensorFlowLayers
万博1manbetx支持以下Keras损失函数:
mean_squared_error
categorical_crossentropy
sparse_categorical_crossentropy
binary_crossentropy
万博1manbetx支持TensorFlow运营商
importTensorFlowLayers
万博1manbetx支持以下TensorFlow运营商转变为MATLAB函数dlarray
万博1manbetx支持。
TensorFlow运营商 | 相应的MATLAB函数 |
---|---|
添加 |
tfAdd |
AddN |
tfAddN |
AddV2 |
tfAdd |
所有 |
tfAll |
断言 |
断言 |
AvgPool |
tfAvgPool |
BatchMatMulV2 |
tfBatchMatMulV2 |
BiasAdd |
tfBiasAdd |
BroadcastTo |
tfBroadcastTo |
投 |
tfCast |
ConcatV2 |
tfCat |
常量 |
(翻译没有重量在自定义层) |
Conv2D |
tfConv2D |
DepthToSpace |
depthToSpace (图像处理工具箱) |
DepthwiseConv2dNative |
tfDepthwiseConv2D |
平等的 |
= = |
经验值 |
经验值 |
ExpandDims |
tfExpandDims |
填满 |
tfFill |
FusedBatchNormV3 |
tfBatchnorm |
GatherV2 |
tfGather |
更大的 |
gt > |
GreaterEqual |
通用电气 ,> = |
身份 |
(没有一个翻译在自定义层)赋值 |
IdentityN |
tfIdentityN |
L2Loss |
tfL2Loss |
LeakyRelu |
leakyrelu |
少 |
lt ,< |
日志 |
日志 |
MatMul |
tfMatMul |
MaxPool |
tfMaxPool |
最大 |
tfMaximum |
的意思是 |
tfMean |
最低 |
tfMinimum |
MirrorPad |
tfMirrorPad |
Mul |
tfMul |
负的 |
- ,- - - - - - |
NonMaxSuppressionV5 |
tfNonMaxSuppressionV5 |
包 |
tfStack |
垫 |
tfPad |
PadV2 |
tfPad |
PartitionedCall |
(没有翻译功能自定义层方法) |
战俘 |
权力 ,。^ |
刺激 |
tfProd |
RandomStandardNormal |
tfRandomStandardNormal |
范围 |
tfRange |
ReadVariableOp |
(没有一个翻译在自定义层)赋值 |
RealDiv |
tfDiv |
线性整流函数(Rectified Linear Unit) |
线性整流函数(Rectified Linear Unit) |
Relu6 |
线性整流函数(Rectified Linear Unit) 和最小值 |
重塑 |
tfReshape |
ResizeBilinear |
dlresize (图像处理工具箱) |
ResizeNearestNeighbor |
dlresize (图像处理工具箱) |
Rsqrt |
√6 |
选择 |
tfSelect |
形状 |
tfShape |
乙状结肠 |
乙状结肠 |
大小 |
tfSize |
片 |
tfSlice |
Softmax |
softmax |
SpaceToDepth |
spaceToDepth (图像处理工具箱) |
分裂 |
tfSplit |
广场 |
. ^ 2 |
√6 |
√6 |
SquaredDifference |
tfMul 或tfSub |
挤压 |
tfSqueeze |
StatefulPartitionedCall |
(没有翻译功能自定义层方法) |
StopGradient |
tfStopGradient |
StridedSlice |
tfStridedSlice 或tfSqueeze |
子 |
tfSub |
总和 |
tfSum |
双曲正切 |
双曲正切 |
瓷砖 |
tfTile |
转置 |
tfTranspose |
解压缩 |
tfUnpack |
在哪里 |
tfWhere |
有关函数操作的更多信息dlarray
对象,看到与dlarray支持函数的列表万博1manbetx。
对进口网络体系结构的生成代码
您可以使用MATLAB编码器™或GPU编码器™一起深度学习工具箱生成墨西哥人,独立的CPU, CUDA®墨西哥人,或独立的CUDA代码导入网络。有关更多信息,请参见代码生成。
使用MATLAB编码器与深度学习工具箱生成墨西哥人或独立的CPU的代码运行在桌面或嵌入式目标。您可以部署生成独立的代码,使用了英特尔®MKL-DNN库或手臂®计算库。或者,您可以生成通用的C或c++代码不调用第三方库函数。有关更多信息,请参见深度学习与MATLAB编码器(MATLAB编码器)。
使用GPU与深度学习工具箱编码器生成CUDA墨西哥人或独立的CUDA的代码运行在桌面或嵌入式目标。您可以部署生成独立的CUDA的代码使用CUDA深层神经网络库(cuDNN)的TensorRT™高性能推理库,或手臂计算库马里GPU。有关更多信息,请参见深度学习GPU编码器(GPU编码器)。
importTensorFlowLayers
返回网络体系结构lgraph
作为一个LayerGraph
对象。对于代码生成,您必须首先将进口LayerGraph
对象网络。把一个LayerGraph
对象一个DAGNetwork
或dlnetwork
对象的使用assembleNetwork
或dlnetwork
。的更多信息MATLAB编码器和GPU编码器支持深度学习工万博1manbetx具箱对象,明白了万博1manbetx支持类(MATLAB编码器)和万博1manbetx支持类(GPU编码器),分别。
您可以生成代码的任何进口网络层支持代码生成。万博1manbetx层支持代码生成的列表万博1manbetxMATLAB编码器和GPU编码器,看到万博1manbetx支持层(MATLAB编码器)和万博1manbetx支持层(GPU编码器),分别。更多信息在每一个内置的代码生成功能和限制MATLAB层,请参见扩展功能部分的层。例如,请参见代码生成和GPU的代码生成的imageInputLayer
。
在GPU上使用进口网络层
importTensorFlowLayers
不执行GPU。然而,importTensorFlowLayers
进口的层pretrained深度学习的神经网络LayerGraph
对象,您可以使用GPU。
将导入的
LayerGraph
对象一个DAGNetwork
对象的使用assembleNetwork
。在DAGNetwork
对象,然后可以预测类标签上使用的CPU或GPU分类
。使用名称-值参数指定的硬件需求ExecutionEnvironment
。对于多个输出的网络,使用预测
功能和指定名称的论点ReturnCategorical
作为真正的
。将导入的
LayerGraph
对象一个dlnetwork
对象的使用dlnetwork
。在dlnetwork
对象,然后可以预测类标签上使用的CPU或GPU预测
。这个函数预测
在GPU上执行如果输入数据或网络参数存储在GPU上。如果你使用
minibatchqueue
输入数据的处理和管理mini-batches,minibatchqueue
对象将输出转换为GPU数组默认情况下如果GPU可用。使用
dlupdate
转换的可学的参数dlnetwork
GPU数组对象。净= dlupdate (@gpuArray,净)
你可以训练进口
LayerGraph
对象在一个CPU或GPU通过使用trainNetwork
。指定训练选项,包括选项执行环境,使用trainingOptions
函数。使用名称-值参数指定的硬件需求ExecutionEnvironment
。如何加快培训更多的信息,请参阅并行扩展深度学习,在gpu上,在云端。
使用GPU需要并行计算工具箱™许可和支持GPU设备。万博1manbetx支持设备的信息,请参阅万博1manbetxGPU计算的需求(并行计算工具箱)。
提示
如果进口网络包含一层不支持转换成一个内置的MATLAB层(见万博1manbetxTensorFlow-Keras层支持转换成内置万博1manbetxMATLAB层),
importTensorFlowLayers
不自动生成一个自定义图层,那么importTensorFlowLayers
插入一个占位符一层一层的不支持的。万博1manbetx找到支持的名称和指标层网络中,使用万博1manbetxfindPlaceholderLayers
函数。你可以换一个占位符层定义的一个新图层。替换一个层,使用replaceLayer
。使用pretrained网络预测或转让学习新的图片,你必须进行预处理图像以同样的方式用于火车导入模型的图像预处理。最常见的预处理步骤调整图片大小,图像减去平均值,将图像从BGR格式转换为RGB格式。
更多信息预处理图像进行训练和预测,明白了预处理图像深度学习。
包的成员
+
(自定义层和TensorFlow运营商)是无法访问如果包父文件夹不是在MATLAB的道路。有关更多信息,请参见包和MATLAB的道路。PackageName
MATLAB使用集中的索引,而Python®使用从零开始的索引。换句话说,在数组第一个元素的索引1和0在MATLAB和Python,分别。MATLAB索引的更多信息,请参阅数组索引。在MATLAB中,使用数组索引(
印第安纳州
)在Python中,创建数组转换为印第安纳州+ 1
。更多的技巧,明白了建议从TensorFlow进口模型,PyTorch ONNX。
选择功能
使用importTensorFlowNetwork
或importTensorFlowLayers
进口TensorFlow网络保存模型格式[2]。另外,如果网络HDF5或JSON格式,使用importKerasNetwork
或importKerasLayers
导入网络。
引用
[1]TensorFlow。https://www.tensorflow.org/。
[2]使用SavedModel格式。https://www.tensorflow.org/guide/saved_model。
版本历史
介绍了R2021aR2023a:importTensorFlowLayers
创建一个自定义层连接
的importTensorFlowLayers
函数返回一个theTensorFlow-Keras自动生成自定义层连接
一层一层而不是内置的深度学习工具箱concatenationLayer
或depthConcatenationLayer
。以前,所使用的函数concatenationLayer
或depthConcatenationLayer
并假定连接轴值基于网络的输入层被导入。然而,对于一些复杂的网络这种假设可能不是真的。因此,软件使用一个自动生成自定义层执行连接。自动生成自定义层确保TensorFlow-Keras的正确的翻译连接
在运行时层到MATLAB。
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。