Skip to main content
. 2021 Feb 18;7:e358. doi: 10.7717/peerj-cs.358

Algorithm 1. Build a deep learning model using CXRVN-proposed architecture.

Input Image_COVID-19_Set imds
Output CXRVN
  1. Begin

  2.  // Preprocessing COVID-19 X-Ray image(s) in imds

  3.  For i=1: length(imds)

  4.   img read(imds,i)

  5.   cxr isXGray(img)

  6.   img resize(cxr,[128, 128])

  7.   save(imds,I,img)

  8.  End for

  9.  // Build CXRVN Structure

  10.  NLayers new Layers{}

  11.  NLayers.append(new Input layer)

  12.  NLayers.append(new Convolutional layer)

  13.  NLayers.append(new Normalization layer)

  14.  NLayers.append(new Relu layer)

  15.  NLayers.append(new Pooling layer)

  16.  NLayers.append(new Convolutional layer)

  17.  NLayers.append(new Normalization layer)

  18.  NLayers.append(new Relu layer)

  19.  NLayers.append(new Pooling layer)

  20.  NLayers.append(new Convolutional layer)

  21.  NLayers.append(new Normalization layer)

  22.  NLayers.append(new Relu layer)

  23.  NLayers.append(new Pooling layer)

  24.  NLayers.append(new FeatureConnected layer)

  25.  NLayers.append(new Softmax layer)

  26.  NLayers.append(new Classification layer)

  27.  // Train CXRVN using options

  28.  Options.set(SolverOptimizer mini-batch gradient decent with momentum or Adam)

  29.  Options.set(InitialLearnRate ←1e-3)

  30.  Options.set(LearnRateSchedule ← Piecewise)

  31.  Options.set(MiniBatchSize ←32)

  32.  Options.set(LearnRateDropFactor ←0.2)

  33.  Options.set(LearnRateDropPeriod ←5)

  34.  Options.set(Shuffle←Every Epoch)

  35.  Options.set(ValidationFrequency←2)

  36.  Options.set(MaxEpochs ←20)

  37.  CXRVN trainNetwork(NLayers, imds, Options)

  38. End