convolution2dLayer([4 1],8,'Padding','same')
    maxPooling2dLayer([2 1],'Stride',2)
     convolution2dLayer([4 1],16,'Padding','same')
    maxPooling2dLayer([2 1],'Stride',2)
    convolution2dLayer([4 1],4,'Padding','same')
    maxPooling2dLayer([2 1],'Stride',2)
    convolution2dLayer([4 1],2,'Padding','same')
    maxPooling2dLayer([2 1],'Stride',2)
    convolution2dLayer([4 1],1,'Padding','same')
options = trainingOptions('sgdm',...
    'ExecutionEnvironment', 'cpu',...
    'InitialLearnRate',0.005,...
    'ValidationData',{XValidation,YValidation}, ...
    'ValidationFrequency',10, ...
    'Plots','training-progress');
net = trainNetwork(Xtrain,Ytrain,layers,options);