# Wolfram Mathematica

## Accelerate Training Using a GPU

Accelerate the training of an object recognition network using an NVIDIA GPU.

First obtain the training data.

In[1]:=
```obj = ResourceObject["CIFAR-10"]; trainingData = ResourceData[obj, "TrainingData"]; RandomSample[trainingData, 5]```
Out[1]=

Extract the set of classes.

In[2]:=
`classes = Union@Values[trainingData]`
Out[2]=

Construct a high-accuracy net using repeated modules.

In[3]:=
```module = NetChain[{ ConvolutionLayer[100, {3, 3}], BatchNormalizationLayer[], ElementwiseLayer[Ramp], PoolingLayer[{3, 3}, "PaddingSize" -> 1] }]```
Out[3]=
In[4]:=
```net = NetChain[{ module, module, module, module, FlattenLayer[], 500, Ramp, 10, SoftmaxLayer[]}, "Input" -> NetEncoder[{"Image", {32, 32}}], "Output" -> NetDecoder[{"Class", classes}] ]```
Out[4]=

Train the network and record the time taken.

In[5]:=
```{time, trained} = AbsoluteTiming @ NetTrain[net, trainingData, TargetDevice -> "GPU"];```

Training on an NVidia Titan X GPU takes around 10 minutes.

In[6]:=
`time`
Out[6]=

For comparison, CPU training can take upward of 2 hours.

Evaluate the network on a selection of images.

In[7]:=
```trained[{\!\(\* GraphicsBox[ TagBox[RasterBox[CompressedData[" 1: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 +ruHH//ig/ff/eDD98Jnx616Bes17fF4MvEsVcYwvN0lO10SNjTY05zRzPZ8 0/Us13XgHPcANgAeBK8iVzE9VaQbzfBB7cVe8uBPH/3m55/84Ve//+3Pnuzv ZPLZeqfZ6feanW6HIHoU3e3jxUq10cAIkoGYbW9iOr5hj2Cn+uGmZDu24wC/ 6XiG4+pwpMscLTTLRPrk4NGDJwcPj44e5wsZZjjEGQqjCIzuYzSJ0QysH2gd oXECXp/2aArksBBqpgeboaIbGqxdcLoFZ6jpwj/ghWXGhAVTha3HERiVCc59 juOy6UQsHoWDCU4ZAo4iqDQ5wJhhrd0tX1UYCkdrKOyZQA47razZsHyKCmwL sIJaYIrh+ayo8Yox8v3xeKTyrDik4fxKZxPZYhltdk4vLnf29mOpQrWN1VpY B6NavUELH0SzpS+PQ4VSIRKNQPBbctiiOVGjeZ03Jpzm07xF8eaLi1QokqEH 0mS+FESp3uxU0WY8lcmWKslcKZrJn54nzqO5aK56Hs+hzS4nWWiHTuSudg+f Hj57FjoNgS0ybM6ixgx4eijy+uj1P/+9+dt3XUqsNPrHF6lPdg4u0le1HlVE ez1igOF0ulDJVCr5KnoWTV1EUmfR9IvzeKpw1e6RBM0n0qXLeHb/6ZePDg5f fB36L9WKDCM= "], {{0, 32}, {32, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], DefaultBaseStyle->"ImageGraphics", ImageSizeRaw->{32, 32}, PlotRange->{{0, 32}, {0, 32}}]\), \!\(\* GraphicsBox[ TagBox[RasterBox[CompressedData[" 1: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 1E6v/v8AyuG4FA== "], {{0, 32}, {32, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], DefaultBaseStyle->"ImageGraphics", ImageSizeRaw->{32, 32}, PlotRange->{{0, 32}, {0, 32}}]\), \!\(\* GraphicsBox[ TagBox[RasterBox[CompressedData[" 1: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 gLL6 "], {{0, 32}, {32, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], DefaultBaseStyle->"ImageGraphics", ImageSizeRaw->{32, 32}, PlotRange->{{0, 32}, {0, 32}}]\), \!\(\* GraphicsBox[ TagBox[RasterBox[CompressedData[" 1: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 2qi1+XdEhdkrN3l2nhthRQ1Pa+Oqq/8JcIUI+w== "], {{0, 32}, {32, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], DefaultBaseStyle->"ImageGraphics", ImageSizeRaw->{32, 32}, PlotRange->{{0, 32}, {0, 32}}]\), \!\(\* GraphicsBox[ TagBox[RasterBox[CompressedData[" 1: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 Ew3JiQ== "], {{0, 32}, {32, 0}}, {0, 255}, ColorFunction->RGBColor], BoxForm`ImageTag["Byte", ColorSpace -> "RGB", Interleaving -> True], Selectable->False], DefaultBaseStyle->"ImageGraphics", ImageSizeRaw->{32, 32}, PlotRange->{{0, 32}, {0, 32}}]\)}]```
Out[7]=