fast-wavenet.pytorch icon indicating copy to clipboard operation
fast-wavenet.pytorch copied to clipboard

dilate: AttributeError: 'tuple' object has no attribute 'size'

Open drscotthawley opened this issue 7 years ago • 1 comments

Hey, thanks for creating this. Not sure if you're ready for public comments yet, but, here are a couple things I notice:

Your README.md contains a typo: I think "layers_test" should instead read "test_layers":

$ python -m test.layers_test /opt/anaconda/envs/py35/bin/python: No module named test.layers_test $

$ python -m test.test_layers original size: torch.Size([1, 50800, 1]) Padding: 12, 1, 11.0 Traceback (most recent call last): File "/opt/anaconda/envs/py35/lib/python3.5/runpy.py", line 184, in _run_module_as_main "main", mod_spec) File "/opt/anaconda/envs/py35/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/shawley/fast-wavenet.pytorch/test/test_layers.py", line 12, in print("dilate1 size: {}".format(sig.size())) AttributeError: 'tuple' object has no attribute 'size'

Seems that the dilate() routine is returning a different object than expected. When I output sig after the dilate call, as in..

print("original size: {}".format(sig.size()))
sig = dilate(sig, 12)
print("sig = ",sig)
print("dilate1 size: {}".format(sig.size()))

what I see is...

sig = (Variable containing: ( 0 ,.,.) = 0.0000e+00 0.0000e+00 0.0000e+00 ⋮
0.0000e+00 0.0000e+00 0.0000e+00

( 1 ,.,.) = 0.0000e+00 0.0000e+00 0.0000e+00 ⋮
0.0000e+00 0.0000e+00 0.0000e+00

( 2 ,.,.) = 0.0000e+00 0.0000e+00 0.0000e+00 ⋮
0.0000e+00 0.0000e+00 0.0000e+00 ...

( 9 ,.,.) = 0.0000e+00 0.0000e+00 0.0000e+00 ⋮
0.0000e+00 0.0000e+00 0.0000e+00

( 10 ,.,.) = 0.0000e+00 0.0000e+00 0.0000e+00 ⋮
0.0000e+00 0.0000e+00 0.0000e+00

( 11 ,.,.) = 6.5536e+04 1.3107e+05 6.5536e+04 ⋮
-3.9977e+06 -4.8497e+06 -2.9491e+06 [torch.FloatTensor of size 12x50800x1] , 11.0) Traceback (most recent call last): File "/opt/anaconda/envs/py35/lib/python3.5/runpy.py", line 184, in _run_module_as_main "main", mod_spec) File "/opt/anaconda/envs/py35/lib/python3.5/runpy.py", line 85, in _run_code exec(code, run_globals) File "/home/shawley/fast-wavenet.pytorch/test/test_layers.py", line 15, in print("dilate1 size: {}".format(sig.size())) AttributeError: 'tuple' object has no attribute 'size'

Not sure how to fix that. Just found your code while searching for a PyTorch version of WaveNet to play around with. I'll be happy to contribute once I learn a little more PyTorch.

drscotthawley avatar Nov 13 '17 23:11 drscotthawley

somehow it didn't want to work even when I fixed the issue with typo. I hade to manually add __init__.py in test folder to make it work. Also it says nothing about installing torchaudio as a requirement and nothing about requirement to download yesno data, by going into ./data folder and running yesno.py script.

In the end I had different error:

RuntimeError: invalid argument 2: size '[50800 x 0 x 12]' is invalid for input of with 50800 elements

soswow avatar Dec 20 '17 11:12 soswow