예제 #1
0
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
예제 #4
0
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)