主要内容

importTensorFlowLayers

TensorFlow网络

自从R2021a

    描述

    例子

    lgraph= importTensorFlowLayers (modelFolder从文件夹中返回TensorFlow™网络的层modelFolder该函数可以导入使用TensorFlow- keras顺序或功能API创建的TensorFlow网络。importTensorFlowLayers中定义的层saved_model.pb文件中包含的学习权值变量子文件夹,并返回lgraph作为一个LayerGraph对象。

    importTensorFlowLayers要求深度学习工具箱™转换器的TensorFlow模型金宝app支持包。如果未安装此支持金宝app包,则importTensorFlowLayers提供下载链接。

    请注意

    importTensorFlowLayers当您导入自定义TensorFlow层或软件无法将TensorFlow层转换为等效的内置MATLAB时,尝试生成自定义层®层。有关软件支持转换的层列表,请参见金宝app支持转换为内置MATLAB层的TensorFlo金宝appw-Keras层

    importTensorFlowLayers在包中保存生成的自定义层和相关的TensorFlow操作符+modelFolder

    importTensorFlowLayers不会自动为每个不支持转换为内置MATLAB层的TensorFlow层生成自定义层。金宝app有关如何处理不受支持的层的详细信息,请参见金宝app提示

    例子

    lgraph= importTensorFlowLayers (modelFolder名称,值通过一个或多个名称-值参数指定的附加选项,从TensorFlow网络导入层和权重。例如,“OutputLayerType”、“分类”将分类输出层附加到导入的网络体系结构的末尾。

    例子

    全部折叠

    以保存的模型格式导入预训练的TensorFlow网络LayerGraph对象。然后,将导入的图层组装成DAGNetwork对象,并使用组合网络对图像进行分类。

    指定模型文件夹。

    如果~ (“digitsDAGnet”“dir”)解压缩(“digitsDAGnet.zip”结束modelFolder =”。/ digitsDAGnet '

    指定类名。

    classNames = {' 0 '' 1 '' 2 '“3”“4”“5”“6”“7”“8”“9”};

    以保存的模型格式导入TensorFlow网络的层和权值。默认情况下,importTensorFlowLayers导入网络为LayerGraph对象兼容DAGNetwork对象。为图像分类问题指定输出层类型。

    lgraph = importTensorFlowLayers(modelFolder,“OutputLayerType”“分类”
    导入已保存的模型…翻译模型,这可能需要几分钟……完成翻译。
    lgraph = LayerGraph with properties: Layers: [13×1 nnet.cnn.layer.Layer] Connections: [13×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}

    显示导入网络的最后一层。输出显示importTensorFlowLayers附加一个ClassificationOutputLayer到网络架构结束。

    lgraph.Layers(结束)
    ans = ClassificationOutputLayer with properties: Name: 'ClassificationLayer_activation_1' Classes: 'auto' ClassWeights: 'none' OutputSize: 'auto' Hyperparameters LossFunction: 'crossentropyex'

    分类层不包含类,因此必须在组装网络之前指定这些类。如果不指定类,则软件会自动将类设置为12、……N,在那里N是类的数量。

    分类层有一个名称“ClassificationLayer_activation_1”。将类设置为一会然后将导入的分类层替换为新的分类层。

    cLayer = lgraph.Layers(end);粘土。Classes = classNames;lgraph = replaceLayer(lgraph;“ClassificationLayer_activation_1”、粘土);

    组装层图使用assembleNetwork返回aDAGNetwork对象。

    装配网络(lgraph)
    net = DAGNetwork with properties: 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”);I = imread(fullfile(digitDatasetPath),“5”“image4009.png”));

    使用导入的网络对图像进行分类。

    label = classification (net,I);

    显示图像和分类结果。

    imshow (I)标题([“分类结果”一会{标签}])

    以保存的模型格式导入预训练的TensorFlow网络LayerGraph对象兼容dlnetwork对象。然后,将LayerGraph反对dlnetwork对图像进行分类。

    指定模型文件夹。

    如果~ (“digitsDAGnet”“dir”)解压缩(“digitsDAGnet.zip”结束modelFolder =”。/ digitsDAGnet '

    指定类名。

    classNames = {' 0 '' 1 '' 2 '“3”“4”“5”“6”“7”“8”“9”};

    导入TensorFlow网络作为与a兼容的层dlnetwork对象。

    lgraph = importTensorFlowLayers(modelFolder,“TargetNetwork”“dlnetwork”
    导入已保存的模型…翻译模型,这可能需要几分钟……完成翻译。
    lgraph = LayerGraph with properties: 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”);I = imread(fullfile(digitDatasetPath),“5”“image4009.png”));大小(我)
    ans =1×228日28日

    将导入的层图转换为adlnetwork对象。

    Dlnet = dlnetwork(lgraph);

    显示网络的输入大小。在这种情况下,图像大小与网络输入大小匹配。如果它们不匹配,则必须使用imresize(我netInputSize (1:2))

    dlnet.Layers (1) .InputSize
    ans =1×328 28 1

    将图像转换为adlarray。用尺寸格式化图像“SSCB”(空间、空间、通道、批量)。在本例中,批大小为1,您可以忽略它(SSC的).

    I_dlarray = dlarray(single(I),“SSCB”);

    对样本图像进行分类,找到预测的标签。

    prob = predict(dlnet, i_array);[~,label] = max(prob);

    显示图像和分类结果。

    imshow (I)标题([“分类结果”一会{标签}])

    以保存的模型格式导入预训练的TensorFlow网络LayerGraph对象。然后,将导入的图层组装成DAGNetwork对象。导入的网络包含不支持转换为内置MATLAB层的层。金宝app当您导入这些图层时,软件会自动生成自定义图层。

    本例使用helper函数findCustomLayers。要查看此函数的代码,请参见Helper函数

    指定模型文件夹。

    如果~ (“digitsDAGnetwithnoise”“dir”)解压缩(“digitsDAGnetwithnoise.zip”结束modelFolder =”。/ digitsDAGnetwithnoise '

    指定类名。

    classNames = {' 0 '' 1 '' 2 '“3”“4”“5”“6”“7”“8”“9”};

    以保存的模型格式导入TensorFlow网络的层和权值。默认情况下,importTensorFlowLayers导入网络为LayerGraph对象兼容DAGNetwork对象。为图像分类问题指定输出层类型。

    lgraph = importTensorFlowLayers(modelFolder,“OutputLayerType”“分类”);
    导入已保存的模型…翻译模型,这可能需要几分钟……完成翻译。

    如果导入的网络包含不支持转换为内置MATLAB层的层,则金宝appimportTensorFlowLayers可以自动生成自定义层的地方,这些层。importTensorFlowLayers保存每个生成的自定义层到一个单独的。m包中的文件+ digitsDAGnetwithnoise在当前文件夹中。

    使用helper函数查找自动生成的自定义层的索引findCustomLayers,并显示自定义图层。

    ind = findCustomLayers(lgraph。层,' + digitsDAGnetwithnoise ');lgraph.Layers(印第安纳州)
    ans = 2×1层数组与层:1' gaussian_noise_1' GaussianNoise digitsDAGnetwithnoise。kgaussiannoise2layer3791 . kGaussianNoise1Layer3766 2' gaussian_noise_2' GaussianNoise digitsDAGnetwithnoise.kGaussianNoise2Layer3791

    分类层不包含类,因此必须在组装网络之前指定这些类。如果不指定类,则软件会自动将类设置为12、……N,在那里N是类的数量。

    分类层有一个名称“ClassificationLayer_activation_1”。将类设置为一会然后将导入的分类层替换为新的分类层。

    cLayer = lgraph.Layers(end);粘土。Classes = classNames;lgraph = replaceLayer(lgraph;“ClassificationLayer_activation_1”、粘土);

    组装层图使用assembleNetwork。函数返回一个DAGNetwork对象,该对象准备用于预测。

    装配网络(lgraph)
    net = DAGNetwork with properties: Layers: [15×1 nnet.cnn.layer.Layer] Connections: [15×2 table] InputNames: {'input_1'} OutputNames: {'ClassificationLayer_activation_1'}

    Helper函数

    本节提供helper函数的代码findCustomLayers在本例中使用。findCustomLayers返回指数的自定义图层importTensorFlowNetwork自动生成。

    函数索引= findCustomLayers(layers,PackageName) s = what(‘。’PackageName]);index = 0 (1,length(s.m));I = 1:长度(层)J = 1:长度(s.m)如果strcmpi(类(层(i)), [PackageName(2:结束)“。”m{j}(1:end-2)]) index (j) = i;结束结束结束结束

    输入参数

    全部折叠

    包含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对象,并将分类输出层附加到导入层的末尾。

    包的名称importTensorFlowLayers保存自定义图层,指定为字符矢量或字符串标量。importTensorFlowLayers保存自定义图层包+PackageName在当前文件夹中。如果不指定“PackageName”,然后importTensorFlowLayers将自定义图层保存在名为+modelFolder在当前文件夹中。有关包的更多信息,请参见包创建命名空间

    importTensorFlowLayers当您导入自定义TensorFlow层或软件无法将TensorFlow层转换为等效的内置MATLAB层时,尝试生成自定义层。importTensorFlowLayers保存每个生成的自定义层到一个单独的。m文件中+PackageName。要查看或编辑自定义图层,请打开相关的。m文件。有关自定义层的更多信息,请参见自定义图层

    这个包+PackageName还能包含子包吗+行动。此子包包含对应于TensorFlow算子的MATLAB函数(参见金宝app支持的TensorFlow操作符),用于自动生成的自定义图层。importTensorFlowLayers将每个算子的相关MATLAB函数单独保存。m文件中的子包+行动。的对象函数dlnetwork,例如预测函数,在与自定义层交互时使用这些操作符。

    例子:“PackageName”、“MobileNet”

    例子:“PackageName”、“CustomLayers”

    导入网络架构的深度学习工具箱网络的目标类型,指定为“dagnetwork”“dlnetwork”

    • 如果你指定“TargetNetwork”作为“dagnetwork”时,导入的网络架构兼容DAGNetwork对象。在本例中,是导入的lgraph必须包括由TensorFlow保存的模型损失函数或名称值参数指定的输出层“OutputLayerType”

    • 如果你指定“TargetNetwork”作为“dlnetwork”时,导入的网络架构兼容dlnetwork对象。在本例中,是导入的lgraph不包括输出层。

    例子:“TargetNetwork”、“dlnetwork”进口LayerGraph对象兼容dlnetwork对象。

    输出层的类型importTensorFlowLayers追加到导入的网络架构的末尾,指定为“分类”“回归”,或“pixelclassification”。附加一个pixelClassificationLayer(计算机视觉工具箱)对象需要计算机视觉工具箱™。

    • 如果你指定“TargetNetwork”作为“dagnetwork”保存的模型modelFolder如果没有指定损失函数,则必须给name-value参数赋值“OutputLayerType”。一个DAGNetwork对象必须有一个输出层。

    • 如果你指定“TargetNetwork”作为“dlnetwork”importTensorFlowLayers忽略名称-值参数“OutputLayerType”。一个dlnetwork对象没有输出层。

    例子:“OutputLayerType”、“分类”

    为网络输入图像的大小,指定为两个或三个数值对应的矢量(高度、宽度)对于灰度图像和(高度、宽度、渠道)分别用于彩色图像。网络使用此信息saved_model.pb文件中modelFolder不指定输入大小。

    例子:“ImageInputSize”,[28 28]

    指示符用于在命令窗口中显示导入进度信息,指定为数字或逻辑1真正的)或0).

    例子:“详细”,“真正的”

    输出参数

    全部折叠

    网络架构,返回为LayerGraph对象。

    要使用导入的层图进行预测,您必须转换LayerGraph反对DAGNetworkdlnetwork对象。指定名称-值参数“TargetNetwork”作为“dagnetwork”“dlnetwork”取决于预期的工作流程。

    • 把一个LayerGraph到一个DAGNetwork通过使用assembleNetwork。在DAGNetwork对象,然后使用分类函数。

    • 把一个LayerGraph到一个dlnetwork通过使用dlnetwork。在dlnetwork对象,然后使用预测函数。指定输入数据为dlarray使用正确的数据格式(有关更多信息,请参阅fmt的观点dlarray).

    限制

    • importTensorFlowLayers金宝app支持TensorFlow版本v2.0到2.6。

    更多关于

    全部折叠

    TensorFlow-Keras层支持转换为内置金宝appMATLAB

    importTensorFlowLayers金宝app支持以下TensorFlow-Keras层类型,用于转换为内置的MATLAB层,但有一些限制。

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

    激活,包含激活名称:

    • elu

    • gelu

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

    • 线性

    • softmax

    • 乙状结肠

    • 搞同性恋的

    • 双曲正切

    层:

    先进的激活:

    • ELU

    • Softmax

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

    • LeakyReLU

    • PReLu*

    层:

    AveragePooling1D averagePooling1dLayerPaddingValue指定为“的意思是”
    AveragePooling2D averagePooling2dLayerPaddingValue指定为“的意思是”
    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
    输入 imageInputLayersequenceInputLayer,或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层,importTensorFlowLayers用向量元素的平均值替换矢量值缩放参数。您可以在导入后将参数更改回矢量。使用示例请参见导入Keras PReLU层

    金宝app支持TensorFlow-Keras损失函数

    importTensorFlowLayers金宝app支持以下Keras损失函数:

    • mean_squared_error

    • categorical_crossentropy

    • sparse_categorical_crossentropy

    • binary_crossentropy

    金宝app支持TensorFlow运营商

    importTensorFlowLayers金宝app支持以下TensorFlow运算符,用于转换为MATLAB函数dlarray金宝app支持。

    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 tfMultfSub
    挤压 tfSqueeze
    StatefulPartitionedCall 无(转换为自定义层方法中的函数)
    StopGradient tfStopGradient
    StridedSlice tfStridedSlicetfSqueeze
    tfSub
    总和 tfSum
    双曲正切 双曲正切
    瓷砖 tfTile
    转置 tfTranspose
    解压缩 tfUnpack
    在哪里 tfWhere

    操作的函数的更多信息dlarray对象,看到支持数组的函数列表金宝app

    为导入的网络架构生成代码

    你可以用MATLAB编码器™或GPU Coder™与深度学习工具箱一起生成MEX,独立CPU, CUDA®或用于导入网络的独立CUDA代码。有关更多信息,请参见代码生成

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

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

    importTensorFlowLayers返回网络架构lgraph作为一个LayerGraph对象。对于代码生成,您必须首先转换导入的代码LayerGraph对象到网络。把一个LayerGraph反对DAGNetworkdlnetwork对象assembleNetworkdlnetwork。欲知更多有关MATLAB编码器和GPU Coder对深度学金宝app习工具箱对象的支持,参见金宝app支持类(MATLAB编码器)金宝app支持类(GPU编码器),分别。

    您可以为任何导入的网络生成代码,其层支持代码生成。金宝app来获取支持代码生成的层列表金宝appMATLAB编码器和GPU编码器,见金宝app支持层(MATLAB编码器)金宝app支持层(GPU编码器),分别。有关每个内置MATLAB层的代码生成功能和限制的更多信息,请参阅该层的扩展功能部分。例如,参见代码生成GPU代码生成imageInputLayer

    在GPU上使用导入网络层

    importTensorFlowLayers不会在GPU上执行。然而,importTensorFlowLayers导入用于深度学习的预训练神经网络的层LayerGraph对象,可以在GPU上使用。

    • 转换导入的LayerGraph反对DAGNetwork对象assembleNetwork。在DAGNetwork对象,然后你可以预测类标签上的CPU或GPU使用分类。使用名称-值参数指定硬件需求ExecutionEnvironment。对于具有多个输出的网络,使用预测函数并指定名称-值参数ReturnCategorical作为真正的

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

      • 如果你使用minibatchqueue为了处理和管理小批量的输入数据minibatchqueue如果有图形处理器,object默认将输出转换为图形处理器阵列。

      • 使用dlupdate转换a的可学习参数dlnetwork对象到GPU阵列。

        net = dlupdate(@gpuArray,net)

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

    使用GPU需要Parallel Computing Toolbox™许可证和支持的GPU设备。金宝app有关支持的设备的信息,请参见金宝appGPU计算要求(并行计算工具箱)

    提示

    • 如果导入的网络包含不支持转换为内置MATLAB层的层(参见金宝app支持转换为内置MATLAB层的TensorFlo金宝appw-Keras层),importTensorFlowLayers不会自动生成自定义层,那么importTensorFlowLayers在不支持的图层上插入一个占位符图层。金宝app要查找网络中不支持的层的名称和索引,请使用金宝appfindPlaceholderLayers函数。然后,您可以用您定义的新层替换占位符层。要替换一个图层,使用replaceLayer

    • 要使用预训练网络对新图像进行预测或迁移学习,您必须以与用于训练导入模型的图像预处理相同的方式对图像进行预处理。最常见的预处理步骤是调整图像大小、减去图像平均值以及将图像从BGR格式转换为RGB格式。

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

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

      有关用于训练和预测的图像预处理的更多信息,请参见深度学习的图像预处理

    • 包的成员+PackageName如果包父文件夹不在MATLAB路径上,则无法访问(自定义层和TensorFlow操作符)。有关更多信息,请参见软件包和MATLAB路径

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

    • 有关更多提示,请参阅从TensorFlow, PyTorch和ONNX导入模型的技巧

    选择功能

    使用importTensorFlowNetworkimportTensorFlowLayers以保存的模型格式导入TensorFlow网络[2]。或者,如果网络是HDF5或JSON格式,则使用importKerasNetworkimportKerasLayers导入网络。

    参考文献

    [1]TensorFlowhttps://www.tensorflow.org/

    [2]使用SavedModel格式https://www.tensorflow.org/guide/saved_model

    版本历史

    在R2021a中引入

    全部展开