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_')]]


Loaded from cache: 1 records

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_')]]


Results in collection wp_on_pascal_oct30: 1

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()))


_height, _source, _width, class_aeroplane, class_bicycle, class_bird, class_boat, class_bottle, class_bus, class_car, class_cat, class_chair, class_cow, class_diningtable, class_dog, class_horse, class_motorbike, class_person, class_pottedplant, class_sheep, class_sofa, class_train, class_tvmonitor, _split, metaclass_animal, metaclass_vehicle, metaclass_indoor, metaclass_person, pred_style_Bright,_Energetic, pred_style_Depth_of_Field, pred_style_Ethereal, pred_style_Geometric_Composition, pred_style_HDR, pred_style_Hazy, pred_style_Horror, pred_style_Long_Exposure, pred_style_Macro, pred_style_Melancholy, pred_style_Minimal, pred_style_Noir, pred_style_Romantic, pred_style_Serene, pred_style_Soft,_Pastel, pred_style_Sunny, pred_style_Vintage, pred_style_Abstract_Art, pred_style_Abstract_Expressionism, pred_style_Art_Informel, pred_style_Art_Nouveau_(Modern), pred_style_Baroque, pred_style_Color_Field_Painting, pred_style_Cubism, pred_style_Early_Renaissance, pred_style_Expressionism, pred_style_High_Renaissance, pred_style_Impressionism, pred_style_Magic_Realism, pred_style_Mannerism_(Late_Renaissance), pred_style_Minimalism, pred_style_Nave_Art_(Primitivism), pred_style_Neoclassicism, pred_style_Northern_Renaissance, pred_style_Pop_Art, pred_style_Post-Impressionism, pred_style_Realism, pred_style_Rococo, pred_style_Romanticism, pred_style_Surrealism, pred_style_Symbolism, pred_style_Ukiyo-e, image_url

Everything


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]:

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

Birds


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]:

Geometric_Composition

HDR

Noir

Romantic

Vintage

Horror

Bright,_Energetic

Serene

Macro

Surrealism

Expressionism

Impressionism

High_Renaissance

Cubism

Abstract_Art

Color_Field_Painting


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]:

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

Cats


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]:

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

Trains


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]:

Geometric_Composition

HDR

Noir

Romantic

Vintage

Horror

Bright,_Energetic

Serene

Macro

Surrealism

Expressionism

Impressionism

Romanticism

Color_Field_Painting

Surrealism

High_Renaissance

Cubism

Abstract_Art

All Vehicles


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]:

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

People


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]:

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