importTensorFlowLayers
进口层TensorFlow网络
描述
从文件夹中返回TensorFlow™网络的层lgraph
= importTensorFlowLayers (modelFolder
)modelFolder
,其中包含保存的模型格式的模型(仅兼容TensorFlow 2)。该函数可以导入通过TensorFlow- keras顺序或函数API创建的TensorFlow网络。importTensorFlowLayers
控件中定义的层saved_model.pb
文件中所包含的学习权重变量
子文件夹,并返回lgraph
作为一个LayerGraph
对象。
importTensorFlowLayers
要求用于张量流模型的深度学习工具箱™转换器支持包。如果没有安装此支持包,则importTensorFlowLayers
提供下载链接。
请注意
importTensorFlowLayers
当您导入自定义TensorFlow层或当软件不能将TensorFlow层转换为等效的内置MATLAB时,尝试生成一个自定义层®层。有关软件支持转换的层的列表,请参见TensorFlow-Keras层支持转换为内置的MATLAB层.
importTensorFlowLayers
在包中保存生成的自定义层和相关的TensorFlow操作符+
.modelFolder
importTensorFlowLayers
不会为不支持转换为内置MATLAB层的每个TensorFlow层自动生成自定义层。有关如何处理不支持的层的更多信息,请参见提示.
通过一个或多个名称-值参数指定的附加选项,从TensorFlow网络导入层和权重。例如,lgraph
= importTensorFlowLayers (modelFolder
,名称,值
)“OutputLayerType”、“分类”
将分类输出层追加到导入的网络体系结构的末尾。
例子
导入张量流网络作为层图兼容DAGNetwork
导入预先训练的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: Layers: [13×1 nnet.cnn.layer.Layer] Connections: [13×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}
显示导入网络的最后一层。输出显示importTensorFlowLayers
附加一个ClassificationOutputLayer
到最后的网络架构。
lgraph.Layers(结束)
类:'auto' ClassWeights: 'none' OutputSize: 'auto'超参数LossFunction: 'crossentropyex'
分类层不包含类,因此必须在组装网络之前指定这些类。如果不指定类,则软件自动将类设置为1
,2
、……N
,在那里N
是类的数量。
分类层有名称“ClassificationLayer_activation_1”
.将类设置为一会
然后将导入的分类层替换为新的分类层。
粘土= lgraph.Layers(结束);粘土。类=一会;lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);
组装层图使用assembleNetwork
返回一个DAGNetwork
对象。
净= assembleNetwork (lgraph)
net = DAGNetwork属性:Layers: [13×1 nnet.cnn.layer.Layer] Connections: [13×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}
阅读要分类的图像。
digitDatasetPath = fullfile (toolboxdir (“nnet”),“nndemos”,“nndatasets”,“DigitDataset”);我= imread (fullfile (digitDatasetPath,“5”,“image4009.png”));
使用导入的网络对图像进行分类。
标签=分类(净,我);
显示图像和分类结果。
imshow (I)标题([的分类结果一会{标签}])
导入张量流网络作为层图兼容dlnetwork
导入预先训练的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: Layers: [12×1 nnet.cnn.layer.Layer] Connections: [12×2 table] InputNames: {'input_1'} OutputNames: {1×0 cell}
读取要分类的图像并显示图像的大小。该图像是一个大小为28 × 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
将图像转换为adlarray
.用尺寸格式化图像“SSCB”
(空间,空间,渠道,批处理)。在本例中,批处理大小为1,您可以忽略它(SSC的
).
I_dlarray = dlarray(单(我),“SSCB”);
对样本图像进行分类,找出预测的标签。
概率=预测(dlnet I_dlarray);[~,标签]= max(概率);
显示图像和分类结果。
imshow (I)标题([的分类结果一会{标签}])
导入TensorFlow网络作为自动生成自定义层的层图
导入预先训练的TensorFlow网络,以保存的模型格式作为LayerGraph
对象。然后,将导入的图层组装成DAGNetwork
对象。导入的网络包含不支持转换为内置MATLAB层的层。当您导入这些层时,软件会自动生成自定义层。
这个例子使用了helper函数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层的层,则importTensorFlowLayers
可以自动生成自定义层来代替这些层。importTensorFlowLayers
将每个生成的自定义层保存到单独的.m
包中的文件+ digitsDAGnetwithnoise
在当前文件夹中。
使用helper函数查找自动生成的自定义层的索引findCustomLayers
,并显示自定义层。
印第安纳州= findCustomLayers (lgraph。层,' + digitsDAGnetwithnoise ');lgraph.Layers(印第安纳州)
ans = 2×1 Layer array with layers: 1' gaussian_noise_1' GaussianNoise digitsDAGnetwithnoise。kGaussianNoise1Layer3766 2' gaussian_noise_2' GaussianNoise digitsDAGnetwithnoise.kGaussianNoise2Layer3791 . kGaussianNoise1Layer3766 2' gaussian_noise_2' GaussianNoise digitsdagnetwithnoise . kgaussiannoise2layer3766
分类层不包含类,因此必须在组装网络之前指定这些类。如果不指定类,则软件自动将类设置为1
,2
、……N
,在那里N
是类的数量。
分类层有名称“ClassificationLayer_activation_1”
.将类设置为一会
然后将导入的分类层替换为新的分类层。
粘土= lgraph.Layers(结束);粘土。类=一会;lgraph = replaceLayer (lgraph,“ClassificationLayer_activation_1”、粘土);
组装层图使用assembleNetwork
.函数返回一个DAGNetwork
对象,该对象已准备好用于预测。
净= assembleNetwork (lgraph)
net = DAGNetwork属性:Layers: [15×1 nnet.cnn.layer.Layer] Connections: [15×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}
Helper函数
介绍helper函数的代码findCustomLayers
本例中使用。findCustomLayers
返回指数
自定义层的importTensorFlowNetwork
自动生成。
函数index = findCustomLayers(layers,PackageName) s = what([‘。’PackageName]);指数= 0(1、长度(小);为i = 1:长度(层)为j = 1:长度(小)如果strcmpi(类(层(i)), [PackageName(2:结束)“。”S.m {j}(1:end-2)]) indices(j) = i;结束结束结束结束
输入参数
modelFolder
- - - - - -TensorFlow模型文件夹的名称
特征向量|字符串标量
包含TensorFlow模型的文件夹的名称,指定为字符向量或字符串标量。modelFolder
必须在当前文件夹中,否则必须包含文件夹的完整路径或相对路径。modelFolder
必须包含文件saved_model.pb
和子文件夹变量
.它还可以包含子文件夹资产
而且assets.extra
.
该文件
saved_model.pb
包含层图架构和训练选项(例如,优化器、损耗和度量)。的子文件夹
变量
包含预先训练的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
+行动
.这个子包包含对应于TensorFlow操作符的MATLAB函数(参见支持TensorFlow运营商),在自动生成的自定义层中使用。importTensorFlowLayers
将每个算子的相关MATLAB函数保存在单独的.m
子包中的文件+行动
.的目标功能dlnetwork
,例如预测
函数,在与自定义层交互时使用这些操作符。
例子:“PackageName”、“MobileNet”
例子:“PackageName”、“CustomLayers”
TargetNetwork
- - - - - -目标类型的深度学习工具箱网络
“dagnetwork”
(默认)|“dlnetwork”
导入网络架构的深度学习工具箱网络的目标类型指定为“dagnetwork”
或“dlnetwork”
.
如果您指定
“TargetNetwork”
作为“dagnetwork”
,导入的网络架构与a兼容DAGNetwork
对象。在这种情况下,导入lgraph
必须包含由TensorFlow保存的模型丢失函数或name-value参数指定的输出层“OutputLayerType”
.如果您指定
“TargetNetwork”
作为“dlnetwork”
,导入的网络架构与a兼容dlnetwork
对象。在这种情况下,导入lgraph
不包括输出层。
例子:“TargetNetwork”、“dlnetwork”
进口LayerGraph
对象与dlnetwork
对象。
OutputLayerType
- - - - - -输出层类型
“分类”
|“回归”
|“pixelclassification”
输出层的类型importTensorFlowLayers
附加到导入的网络架构的末尾,指定为“分类”
,“回归”
,或“pixelclassification”
.附加一个pixelClassificationLayer
(计算机视觉工具箱)对象需要计算机视觉工具箱™。
如果您指定
“TargetNetwork”
作为“dagnetwork”
保存的模型modelFolder
如果没有指定损失函数,则必须为name-value参数赋值“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
支持TensorFlow v2.0到2.6版本。
更多关于
TensorFlowkeras层支持转换为内置MATLAB层
importTensorFlowLayers
支持以下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层,importTensorFlowLayers
用向量元素的平均值替换向量值的缩放参数。您可以在导入后将参数更改为向量。示例请参见导入Keras PReLU图层.
支持TensorFlow-Keras损失函数
importTensorFlowLayers
支持以下Keras损耗函数:
mean_squared_error
categorical_crossentropy
sparse_categorical_crossentropy
binary_crossentropy
支持TensorFlow运营商
importTensorFlowLayers
支持以下TensorFlow操作符转换为MATLAB函数dlarray
支持。
TensorFlow运营商 | 相应的MATLAB函数 |
---|---|
添加 |
tfAdd |
AddN |
tfAddN |
AddV2 |
tfAdd |
断言 |
断言 |
AvgPool |
tfAvgPool |
BatchMatMulV2 |
tfBatchMatMulV2 |
BiasAdd |
tfBiasAdd |
BroadcastTo |
tfBroadcastTo |
投 |
tfCast |
ConcatV2 |
tfCat |
常量 |
无(转换为自定义层中的权重) |
Conv2D |
tfConv2D |
DepthToSpace |
depthToSpace (图像处理工具箱) |
DepthwiseConv2dNative |
tfDepthwiseConv2D |
经验值 |
经验值 |
ExpandDims |
tfExpandDims |
FusedBatchNormV3 |
tfBatchnorm |
GatherV2 |
tfGather |
GreaterEqual |
通用电气 ,>= |
身份 |
无(在自定义层转换为值赋值) |
IdentityN |
tfIdentityN |
L2Loss |
tfL2Loss |
LeakyRelu |
leakyrelu |
少 |
lt ,< |
日志 |
日志 |
MatMul |
tfMatMul |
MaxPool |
tfMaxPool |
最大 |
tfMaximum |
的意思是 |
tfMean |
最低 |
tfMinimum |
MirrorPad |
tfMirrorPad |
Mul |
tfMul |
负的 |
- ,- |
包 |
tfStack |
垫 |
tfPad |
PadV2 |
tfPad |
PartitionedCall |
None(在自定义层方法中转换为函数) |
战俘 |
权力 ,.^ |
刺激 |
tfProd |
RandomStandardNormal |
tfRandomStandardNormal |
范围 |
tfRange |
ReadVariableOp |
无(在自定义层转换为值赋值) |
RealDiv |
tfDiv |
线性整流函数(Rectified Linear Unit) |
线性整流函数(Rectified Linear Unit) |
Relu6 |
线性整流函数(Rectified Linear Unit) 而且最小值 |
重塑 |
tfReshape |
ResizeNearestNeighbor |
dlresize (图像处理工具箱) |
Rsqrt |
√6 |
形状 |
tfShape |
乙状结肠 |
乙状结肠 |
大小 |
tfSize |
Softmax |
softmax |
SpaceToDepth |
spaceToDepth (图像处理工具箱) |
广场 |
. ^ 2 |
√6 |
√6 |
SquaredDifference |
tfMul 或tfSub |
挤压 |
tfSqueeze |
StatefulPartitionedCall |
None(在自定义层方法中转换为函数) |
StopGradient |
tfStopGradient |
StridedSlice |
tfStridedSlice 或tfSqueeze |
子 |
tfSub |
双曲正切 |
双曲正切 |
瓷砖 |
tfTile |
转置 |
tfTranspose |
有关操作于的函数的更多信息dlarray
对象,看到dlarray支持的函数列表.
为导入的网络架构生成代码
您可以使用MATLAB编码器™或GPU Coder™与深度学习工具箱一起生成MEX,独立CPU, CUDA®MEX,或用于导入网络的独立CUDA代码。有关更多信息,请参见深度学习代码生成.
使用MATLAB编码器使用深度学习工具箱生成MEX或独立CPU代码,在桌面或嵌入式目标上运行。您可以部署生成的独立代码,使用Intel®MKL-DNN库或ARM®计算库。另外,您也可以生成不调用第三方库函数的通用C或c++代码。有关更多信息,请参见基于MATLAB编码器的深度学习(MATLAB编码器).
使用GPU编码器与深度学习工具箱生成CUDA MEX或独立CUDA代码,运行在桌面或嵌入式目标。您可以部署生成的独立CUDA代码,使用CUDA深度神经网络库(cuDNN)、TensorRT™高性能推理库或用于Mali GPU的ARM Compute库。有关更多信息,请参见GPU Coder深度学习(GPU编码器).
importTensorFlowLayers
返回网络体系结构lgraph
作为一个LayerGraph
对象。对于代码生成,您必须首先转换导入的LayerGraph
对象指向网络。把一个LayerGraph
对象一个DAGNetwork
或dlnetwork
对象的使用assembleNetwork
或dlnetwork
.如欲了解更多有关MATLAB编码器以及GPU Coder对深度学习工具箱对象的支持,参见支持类(MATLAB编码器)而且支持类(GPU编码器),分别。
您可以为任何导入的网络生成代码,其层支持代码生成。以获取支持代码生成的层的列表MATLAB编码器和GPU Coder,见支持层(MATLAB编码器)而且支持层(GPU编码器),分别。有关每个内置MATLAB层的代码生成功能和限制的更多信息,请参阅该层的扩展功能部分。例如,请参见代码生成而且GPU的代码生成的imageInputLayer
.
使用GPU导入的网络层
importTensorFlowLayers
不会在GPU上执行。然而,importTensorFlowLayers
导入预先训练的神经网络层作为深度学习LayerGraph
对象,你可以在GPU上使用。
将导入的
LayerGraph
对象一个DAGNetwork
对象的使用assembleNetwork
.在DAGNetwork
对象,您就可以使用分类
.使用name-value参数指定硬件需求ExecutionEnvironment
.对于具有多个输出的网络,请使用预测
函数并指定名称-值参数ReturnCategorical
作为真正的
.将导入的
LayerGraph
对象一个dlnetwork
对象的使用dlnetwork
.在dlnetwork
对象,您就可以使用预测
.这个函数预测
当输入数据或网络参数存储在图形处理器上时,将在图形处理器上执行。如果你使用
minibatchqueue
要处理和管理小批量输入数据,可以使用minibatchqueue
对象默认情况下,如果GPU可用,则将输出转换为GPU数组。使用
dlupdate
的可学习参数转换dlnetwork
对象到GPU数组。净= dlupdate (@gpuArray,净)
你可以培训外来人员
LayerGraph
对象上使用trainNetwork
.要指定培训选项,包括用于执行环境的选项,请使用trainingOptions
函数。使用name-value参数指定硬件需求ExecutionEnvironment
.有关如何加速训练的更多信息,请参见在并行、gpu和云上扩展深度学习.
使用GPU需要并行计算工具箱™和支持的GPU设备。有关支持的设备的信息,请参见GPU计算的需求(并行计算工具箱).
提示
如果导入的网络包含一个不支持转换为内置MATLAB层的层(参见TensorFlow-Keras层支持转换为内置的MATLAB层),
importTensorFlowLayers
不自动生成一个自定义层,那么importTensorFlowLayers
在不受支持的层的位置插入占位符层。要查找网络中不支持的层的名称和索引,请使用findPlaceholderLayers
函数。然后,您可以用您定义的新层替换占位符层。要替换一个图层,使用replaceLayer
.要使用预训练的网络对新图像进行预测或转移学习,必须以与用于训练导入模型的图像预处理相同的方式对图像进行预处理。最常见的预处理步骤是调整图像的大小,减去图像平均值,并将图像从BGR格式转换为RGB格式。
有关用于训练和预测的预处理图像的更多信息,请参见用于深度学习的图像预处理.
包的成员
+
(自定义层和TensorFlow操作符)是不可访问的,如果包的父文件夹不在MATLAB路径上。有关更多信息,请参见包和MATLAB路径.PackageName
MATLAB使用的是基于单一的索引,而Python®使用从零开始的索引。换句话说,数组中的第一个元素在MATLAB和Python中索引分别为1和0。有关MATLAB索引的更多信息,请参见数组索引.在MATLAB中,要使用索引数组(
印第安纳州
),将数组转换为印第安纳州+ 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.
版本历史
介绍了R2021a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。