      """download the fashion mnist dataest and then load into memory"""
      def transform_mnist(data, label):
          if resize:
              # resize to resize x resize
              data = image.imresize(data, resize, resize)
          # change data from height x weight x channel to channel x height x weight
          return nd.transpose(data.astype('float32'), (2,0,1))/255, label.astype('float32')
      mnist_train = gluon.data.vision.FashionMNIST(
          train=True, transform=transform_mnist)
      mnist_test = gluon.data.vision.FashionMNIST(
          train=False, transform=transform_mnist)
      train_data = gluon.data.DataLoader(
 
</s> remove         train=False, transform=transform_mnist)
    train_data = gluon.data.DataLoader(
        mnist_train, batch_size, shuffle=True)
    test_data = gluon.data.DataLoader(
        mnist_test, batch_size, shuffle=False)
 </s> add         train=False, transform=transform_mnist)[:]
    train_data = DataLoader(mnist_train[0], nd.array(mnist_train[1]), batch_size, shuffle=True)
    test_data = DataLoader(mnist_test[0], nd.array(mnist_test[1]), batch_size, shuffle=False) </s> remove         train=True, transform=transform_mnist)
 </s> add         train=True, transform=transform_mnist)[:]
            n = data.shape[0]
            new_data = nd.zeros((n, resize, resize, data.shape[3]))
            for i in range(n):
                new_data[i] = image.imresize(data[i], resize, resize)
            data = new_data
        # change data from batch x height x weight x channel to batch x channel x height x weight
        return nd.transpose(data.astype('float32'), (0,3,1,2))/255, label.astype('float32')
      """download the fashion mnist dataest and then load into memory"""
      def transform_mnist(data, label):
          if resize:
              # resize to resize x resize
            n = data.shape[0]
            new_data = nd.zeros((n, resize, resize, data.shape[3]))
            for i in range(n):
                new_data[i] = image.imresize(data[i], resize, resize)
            data = new_data
        # change data from batch x height x weight x channel to batch x channel x height x weight
        return nd.transpose(data.astype('float32'), (0,3,1,2))/255, label.astype('float32')
            n = data.shape[0]
            new_data = nd.zeros((n, resize, resize, data.shape[3]))
            for i in range(n):
                new_data[i] = image.imresize(data[i], resize, resize)
            data = new_data
        # change data from batch x height x weight x channel to batch x channel x height x weight
        return nd.transpose(data.astype('float32'), (0,3,1,2))/255, label.astype('float32')
            n = data.shape[0]
            new_data = nd.zeros((n, resize, resize, data.shape[3]))
            for i in range(n):
                new_data[i] = image.imresize(data[i], resize, resize)
            data = new_data
        # change data from batch x height x weight x channel to batch x channel x height x weight
        return nd.transpose(data.astype('float32'), (0,3,1,2))/255, label.astype('float32')
      mnist_train = gluon.data.vision.FashionMNIST(
          train=True, transform=transform_mnist)
      mnist_test = gluon.data.vision.FashionMNIST(
          train=False, transform=transform_mnist)
      train_data = gluon.data.DataLoader(
keep keep keep keep replace replace replace keep keep keep keep keep
 add a new DataLoader, add multigpu from scatch 
utils.py