숫자의 분류
육필 숫자 MNIST 데이터베이스를 사용하여 이미지에서 주어진 숫자를 예측하는 합성곱 네트워크를 훈련합니다.
먼저, 학습 데이터와 검증 데이터를 검색합니다.
In[1]:=

resource = ResourceObject["MNIST"];
trainingData = ResourceData[resource, "TrainingData"];
testData = ResourceData[resource, "TestData"];
In[2]:=

RandomSample[trainingData, 5]
Out[2]=

입력으로 28×28 그레이 스케일 이미지를 가지는 합성곱 분류 신경망을 정의합니다.
In[3]:=

lenet = NetChain[
{ConvolutionLayer[20, 5], Ramp, PoolingLayer[2, 2],
ConvolutionLayer[50, 5], Ramp, PoolingLayer[2, 2], FlattenLayer[],
500, Ramp, 10, SoftmaxLayer[]},
"Output" -> NetDecoder[{"Class", Range[0, 9]}],
"Input" -> NetEncoder[{"Image", {28, 28}, "Grayscale"}]
]
Out[3]=

4회의 훈련 라운드를 거쳐 네트워크를 훈련시킵니다.
In[4]:=

lenet = NetTrain[lenet, trainingData, ValidationSet -> testData,
MaxTrainingRounds -> 3];
Out[5]=

검증 집합에서 무작위로 추출된 이미지에서 훈련된 네트워크를 직접 평가합니다.
In[6]:=

imgs = Keys @ RandomSample[testData, 5];
Thread[imgs -> lenet[imgs]]
Out[6]=
