Skip to content

Instantly share code, notes, and snippets.

@brendano
Created December 24, 2008 20:11

Revisions

  1. @invalid-email-address Anonymous revised this gist Dec 24, 2008. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -33,3 +33,8 @@ load_mnist <- function() {
    train$y <<- load_label_file('mnist/train-labels-idx1-ubyte')
    test$y <<- load_label_file('mnist/t10k-labels-idx1-ubyte')
    }


    show_digit <- function(arr784, col=gray(12:1/12), ...) {
    image(matrix(arr784, nrow=28)[,28:1], col=col, ...)
    }
  2. @invalid-email-address Anonymous revised this gist Dec 24, 2008. 1 changed file with 8 additions and 0 deletions.
    8 changes: 8 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,11 @@
    # Load the MNIST digit recognition dataset into R
    # http://yann.lecun.com/exdb/mnist/
    # assume you have all 4 files and gunzip'd them
    # creates train$n, train$x, train$y and test$n, test$x, test$y
    # e.g. train$x is a 60000 x 784 matrix, each row is one digit (28x28)
    # call: show_digit(train$x[5,]) to see a digit.
    # brendan o'connor - gist.github.com/39760 - anyall.org

    load_mnist <- function() {
    load_image_file <- function(filename) {
    ret = list()
  3. @invalid-email-address Anonymous created this gist Dec 24, 2008.
    27 changes: 27 additions & 0 deletions gistfile1.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,27 @@
    load_mnist <- function() {
    load_image_file <- function(filename) {
    ret = list()
    f = file(filename,'rb')
    readBin(f,'integer',n=1,size=4,endian='big')
    ret$n = readBin(f,'integer',n=1,size=4,endian='big')
    nrow = readBin(f,'integer',n=1,size=4,endian='big')
    ncol = readBin(f,'integer',n=1,size=4,endian='big')
    x = readBin(f,'integer',n=ret$n*nrow*ncol,size=1,signed=F)
    ret$x = matrix(x, ncol=nrow*ncol, byrow=T)
    close(f)
    ret
    }
    load_label_file <- function(filename) {
    f = file(filename,'rb')
    readBin(f,'integer',n=1,size=4,endian='big')
    n = readBin(f,'integer',n=1,size=4,endian='big')
    y = readBin(f,'integer',n=n,size=1,signed=F)
    close(f)
    y
    }
    train <<- load_image_file('mnist/train-images-idx3-ubyte')
    test <<- load_image_file('mnist/t10k-images-idx3-ubyte')

    train$y <<- load_label_file('mnist/train-labels-idx1-ubyte')
    test$y <<- load_label_file('mnist/t10k-labels-idx1-ubyte')
    }