basveeling / wavenet

Keras WaveNet implementation
https://soundcloud.com/basveeling/wavenet-sample
1.06k stars 219 forks source link

input dimemsion mis-match #21

Closed blx0102 closed 7 years ago

blx0102 commented 7 years ago

Hi,

When I use the default settings (except the VCTK corpus path) to sample wave, an error occurred like below:

Using Theano backend. WARNING - root - Changed type of config entry "run_dir" from NoneType to unicode WARNING - root - Changed type of config entry "optimizer.epsilon" from NoneType to float INFO - wavenet - Running command 'predict' WARNING - wavenet - No observers have been added to this run INFO - wavenet - Started INFO - predict - Using checkpoint from epoch: 358 INFO - predict - Saving to "models/run_20160920_120916/samples/sample_epoch-00358_01ssample-temp-0.001_seed-946674575.wav" /home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/backend/theano_backend.py:1171: UserWarning: ['filter_dilation'] are now deprecated in tensor.nnet.abstract_conv.conv2d interface and will be ignored. filter_dilation=filter_dilation) INFO - build_model - Receptive Field: 1021 (255ms) INFO - predict - Taking sample from test dataset as initial input. 0%| | 0/4000 [00:00<?, ?it/s] ERROR - wavenet - Failed after 0:00:18! Traceback (most recent calls WITHOUT Sacred internals): File "wavenet.py", line 339, in predict output = model.predict(prediction_seed) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/training.py", line 1177, in predict batch_size=batch_size, verbose=verbose) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/training.py", line 876, in _predict_loop batch_outs = f(ins_batch) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/backend/theano_backend.py", line 746, in call return self.function(*inputs) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/theano/compile/function_module.py", line 871, in call storage_map=getattr(self.fn, 'storage_map', None)) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/theano/gof/link.py", line 314, in raise_with_op reraise(exc_type, exc_value, exc_trace) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/theano/compile/function_module.py", line 859, in call__ outputs = self.fn() ValueError: Input dimension mis-match. (input[0].shape[1] = 1022, input[1].shape[1] = 1021) Apply node that caused the error: Elemwise{add,no_inplace}(InplaceDimShuffle{0,2,1}.0, InplaceDimShuffle{0,2,1}.0, InplaceDimShuffle{0,2,1}.0) Toposort index: 866 Inputs types: [TensorType(float32, 3D), TensorType(float32, 3D), TensorType(float32, 3D)] Inputs shapes: [(1, 1022, 32), (1, 1021, 32), (1, 1021, 32)] Inputs strides: [(4088, 4, 4088), (4084, 4, 4084), (4084, 4, 4084)] Inputs values: ['not shown', 'not shown', 'not shown'] Outputs clients: [[IncSubtensor{Set;::, int64:int64:, ::}(Alloc.0, Elemwise{add,no_inplace}.0, Constant{4}, ScalarFromTensor.0)]]

Backtrace when the node is created(use Theano flag traceback.limit=N to make it longer): File "wavenet.py", line 316, in predict model = build_model() File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/sacred/config/captured_function.py", line 47, in captured_function result = wrapped(*args, **kwargs) File "wavenet.py", line 244, in build_model out, skip_out = residual_block(out) File "wavenet.py", line 234, in residual_block res_x = layers.Merge(mode='sum')([original_x, res_x]) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/topology.py", line 1339, in call self.add_inbound_node(layers, node_indices, tensor_indices) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/topology.py", line 572, in add_inbound_node Node.create_node(self, inbound_layers, node_indices, tensor_indices) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/topology.py", line 154, in create_node output_tensors = to_list(outbound_layer.call(input_tensors, mask=input_masks)) File "/home/lixiao2/.conda/envs/wavenet/lib/python2.7/site-packages/keras/engine/topology.py", line 1269, in call s += inputs[i]

HINT: Use the Theano flag 'exception_verbosity=high' for a debugprint and storage map footprint of this apply node.

basveeling commented 7 years ago

This might be a version mismatch of theano and keras. Could you please try pulling the latest repo version and reinstalling dependencies with pip? Please let me know if it works out.