In [2]:
%load_ext autoreload
%autoreload 2
from IPython.display import HTML
import vislab.datasets
import aphrodite.results
import os
from pprint import pprint
In [3]:
def top_k_images(df, k=10):
return HTML(' '.join('<img src="{}" width="210px" />'.format(x) for x in df['image_url'].iloc[:k]))
In [26]:
def top_k_for_styles(df, filter_ind, sort_columns, k=5):
return HTML(' '.join(
'<h4>{}</h4>'.format(sort_column) + ' '.join(
'<img src="{}" width="210px" />'.format(x)
for x in df[filter_ind].sort('pred_style_' + sort_column, ascending=False)['image_url'].iloc[:k]
)
for sort_column in sort_columns
))
In [5]:
pascal_df = vislab.datasets.pascal.get_clf_df()
In [6]:
results_df, preds_panel = aphrodite.results.load_pred_results(
'flickr_on_pascal_oct30', os.path.expanduser('~/work/aphrodite/data/results2'),
multiclass=True, force=False)
flickr_pred_df = preds_panel.minor_xs('decaf_fc6 False vw')
flickr_pred_df = flickr_pred_df[[x for x in flickr_pred_df.columns if x.startswith('pred_')]]
In [13]:
results_df, preds_panel = aphrodite.results.load_pred_results(
'wp_on_pascal_oct30', os.path.expanduser('~/work/aphrodite/data/results2'),
multiclass=True, force=True)
wp_pred_df = preds_panel.minor_xs('decaf_fc6 False vw')
wp_pred_df = wp_pred_df[[x for x in wp_pred_df.columns if x.startswith('pred_')]]
In [31]:
df = pascal_df.join(flickr_pred_df).join(wp_pred_df)
# do 'python -m SimpleHTTPServer 5300' in the PASCAL JPEGImages directory locally
#df['image_url'] = ['http://0.0.0.0:5300/{}.jpg'.format(x) for x in df.index]
df['image_url'] = ['http://ec2-50-18-4-32.us-west-1.compute.amazonaws.com/{}.jpg'.format(x) for x in df.index]
In [15]:
print(', '.join(df.columns.tolist()))
In [32]:
top_k_for_styles(
df, [True] * df.shape[0],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Ukiyo-e', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[32]:
In [27]:
top_k_for_styles(
df, df['class_bird'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'High_Renaissance', 'Cubism', 'Abstract_Art', 'Color_Field_Painting']
)
Out[27]:
In [ ]:
## Cars
In [30]:
top_k_for_styles(
df, df['class_car'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Ukiyo-e', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[30]:
In [28]:
top_k_for_styles(
df, df['class_cat'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Ukiyo-e', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[28]:
In [29]:
top_k_for_styles(
df, df['class_train'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Surrealism', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[29]:
In [107]:
top_k_for_styles(
df, df['metaclass_vehicle'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Ukiyo-e', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[107]:
In [108]:
top_k_for_styles(
df, df['class_person'],
['Geometric_Composition', 'HDR', 'Noir', 'Romantic', 'Vintage', 'Horror', 'Bright,_Energetic', 'Serene', 'Macro',
'Surrealism', 'Expressionism', 'Impressionism', 'Romanticism', 'Color_Field_Painting', 'Ukiyo-e', 'High_Renaissance', 'Cubism', 'Abstract_Art']
)
Out[108]: