Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Models adjust in config.py #34

Open
quintendewilde opened this issue Nov 5, 2017 · 4 comments
Open

Models adjust in config.py #34

quintendewilde opened this issue Nov 5, 2017 · 4 comments

Comments

@quintendewilde
Copy link

quintendewilde commented Nov 5, 2017

In this repo and in Source Ai_Writer both config.py have

# Skip-thoughts
paths['skmodels'] = '/u/rkiros/public_html/models/'
paths['sktables'] = '/u/rkiros/public_html/models/'

I've adjusted all other entrees in the file as well as in the skiptoughts.py.

But here I don't know to what type of file or model to refer to? And were to download these?

I think if I have these I finally will be able to make it work.

ADDENDA

When I run the script example, this is the error received.

<ipython-input-8-5af402f414c9> in <module>()
      1 import generate
----> 2 z = generate.load_all()
      3 generate.story(z, './images/ex1.jpg')

generate.pyc in load_all()
     84     print 'Loading skip-thoughts...'
     85     stv = skipthoughts.load_model(config.paths['skmodels'],
---> 86                                   config.paths['sktables'])
     87 
     88     # Decoder

/home/quinten/Documents/AI_Writer/skipthoughts.py in load_model(path_to_models, path_to_tables)
     27 
     28     # Load model options
---> 29     with open('%s.pkl'%path_to_umodel, 'rb') as f:
     30         uoptions = pkl.load(f)
     31     with open('%s.pkl'%path_to_bmodel, 'rb') as f:

IOError: [Errno 2] No such file or directory: '/u/rkiros/public_html/models//home/quinten/Documents/AI_Writer/data/uni_skip.npz.pkl'

And this is the skipthoughts.py

[def load_model(path_to_models, path_to_tables):
    """
    Load the model with saved tables
    """
    path_to_umodel =  '/home/quinten/Documents/AI_Writer/data/uni_skip.npz.pkl'
    path_to_bmodel =  '/home/quinten/Documents/AI_Writer/data/bi_skip.npz.pkl'

    # Load model options
    with open('%s.pkl'%path_to_umodel, 'rb') as f:
        uoptions = pkl.load(f)
    with open('%s.pkl'%path_to_bmodel, 'rb') as f:
        boptions = pkl.load(f)

    # Load parameters
    uparams = init_params(uoptions)
    uparams = load_params(path_to_umodel, uparams)
    utparams = init_tparams(uparams)
    bparams = init_params_bi(boptions)
    bparams = load_params(path_to_bmodel, bparams)
    btparams = init_tparams(bparams)

    # Extractor functions
    embedding, x_mask, ctxw2v = build_encoder(utparams, uoptions)
    f_w2v = theano.function([embedding, x_mask], ctxw2v, name='f_w2v')
    embedding, x_mask, ctxw2v = build_encoder_bi(btparams, boptions)
    f_w2v2 = theano.function([embedding, x_mask], ctxw2v, name='f_w2v2')

    # Tables
    utable, btable = load_tables(path_to_tables)

    # Store everything we need in a dictionary
    model = {}
    model['uoptions'] = uoptions
    model['boptions'] = boptions
    model['utable'] = utable
    model['btable'] = btable
    model['f_w2v'] = f_w2v
    model['f_w2v2'] = f_w2v2

    return model

def load_tables(path_to_tables):
    """
    Load the tables
    """
    words = []
    utable = numpy.load(path_to_tables + '/home/quinten/Documents/AI_Writer/data/utable.npy')
    btable = numpy.load(path_to_tables + '/home/quinten/Documents/AI_Writer/data/btable.npy')
    f = open(path_to_tables + '/home/quinten/Documents/AI_Writer/data/dictionary.txt', 'rb')
    for line in f:
        words.append(line.decode('utf-8').strip())
    f.close()
    utable = OrderedDict(zip(words, utable))
    btable = OrderedDict(zip(words, btable))
    return utable, btable](url)

And this is the config.py


# Skip-thoughts
paths['skmodels'] = '/home/quinten/Documents/AI_Writer/data/uni_skip.npz.pkl'
paths['sktables'] = '/home/quinten/Documents/AI_Writer/data/bi_skip.npz.pkl'

# Decoder
paths['decmodel'] = '/home/quinten/Documents/AI_Writer/data/romance.npz'
paths['dictionary'] = '/home/quinten/Documents/AI_Writer/data/romance_dictionary.pkl'

# Image-sentence embedding
paths['vsemodel'] = '/home/quinten/Documents/AI_Writer/data/coco_embedding.npz'

# VGG-19 convnet
paths['vgg'] = '/home/quinten/Documents/AI_Writer/data/vgg19.pkl'
paths['pycaffe'] = '/u/yukun/Projects/caffe-run/python' => I also don't know what has to come here
paths['vgg_proto_caffe'] = '/home/quinten/Documents/AI_Writer/data/VGG_ILSVRC_19_layers_deploy.prototxt'
paths['vgg_model_caffe'] = '/home/quinten/Documents/AI_Writer/data/VGG_ILSVRC_19_layers.caffemodel'


# COCO training captions
paths['captions'] = '/home/quinten/Documents/AI_Writer/data/coco_train_caps.txt'

# Biases
paths['negbias'] = '/home/quinten/Documents/AI_Writer/data/caption_style.npy'
paths['posbias'] = '/home/quinten/Documents/AI_Writer/data/romance_style.npy'

I'm seeing an old entry and the one I putted in.
I've deleted .pyc and retried, still the same output.

@cuuupid
Copy link

cuuupid commented Nov 25, 2017

The skmodels and sktables keys need to refer to model directories, which you download from skipthoughts repo (see README or just go to @ryankiros skipthoughts repo and run the snippet of wgets).

e.g. a possible config.py for those two keys:

# Skip-thoughts
paths['skmodels'] = '../models/'
paths['sktables'] = '../models/'

The wget snippet can be found here.

Pasting here for quick use:

wget http://www.cs.toronto.edu/~rkiros/models/dictionary.txt
wget http://www.cs.toronto.edu/~rkiros/models/utable.npy
wget http://www.cs.toronto.edu/~rkiros/models/btable.npy
wget http://www.cs.toronto.edu/~rkiros/models/uni_skip.npz
wget http://www.cs.toronto.edu/~rkiros/models/uni_skip.npz.pkl
wget http://www.cs.toronto.edu/~rkiros/models/bi_skip.npz
wget http://www.cs.toronto.edu/~rkiros/models/bi_skip.npz.pkl

You'll want to do this under a new directory, e.g. I did mine in ../models/.

@quintendewilde
Copy link
Author

Could you tell me what I have to put here?

paths['pycaffe'] = '/u/yukun/Projects/caffe-run/python'
I'm trying to run this on a docker theano/lasagna image

@venky1286
Copy link

how to install pycaffe exactly could any one please tell me

@venky1286
Copy link

paths['pycaffe'] = '/u/yukun/Projects/caffe-run/python'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants