img_width = X_train.shape[3] #print X_train.shape # Step1b: init variables n_batch = 32 num_epochs = 100 # Step1c: init batch iterators from utils import batchiterator batchitertrain = batchiterator.BatchIterator(batch_indices=range( X_train.shape[0]), batchsize=n_batch, data=(X_train, y_train)) num_data = batchitertrain.n batchitertrain = batchiterator.threaded_generator(batchitertrain, 10) batchiterval = batchiterator.BatchIterator(batch_indices=range(X_val.shape[0]), batchsize=n_batch, data=(X_val, y_val)) batchiterval = batchiterator.threaded_generator(batchiterval, 10) # Step2: define model l_in = lasagne.layers.InputLayer(shape=(n_batch, n_channels, img_height, img_width)) labels = T.ivector('label') l_ram = ram.layers.RAMLayer( l_in, # input images (n_batch x n_channels x img_height x img_width) k=1, # number of glimps scales patch=8, # size of glimps patch
import time from utils import batchiterator import numpy as np import theano batchsize = 32 print "imagenet batchiterator" batchitertrain = batchiterator.ImagenetBatchIterator( batchsize=batchsize, database='/media/data0/image/ilsvrc12/ilsvrc12_train_lmdb') batchitertrain = batchiterator.threaded_generator(batchitertrain, 3) time.sleep(1.) # pause 1. seconds num_epoch = 30 for i in xrange(num_epoch): start_time = time.time() [X_batch, y_batch] = batchitertrain.next() end_time = time.time() time.sleep(0.4) # approximated processing time print "time (", i, "): ", end_time - start_time, " sec" print "imagenet batchiterator (crop)" batchitertrain = batchiterator.ImagenetBatchCropIterator( batchsize=batchsize, crop='random', crop_height=224, crop_width=224,
import time from utils import batchiterator import numpy as np import theano batchsize = 32 print "imagenet batchiterator" batchitertrain = batchiterator.ImagenetBatchIterator(batchsize=batchsize, database='/media/data0/image/ilsvrc12/ilsvrc12_train_lmdb') batchitertrain = batchiterator.threaded_generator(batchitertrain,3) time.sleep(1.) # pause 1. seconds num_epoch = 30 for i in xrange(num_epoch): start_time = time.time() [X_batch, y_batch] = batchitertrain.next() end_time = time.time() time.sleep(0.4) # approximated processing time print "time (", i, "): ", end_time-start_time, " sec" print "imagenet batchiterator (crop)" batchitertrain = batchiterator.ImagenetBatchCropIterator(batchsize=batchsize, crop='random', crop_height=224, crop_width=224, flip=True, database='/media/data0/image/ilsvrc12/ilsvrc12_train_lmdb') batchitertrain = batchiterator.threaded_generator(batchitertrain,3) time.sleep(1.) # pause 1. seconds num_epoch = 30
X_train, y_train, X_val, y_val, X_test, y_test = load_dataset() n_data = X_train.shape[0] n_channels = X_train.shape[1] img_height = X_train.shape[2] img_width = X_train.shape[3] #print X_train.shape # Step1b: init variables n_batch = 32 num_epochs = 100 # Step1c: init batch iterators from utils import batchiterator batchitertrain = batchiterator.BatchIterator(batch_indices=range(X_train.shape[0]), batchsize=n_batch, data=(X_train, y_train)) num_data = batchitertrain.n batchitertrain = batchiterator.threaded_generator(batchitertrain,10) batchiterval = batchiterator.BatchIterator(batch_indices=range(X_val.shape[0]), batchsize=n_batch, data=(X_val, y_val)) batchiterval = batchiterator.threaded_generator(batchiterval,10) # Step2: define model l_in = lasagne.layers.InputLayer(shape=(n_batch, n_channels, img_height, img_width)) labels = T.ivector('label') l_ram=ram.layers.RAMLayer(l_in, # input images (n_batch x n_channels x img_height x img_width) k=1, # number of glimps scales patch=8, # size of glimps patch n_steps=6, # number of glimps steps lambda_=10.0, # mixing ratio between n_h_g=128, # number of hidden units in h_g (in glimps network)