importTensorFlowNetwork

Импортируйте предварительно обученную сеть TensorFlow

    Описание

    пример

    net = importTensorFlowNetwork(modelFolder) импортирует предварительно обученную сеть TensorFlow™ из папки modelFolder, который содержит модель в сохраненном формате модели (совместимый только с TensorFlow 2). Функция может импортировать сети TensorFlow, созданные с последовательным или функциональным API TensorFlow-Keras. importTensorFlowNetwork импортирует слои, заданные в saved_model.pb файл и изученные веса содержатся в variables подпапка, и возвращает сеть net как DAGNetwork или dlnetwork объект.

    importTensorFlowNetwork требует Конвертера Deep Learning Toolbox™ для пакета поддержки Моделей TensorFlow. Если этот пакет поддержки не установлен, то importTensorFlowNetwork обеспечивает ссылку на загрузку.

    Примечание

    importTensorFlowNetwork попытки сгенерировать пользовательский слой, когда вы импортируете пользовательский слой TensorFlow или когда программное обеспечение не может преобразовать слой TensorFlow в эквивалентный встроенный MATLAB® слой. Для списка слоев, для которых программное обеспечение поддерживает преобразование, см. Слои TensorFlow-Keras, Поддержанные для Преобразования на Встроенные Слои MATLAB.

    importTensorFlowNetwork сохраняет сгенерированные пользовательские слои и связанные операторы TensorFlow в пакете +modelFolder.

    importTensorFlowNetwork автоматически не генерирует пользовательский слой для каждого слоя TensorFlow, который не поддерживается для преобразования на встроенный слой MATLAB. Для получения дополнительной информации о том, как обработать неподдерживаемые слои, смотрите Советы.

    пример

    net = importTensorFlowNetwork(modelFolder,Name,Value) импортирует предварительно обученную сеть TensorFlow с дополнительными опциями, заданными одними или несколькими аргументами name-value. Например, 'OutputLayerType','classification' импортирует сеть как DAGNetwork с классификацией выводит слой, добавленный в конец импортированной сетевой архитектуры.

    Примеры

    свернуть все

    Импортируйте предварительно обученную сеть TensorFlow в сохраненном формате модели как DAGNetwork объект и использование импортированная сеть, чтобы классифицировать изображение.

    Задайте папку модели.

    if ~exist('digitsDAGnet','dir')
        unzip('digitsDAGnet.zip')
    end
    modelFolder = './digitsDAGnet';

    Задайте имена классов.

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

    Импортируйте сеть TensorFlow в сохраненном формате модели. По умолчанию, importTensorFlowNetwork импортирует сеть как DAGNetwork объект. Задайте выходной тип слоя для проблемы классификации изображений.

    net = importTensorFlowNetwork(modelFolder,'OutputLayerType','classification','Classes',classNames)
    Importing the saved model...
    Translating the model, this may take a few minutes...
    Finished translation. Assembling network...
    Import finished.
    
    net = 
      DAGNetwork with properties:
    
             Layers: [13×1 nnet.cnn.layer.Layer]
        Connections: [13×2 table]
         InputNames: {'input_1'}
        OutputNames: {'ClassificationLayer_activation_1'}
    
    

    Постройте сетевую архитектуру.

    plot(net)
    title('DAG Network Architecture')

    Считайте изображение, вы хотите классифицировать и отобразить размер изображения. Изображение является полутоновым изображением (с одним каналом) с размером 28 28 пиксели.

    digitDatasetPath = fullfile(toolboxdir('nnet'),'nndemos','nndatasets','DigitDataset');
    I = imread(fullfile(digitDatasetPath,'5','image4009.png'));
    size(I)
    ans = 1×2
    
        28    28
    
    

    Отобразите входной размер сети. В этом случае размер изображения совпадает с сетевым входным размером. Если они не соответствуют, необходимо изменить размер изображения при помощи imresize(I, netInputSize(1:2)).

    net.Layers(1).InputSize
    ans = 1×3
    
        28    28     1
    
    

    Классифицируйте изображение с помощью предварительно обученной сети.

    label = classify(net,I);

    Отобразите изображение и результат классификации.

    imshow(I)
    title(['Classification result ' char(label)])

    Импортируйте предварительно обученную Сеть TensorFlow в сохраненном формате модели как dlnetwork объект и использование импортированная сеть, чтобы предсказать метки класса.

    Задайте папку модели.

    if ~exist('digitsDAGnet','dir')
        unzip('digitsDAGnet.zip')
    end
    modelFolder = './digitsDAGnet';

    Задайте имена классов.

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

    Импортируйте сеть TensorFlow в сохраненном формате модели как dlnetwork объект.

    net = importTensorFlowNetwork(modelFolder,'TargetNetwork','dlnetwork')
    Importing the saved model...
    Translating the model, this may take a few minutes...
    Finished translation. Assembling network...
    Import finished.
    
    net = 
      dlnetwork with properties:
    
             Layers: [12×1 nnet.cnn.layer.Layer]
        Connections: [12×2 table]
         Learnables: [6×3 table]
              State: [0×3 table]
         InputNames: {'input_1'}
        OutputNames: {'activation_1'}
        Initialized: 1
    
    

    Считайте изображение, вы хотите классифицировать и отобразить размер изображения. Изображение является полутоновым изображением (с одним каналом) с размером 28 28 пиксели.

    digitDatasetPath = fullfile(toolboxdir('nnet'),'nndemos','nndatasets','DigitDataset');
    I = imread(fullfile(digitDatasetPath,'5','image4009.png'));
    size(I)
    ans = 1×2
    
        28    28
    
    

    Отобразите входной размер сети. В этом случае размер изображения совпадает с сетевым входным размером. Если они не соответствуют, необходимо изменить размер изображения при помощи imresize(I, netInputSize(1:2)).

    netInputSize = net.Layers(1).InputSize
    netInputSize = 1×3
    
        28    28     1
    
    

    Преобразуйте изображение в dlarray. Отформатируйте изображения с размерностями 'SSCB' (пространственный, пространственный, канал, пакет). В этом случае пакетный размер равняется 1, и можно не использовать его ('SSC').

    I_dlarray = dlarray(single(I),'SSCB');

    Классифицируйте демонстрационное изображение и найдите предсказанную метку.

    prob = predict(net,I_dlarray);
    [~,label] = max(prob);

    Отобразите изображение и результат классификации.

    imshow(I)
    title(['Classification result ' classNames{label}]) 

    Импортируйте предварительно обученную сеть TensorFlow в сохраненном формате модели как DAGNetwork объект и использование импортированная сеть, чтобы классифицировать изображение. Импортированная сеть содержит слои, которые не поддерживаются для преобразования на встроенные слои MATLAB. Программное обеспечение автоматически генерирует пользовательские слои, когда вы импортируете эти слои.

    Этот пример использует функцию помощника findCustomLayers. Чтобы просмотреть код для этой функции, смотрите Функцию Помощника.

    Задайте папку модели.

    if ~exist('digitsDAGnetwithnoise','dir')
        unzip('digitsDAGnetwithnoise.zip')
    end
    modelFolder = './digitsDAGnetwithnoise';

    Задайте имена классов.

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

    Импортируйте сеть TensorFlow в сохраненном формате модели. По умолчанию, importTensorFlowNetwork импортирует сеть как DAGNetwork объект. Задайте выходной тип слоя для проблемы классификации изображений.

    net = importTensorFlowNetwork(modelFolder,'OutputLayerType','classification','Classes',classNames);
    Importing the saved model...
    Translating the model, this may take a few minutes...
    Finished translation. Assembling network...
    Import finished.
    

    Если импортированная сеть содержит слои, не поддержанные для преобразования на встроенные слои MATLAB, то importTensorFlowNetwork может автоматически сгенерировать пользовательские слои вместо этих слоев. importTensorFlowNetwork сохраняет каждый сгенерированный пользовательский слой в отдельный .m файл в пакете +digitsDAGnetwithnoise в текущей папке.

    Найдите индексы автоматически сгенерированных пользовательских слоев с помощью функции помощника findCustomLayers, и отобразите пользовательские слои.

    ind = findCustomLayers(net.Layers,'+digitsDAGnetwithnoise');
    net.Layers(ind)
    ans = 
      2×1 Layer array with layers:
    
         1   'gaussian_noise_1'   GaussianNoise   digitsDAGnetwithnoise.kGaussianNoise1Layer3766
         2   'gaussian_noise_2'   GaussianNoise   digitsDAGnetwithnoise.kGaussianNoise2Layer3791
    

    Постройте сетевую архитектуру.

    plot(net)
    title('DAG Network Architecture')

    Считайте изображение, которое вы хотите классифицировать.

    digitDatasetPath = fullfile(toolboxdir('nnet'),'nndemos','nndatasets','DigitDataset');
    I = imread(fullfile(digitDatasetPath,'5','image4009.png'));

    Классифицируйте изображение с помощью предварительно обученной сети.

    label = classify(net,I);

    Отобразите изображение и результат классификации.

    imshow(I)
    title(['Classification result ' char(label)])

    Функция помощника

    Этот раздел предоставляет код функции помощника findCustomLayers используемый в этом примере. findCustomLayers возвращает indices из пользовательских слоев, что importTensorFlowNetwork автоматически генерирует.

    function indices = findCustomLayers(layers,PackageName)
    
    s = what(['.\' PackageName]);
    
    indices = zeros(1,length(s.m));
    for i = 1:length(layers)
        for j = 1:length(s.m)
            if strcmpi(class(layers(i)),[PackageName(2:end) '.' s.m{j}(1:end-2)])
                indices(j) = i;
            end
        end
    end
    
    end

    Входные параметры

    свернуть все

    Имя папки, содержащей модель TensorFlow в виде вектора символов или строкового скаляра. modelFolder должен быть в текущей папке, или необходимо включать полный или относительный путь в папку. modelFolder должен содержать файл saved_model.pb, и подпапка variables. Это может также содержать подпапки assets и assets.extra.

    • Файл saved_model.pb содержит архитектуру графика слоев и опции обучения (например, оптимизатор, потери и метрики).

    • Подпапка variables содержит веса, изученные предварительно обученной сетью TensorFlow. По умолчанию, importTensorFlowNetwork импортирует веса.

    • Подпапка assets содержит дополнительные файлы (например, словари), который может использовать график слоев. importTensorFlowNetwork не импортирует файлы в assets.

    • Подпапка assets.extra содержит дополнительные файлы (например, информация для пользователей), которые сосуществуют с графиком слоев.

    Пример: 'MobileNet'

    Пример: './MobileNet'

    Аргументы name-value

    Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

    Пример: importTensorFlowNetwork(modelFolder,'TargetNetwork','dagnetwork','OutputLayerType','classification') импортирует сеть из modelFolder как DAGNetwork возразите, сохраняет автоматически сгенерированные пользовательские слои в пакете +modelFolder в текущей папке, и добавляет классификацию выходной слой в конец импортированной сетевой архитектуры.

    Имя пакета, в который importTensorFlowNetwork сохраняет пользовательские слои в виде вектора символов или строкового скаляра. importTensorFlowNetwork сохраняет пользовательский пакет слоев +PackageName в текущей папке. Если вы не задаете 'PackageName'то importTensorFlowNetwork сохраняет пользовательские слои в пакете, названном +modelFolder в текущей папке. Для получения дополнительной информации о пакетах смотрите, что Пакеты Создают Пространства имен.

    importTensorFlowNetwork попытки сгенерировать пользовательский слой, когда вы импортируете пользовательский слой TensorFlow или когда программное обеспечение не может преобразовать слой TensorFlow на эквивалентный встроенный слой MATLAB. importTensorFlowNetwork сохраняет каждый сгенерированный пользовательский слой в отдельный .m файл в +PackageName. Чтобы просмотреть или отредактировать пользовательский слой, откройте связанный .m файл. Для получения дополнительной информации о пользовательских слоях смотрите Глубокое обучение Пользовательские Слои.

    Пакет +PackageName может также содержать подпакет +ops. Этот подпакет содержит соответствие функций MATLAB операторам TensorFlow (см. Поддерживаемые Операторы TensorFlow), которые используются в автоматически сгенерированных пользовательских слоях. importTensorFlowNetwork сохраняет связанную функцию MATLAB для каждого оператора в отдельном .m файл в подпакете +ops. Объектные функции dlnetwork, такой как predict функция, используйте эти операторы при взаимодействии с пользовательскими слоями.

    Пример: 'PackageName','MobileNet'

    Пример: 'PackageName','CustomLayers'

    Целевой тип сети Deep Learning Toolbox в виде 'dagnetwork' или 'dlnetwork'.

    • Задайте 'TargetNetwork как 'dagnetwork' импортировать сеть как DAGNetwork объект. В этом случае, net должен включать выходной слой, заданный TensorFlow сохраненная функция потерь модели или аргумент 'OutputLayerType' значения имени.

    • Задайте 'TargetNetwork как 'dlnetwork' импортировать сеть как dlnetwork объект. В этом случае, net не включает выходной слой.

    Пример: 'TargetNetwork','dlnetwork'

    Тип выходного слоя это importTensorFlowNetwork добавляет в конец импортированной сетевой архитектуры в виде 'classification', 'regression', или 'pixelclassification'. Добавление pixelClassificationLayer Объект (Computer Vision Toolbox) требует Computer Vision Toolbox™.

    • Если вы задаете 'TargetNetwork' как 'dagnetwork' и сохраненная модель в modelFolder не задает функцию потерь, необходимо присвоить значение аргументу 'OutputLayerType' значения имени. DAGNetwork объект должен иметь выходной слой.

    • Если вы задаете 'TargetNetwork' как 'dlnetwork', importTensorFlowNetwork игнорирует аргумент 'OutputLayerType' значения имени. dlnetwork объект не имеет выходного слоя.

    Пример: 'OutputLayerType','classification'

    Размер входа отображает для сети в виде вектора из двух или трех численных значений, соответствующих [height,width] для полутоновых изображений и [height,width,channels] для цветных изображений, соответственно. Сеть использует эту информацию когда saved_model.pb файл в modelFolder не задает входной размер.

    Пример: 'ImageInputSize',[28 28]

    Классы выходного слоя в виде категориального вектора, массива строк, массива ячеек из символьных векторов или 'auto'. Если вы задаете массив строк или массив ячеек из символьных векторов strто importTensorFlowNetwork устанавливает классы выходного слоя к categorical(str,str). Если Classes 'auto'то importTensorFlowNetwork устанавливает классы на categorical(1:N), где N количество классов.

    • Если вы задаете 'TargetNetwork' как 'dagnetwork', importTensorFlowNetwork хранит информацию на классах в выходном слое DAGNetwork объект.

    • Если вы задаете 'TargetNetwork' как 'dlnetwork', importTensorFlowNetwork игнорирует аргумент 'Classes' значения имени. dlnetwork объект не имеет выходного слоя, чтобы хранить информацию на классах.

    Пример: 'Classes',{'0','1','3'}

    Пример: 'Classes',categorical({'dog','cat'})

    Типы данных: char | categorical | string | cell

    Индикатор, чтобы отобразить информацию о прогрессе импорта в командном окне в виде числового или логического 1 TRUE) или 0 ложь).

    Пример: 'Verbose','true'

    Выходные аргументы

    свернуть все

    Предварительно обученная сеть TensorFlow, возвращенная как DAGNetwork или dlnetwork объект.

    • Задайте 'TargetNetwork как 'dagnetwork' импортировать сеть как DAGNetwork объект. На DAGNetwork объект, вы затем предсказываете метки класса при помощи classify функция.

    • Задайте 'TargetNetwork как 'dlnetwork' импортировать сеть как dlnetwork объект. На dlnetwork объект, вы затем предсказываете метки класса при помощи predict функция. Задайте входные данные как dlarray с помощью правильного формата данных (для получения дополнительной информации, смотрите fmt аргумент dlarray).

    Ограничения

    • importTensorFlowNetwork поддержки версии v2.0, v2.1, v.2.2 TensorFlow и v2.3.

    Больше о

    свернуть все

    Слои TensorFlow-Keras, поддержанные для преобразования на встроенные слои MATLAB

    importTensorFlowNetwork поддерживает следующие типы слоя TensorFlow-Keras для преобразования на встроенные слои MATLAB, с некоторыми ограничениями.

    Слой TensorFlow-KerasСоответствующий слой Deep Learning Toolbox
    AddadditionLayer

    Activation, с именами активации:

    • 'elu'

    • 'relu'

    • 'linear'

    • 'softmax'

    • 'sigmoid'

    • 'swish'

    • 'tanh'

    Слои:

    Усовершенствованные активации:

    • ELU

    • Softmax

    • ReLU

    • LeakyReLU

    • PReLu*

    Слои:

    AveragePooling1DaveragePooling1dLayer с PaddingValue заданный как 'mean'
    AveragePooling2DaveragePooling2dLayer с PaddingValue заданный как 'mean'
    BatchNormalizationbatchNormalizationLayer
    Bidirectional(LSTM(__))bilstmLayer
    ConcatenatedepthConcatenationLayer
    Conv1Dconvolution1dLayer
    Conv2Dconvolution2dLayer
    Conv2DTransposetransposedConv2dLayer
    CuDNNGRUgruLayer
    CuDNNLSTMlstmLayer
    DensefullyConnectedLayer
    DepthwiseConv2DgroupedConvolution2dLayer
    DropoutdropoutLayer
    EmbeddingwordEmbeddingLayer (Text Analytics Toolbox)
    Flattennnet.keras.layer.FlattenCStyleLayer
    GlobalAveragePooling1DglobalAveragePooling1dLayer
    GlobalAveragePooling2DglobalAveragePooling2dLayer
    GlobalMaxPool1DglobalMaxPooling1dLayer
    GlobalMaxPool2DglobalMaxPooling2dLayer
    GRUgruLayer
    InputimageInputLayer, sequenceInputLayer, или featureInputLayer
    LSTMlstmLayer
    MaxPool1DmaxPooling1dLayer
    MaxPool2DmaxPooling2dLayer
    MultiplymultiplicationLayer
    SeparableConv2DgroupedConvolution2dLayer или convolution2dLayer
    TimeDistributedsequenceFoldingLayer перед перенесенным слоем и sequenceUnfoldingLayer после перенесенного слоя
    UpSampling2Dresize2dLayer (Image Processing Toolbox)
    UpSampling3Dresize3dLayer (Image Processing Toolbox)
    ZeroPadding1Dnnet.keras.layer.ZeroPadding1DLayer
    ZeroPadding2Dnnet.keras.layer.ZeroPadding2DLayer

    * Для слоя PReLU, importTensorFlowNetwork заменяет масштабный коэффициент с векторным знаком на среднее значение векторных элементов. Можно возвратить параметр к вектору после импорта. Для примера смотрите Импорт Слой Keras PReLU.

    Поддерживаемые функции потерь TensorFlow-Keras

    importTensorFlowNetwork поддерживает следующие функции потерь Keras:

    • mean_squared_error

    • categorical_crossentropy

    • sparse_categorical_crossentropy

    • binary_crossentropy

    Поддерживаемые операторы TensorFlow

    importTensorFlowNetwork поддерживает следующие операторы TensorFlow для преобразования в функции MATLAB с dlarray поддержка.

    Оператор TensorFlowСоответствующая функция MATLAB
    AddtfAdd
    AddNtfAddN
    AddV2tfAdd
    AvgPooltfAvgPool
    BatchMatMulV2tfBatchMatMulV2
    BiasAddtfBiasAdd
    BroadcastTotfBroadcastTo
    CasttfCast
    ConcatV2tfCat
    ConstНи один (переведенный в веса в пользовательском слое)
    Conv2DtfConv2D
    DepthToSpacedepthToSpace (Image Processing Toolbox)
    DepthwiseConv2dNativetfDepthwiseConv2D
    Expexp
    FusedBatchNormV3tfBatchnorm
    GatherV2tfGather
    IdentityНи один (переведенный в присвоение значения в пользовательском слое)
    IdentityNtfIdentityN
    L2LosstfL2Loss
    LeakyReluleakyrelu
    Lesslt, <
    Loglog
    MatMultfMatMul
    MaxPooltfMaxPool
    MaximumtfMaximum
    MeantfMean
    MinimumtfMinimum
    MirrorPadtfMirrorPad
    MultfMul
    Negminus, -
    PacktfStack
    PadtfPad
    PadV2tfPad
    PartitionedCallНи один (переведенный, чтобы функционировать в пользовательских методах слоя)
    Powpower, .^
    ProdtfProd
    RandomStandardNormaltfRandomStandardNormal
    RangetfRange
    ReadVariableOpНи один (переведенный в присвоение значения в пользовательском слое)
    RealDivtfDiv
    Relurelu
    Relu6relu и min
    ReshapetfReshape
    ResizeNearestNeighbordlresize (Image Processing Toolbox)
    Rsqrtsqrt
    ShapetfShape
    Sigmoidsigmoid
    Softmaxsoftmax
    SpaceToDepthspaceToDepth (Image Processing Toolbox)
    Square.^2
    Sqrtsqrt
    SquaredDifferencetfMul или tfSub
    SqueezetfSqueeze
    StatefulPartitionedCallНи один (переведенный, чтобы функционировать в пользовательских методах слоя)
    StopGradienttfStopGradient
    StridedSlicetfStridedSlice или tfSqueeze
    SubtfSub
    Tanhtanh
    TiletfTile
    Transposepermute

    Для получения дополнительной информации о функциях, которые работают с dlarray объекты, см. Список Функций с Поддержкой dlarray.

    Используйте импортированную сеть на графическом процессоре

    importTensorFlowNetwork не выполняется на графическом процессоре. Однако importTensorFlowNetwork импортирует предварительно обученную нейронную сеть для глубокого обучения как DAGNetwork или dlnetwork объект, который можно использовать на графическом процессоре.

    • Если вы импортируете сеть как DAGNetwork объект, можно сделать предсказания с импортированной сетью или на центральном процессоре или на графическом процессоре при помощи classify. Задайте требования к аппаратным средствам с помощью аргумента ExecutionEnvironment значения имени. Для сетей с несколькими выходными параметрами используйте predict функция для DAGNetwork объекты.

    • Если вы импортируете сеть как DAGNetwork объект, можно сделать предсказания с импортированной сетью или на центральном процессоре или на графическом процессоре при помощи predict. Задайте требования к аппаратным средствам с помощью аргумента ExecutionEnvironment значения имени. Если сеть имеет несколько выходных параметров, задайте аргумент ReturnCategorical значения имени как true.

    • Если вы импортируете сеть как dlnetwork объект, можно сделать предсказания с импортированной сетью или на центральном процессоре или на графическом процессоре при помощи predict. Функция predict выполняется на графическом процессоре, если или входные данные или сетевые параметры хранятся на графическом процессоре.

      • Если вы используете minibatchqueue обработать и управлять мини-пакетами входных данных, minibatchqueue объект преобразует выход в массив графического процессора по умолчанию, если графический процессор доступен.

      • Использование dlupdate преобразовывать настраиваемые параметры dlnetwork возразите против массивов графического процессора.

        dlnet = dlupdate(@gpuarray,dlnet)

    • Можно обучить импортированную сеть или на центральном процессоре или на графическом процессоре при помощи trainNetwork. Задавать опции обучения, включая опции для среды выполнения, использование trainingOptions функция. Задайте требования к аппаратным средствам с помощью аргумента ExecutionEnvironment значения имени. Для получения дополнительной информации о том, как ускорить обучение, смотрите, Увеличивают Глубокое обучение параллельно, на графических процессорах, и в Облаке.

    Используя графический процессор требует Parallel Computing Toolbox™ и поддерживаемого устройства графического процессора. Для получения информации о поддерживаемых устройствах смотрите Поддержку графического процессора Релизом (Parallel Computing Toolbox).

    Советы

    • Если импортированная сеть содержит слой, не поддержанный для преобразования на встроенный слой MATLAB (см. Слои TensorFlow-Keras, Поддержанные для Преобразования на Встроенные Слои MATLAB), и importTensorFlowNetwork не генерирует пользовательский слой, затем importTensorFlowNetwork возвращает ошибку. В этом случае можно все еще использовать importTensorFlowLayers импортировать сетевую архитектуру.

    • Чтобы использовать предварительно обученную сеть для предсказания или передачи обучения на новых изображениях, необходимо предварительно обработать изображения таким же образом изображения, которые использовались, чтобы обучаться, импортированная модель были предварительно обработаны. Наиболее распространенные шаги предварительной обработки изменяют размер изображений, вычитая средние значения изображений, и преобразовывая изображения от изображений BGR до RGB.

      • Чтобы изменить размер изображений, использовать imresize. Например, imresize(image,[227,227,3]).

      • Чтобы преобразовать изображения от RGB до формата BGR, использовать flip. Например, flip(image,3).

      Для получения дополнительной информации о предварительной обработке изображений для обучения и предсказания, смотрите, Предварительно обрабатывают Изображения для Глубокого обучения.

    • Члены пакета +PackageName (пользовательские слои и операторы TensorFlow), не доступны, если родительская папка пакета не находится на пути MATLAB. Для получения дополнительной информации смотрите Пакеты и путь MATLAB.

    Альтернативная функциональность

    Использование importTensorFlowNetwork или importTensorFlowLayers импортировать сеть TensorFlow в сохраненном формате [2] модели. В качестве альтернативы, если сеть находится в HDF5 или формате JSON, использовать importKerasNetwork или importKerasLayers импортировать сеть.

    Ссылки

    [2] Используя формат SavedModel. https://www.tensorflow.org/guide/saved_model.

    Введенный в R2021a