首页 > 解决方案 > 在训练过程中为什么设备上的数据不再存在会发生错误。?

问题描述

使用 trainNetwork 时出错(第 140 行)设备上不再存在数据。

ownet2 中的错误(第 50 行) net = trainNetwork(imdstrain,layers,opts);

原因:使用 nnet.internal.cnngpu.reluForward 时出错 设备上不再存在数据。

我的代码是

clc; clear;
imdstrain = imageDatastore('D:\train\elbow','IncludeSubfolders',true,'LabelSource', 'foldernames');
imdstrain.ReadFcn = @(filename)readAndPreproc(filename);
layers = [
    imageInputLayer([256 256 3])
      convolution2dLayer(5,96)
      reluLayer
      convolution2dLayer(5,192)
      reluLayer
      maxPooling2dLayer(2,'Stride',2)
      convolution2dLayer(3,256)
      reluLayer
      convolution2dLayer(3,256)
      reluLayer
      maxPooling2dLayer(2,'Stride',2)
      convolution2dLayer(3,384)
      reluLayer
      convolution2dLayer(3,384)
      reluLayer  
      maxPooling2dLayer(2,'Stride',2)
      convolution2dLayer(3,256)
      reluLayer
      convolution2dLayer(3,256)
      reluLayer
      fullyConnectedLayer(5)
      softmaxLayer
      classificationLayer];
opts = trainingOptions('sgdm', ...
    'InitialLearnRate', 0.001, ... 
    'LearnRateSchedule', 'piecewise', ...
    'L2Regularization', 0.0001, ... 
    'MaxEpochs', 25, ...
    'MiniBatchSize', 50, ...
    'Verbose', true, ...
    'Plots','training-progress');
net = trainNetwork(imdstrain,layers,opts);

标签: matlabneural-network

解决方案


推荐阅读