anchor.diff:                      "http://yann.lecun.com/exdb/mnist/t10k-images-idx3-ubyte.gz";
                       "http://yann.lecun.com/exdb/mnist/t10k-labels-idx1-ubyte.gz"])
       let files = [for url in urls do Path.Combine(path, Path.GetFileName(url))]
  -    let data, target = 
  -        Directory.CreateDirectory(path) |> ignore
  -        if train then
  -            if not (File.Exists(files.[0])) then download urls.[0] files.[0]
  -            if not (File.Exists(files.[1])) then download urls.[1] files.[1]
  -            MNIST.LoadMNISTImages(files.[0]), MNIST.LoadMNISTLabels(files.[1])
  -        else
  -            if not (File.Exists(files.[2])) then download urls.[2] files.[2]
  -            if not (File.Exists(files.[3])) then download urls.[3] files.[3]
  -            MNIST.LoadMNISTImages(files.[2]), MNIST.LoadMNISTLabels(files.[3])
   
  -    static member internal LoadMNISTImages(filename, ?n:int) =
  -        let r = new BinaryReader(new GZipStream(File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read), CompressionMode.Decompress))
  +    let loadMNISTImages(filename:string) (n:option<int>) =
  +        let r = new BinaryReader(new GZipStream(File.OpenRead(filename), CompressionMode.Decompress))
           let magicnumber = r.ReadInt32() |> IPAddress.NetworkToHostOrder
           match magicnumber with
           | 2051 -> // Images
  
positive.code:             |> dsharp.view ([n; 1; 28; 28])
              |> fun t -> t / 255
          | _ -> failwith "Given file is not in the MNIST format."
      static member internal LoadMNISTLabels(filename, ?n:int) =
          let r = new BinaryReader(new GZipStream(File.Open(filename, FileMode.Open, FileAccess.Read, FileShare.Read), CompressionMode.Decompress))
          let magicnumber = r.ReadInt32() |> IPAddress.NetworkToHostOrder
          match magicnumber with
          | 2049 -> // Labels
  
negative.code:             |> dsharp.tensor
              |> dsharp.view ([n])
          | _ -> failwith "Given file is not in the MNIST format."
  
      let data, target = 
          Directory.CreateDirectory(path) |> ignore
          if train then
              if not (File.Exists(files.[0])) then download urls.[0] files.[0]
              if not (File.Exists(files.[1])) then download urls.[1] files.[1]
              loadMNISTImages files.[0] None, loadMNISTLabels files.[1] None
          else
              if not (File.Exists(files.[2])) then download urls.[2] files.[2]
              if not (File.Exists(files.[3])) then download urls.[3] files.[3]
              loadMNISTImages files.[2] None, loadMNISTLabels files.[3] None
  
      member d.classes = 10
      member d.classNames = Array.init 10 id |> Array.map string
      override d.length = data.shape.[0]
  