In [1]:
import os
from ordereddict import OrderedDict
os.environ['THEANO_FLAGS']="device=cpu"
from utils import tile_raster_images
from pylearn2.utils import serial
import theano
import theano.tensor as T
try:
import PIL.Image as Image
except ImportError:
import Image
import IPython.display as I
In [2]:
DIR_DATA = '/Users/vmisra/data/'
dir_model_AE = os.path.join(DIR_DATA,'AE_experiments/models')
dir_model_CAN = os.path.join(DIR_DATA,'CAN_experiments/models')
dir_fuel = os.path.join(DIR_DATA,'fuel')
In [3]:
test_data = serial.load(os.path.join(dir_fuel,'mnist_test_X.pkl'))
In [21]:
model_names = ['CAN_C1','D17']
def model_pathmapper(model_name):
if model_name.startswith('CAN'):
testpath = os.path.join(dir_model_CAN,model_name+'.pkl.cmp')
return testpath
else:
testpath_1 = os.path.join(dir_model_AE,model_name+'finetune.pkl')
testpath_2 = os.path.join(dir_model_AE,model_name+'solotrain.pkl')
if os.path.exists(testpath_1):
return testpath_1
else:
return testpath_2
In [ ]:
models = OrderedDict()
xhats = OrderedDict()
for model_path,model_name in zip(map(model_pathmapper,model_names),model_name):
model = serial.load(model_path)
models[model_name] = model
X = model.get_input_space().make_theano_batch()
Y = model.fprop(X)
xhats[model_name] = Y.eval({X:test_data})
In [30]:
original_img = Image.fromarray(tile_raster_images(X=test_data,
img_shape=(28,28),
tile_shape=(10,10),
tile_spacing=(1,1)))
original_img.save('delete_me.png')
print 'original'
I.display(I.Image('delete_me.png'))
In [24]:
#model_folders = ['B17','B20']
for model_name in model_names:
reconstructed = Image.fromarray(tile_raster_images(X=xhats[model_folder][model_name],
img_shape=(28,28),
tile_shape=(10,10),
tile_spacing=(1,1)))
reconstructed.save('/Users/vmisra/delete_me.png')
print model_folder, model_name
I.display(I.Image('/Users/vmisra/delete_me.png'))
In [ ]:
import cPickle as pickle
params = [pickle.load(open(os.path.join(dir_model,model_folder,'params.pkl'),'r')) for model_folder in model_folders]
In [ ]:
params