udibr / headlines

Automatically generate headlines to short articles
MIT License
525 stars 150 forks source link

failed to find layer timedistributed_1 in model #18

Closed timurmamedov closed 7 years ago

timurmamedov commented 7 years ago

Hi I am currently trying to execute the following line of code... weights = [np.copy(v) for v in f['timedistributed_1'].itervalues()] inside predict.ipynb , but keep getting the following error. I am not sure what might be causing it.

Perhaps an issue could be with the following code inside train.ipynb...

model.add(TimeDistributed(Dense(vocab_size, kernel_regularizer=regularizer, bias_regularizer=regularizer, name = 'timedistributed_1')))

but it seems ok to me

PS I am using TensorFlow if this helps

Error:

KeyError Traceback (most recent call last)

in () 3 if 'layer_names' not in f.attrs and 'model_weights' in f: 4 f = f['model_weights'] ----> 5 weights = [np.copy(v) for v in f['timedistributed_1'].itervalues()] h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/private/var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/pip-wdzlRM-build/h5py/_objects.c:2840)() h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/private/var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/pip-wdzlRM-build/h5py/_objects.c:2798)() /usr/local/lib/python2.7/site-packages/h5py/_hl/group.pyc in __getitem__(self, name) 167 raise ValueError("Invalid HDF5 object reference") 168 else: --> 169 oid = h5o.open(self.id, self._e(name), lapl=self._lapl) 170 171 otype = h5i.get_type(oid) h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/private/var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/pip-wdzlRM-build/h5py/_objects.c:2840)() h5py/_objects.pyx in h5py._objects.with_phil.wrapper (/private/var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/pip-wdzlRM-build/h5py/_objects.c:2798)() h5py/h5o.pyx in h5py.h5o.open (/private/var/folders/my/m6ynh3bn6tq06h7xr3js0z7r0000gn/T/pip-wdzlRM-build/h5py/h5o.c:3734)() KeyError: "Unable to open object (Object 'timedistributed_1' doesn't exist)"
iabhi7 commented 7 years ago

While running predict.py I am getting a similar issue wehn the model tries to load the trained weights. Here is my snippet of the code (Though its not an error but I guess it can be checked once)

Loading /home/ubuntu/train.hdf5 to sequential_1 
embedding_1
lstm_1
dropout_1
lstm_2
dropout_2
lstm_3
dropout_3
simplecontext_1
timedistributed_1
failed to find layer timedistributed_1 in model
weights 944x40000 40000
stopping to load all other layers
timurmamedov commented 7 years ago

@vibrantabhi19 I think it was an issue with version of Keras we are running. Try renaming all instances of string timedistributed_1 to time_distributed_1. Both in train and predict.

This fixed it for me, hope it helps!

Hence, I am closing the issue.