Comments (10)
@ZDisket all failed cases is because len(f0) = len(mel) - 1 :)). i will fix
from tensorflowtts.
if len(f0) >= len(mel): f0 = f0[:len(mel)] else: f0 = np.pad(f0, ((0, 0), (0, len(mel) - len(f0))))
@ZDisket can you try ?
from tensorflowtts.
@ZDisket hah, sorry :) f0 is a vector 1 dim :)). f0 = np.pad(f0, ((0, len(mel) - len(f0))))
from tensorflowtts.
Hi, i didn’t use MFA to extract alignment :( still use duration from tacotron :(. I will fix a bug asap, i’m not at home right now, but i think a bug is ez to fix so let try to fix it :)), i didn’t meet ur problem.
from tensorflowtts.
@ZDisket I think the problem is about pw.dio :)) i think somehow its length is smaller than melspectrogram :)). In the code i use f0 = f0[:len(mel)]. But if len(f0) = len(mel) - 1 then assert len(mel) == len(f0) == len(energy) is false ^^. Pls help me check by print the len of f0/mel/energy after the assert :v.
from tensorflowtts.
@dathudeptrai I'll do that.
from tensorflowtts.
@dathudeptrai I have gone over to the assertion part and replaced it with this:
if not len(mel) == len(f0) == len(energy):
print("LEN NO MATCH: " + str(len(mel)) + " ; " + str(len(f0)) + " ; " + str(len(energy)))
else:
print("len " + str(len(mel)) + " ; " + str(len(f0)) + " ; " + str(len(energy)))
This is the dumped output from a partial run (not all my files), but it should give you enough information to work with.
lenlog.txt
from tensorflowtts.
@dathudeptrai
I replaced the f0 = f0[:len(mel)]
after pw.dio with this:
if len(f0) >= len(mel):
f0 = f0[:len(mel)]
else:
f0 = np.pad(f0, ((0, 0), (0, len(mel) - len(f0))))
because your one-liner was giving syntax errors. I got another error.
multiprocess.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/multiprocess/pool.py", line 119, in worker
result = (True, func(*args, **kwds))
File "/usr/local/lib/python3.6/dist-packages/multiprocess/pool.py", line 44, in mapstar
return list(map(*args))
File "/usr/local/lib/python3.6/dist-packages/pathos/helpers/mp_helper.py", line 15, in <lambda>
func = lambda args: f(*args)
File "/usr/local/lib/python3.6/dist-packages/tensorflow_tts/bin/preprocess.py", line 213, in save_to_file
f0 = np.pad(f0, ((0, 0), (0, len(mel) - len(f0))))
File "<__array_function__ internals>", line 6, in pad
File "/usr/local/lib/python3.6/dist-packages/numpy/lib/arraypad.py", line 748, in pad
pad_width = _as_pairs(pad_width, array.ndim, as_index=True)
File "/usr/local/lib/python3.6/dist-packages/numpy/lib/arraypad.py", line 523, in _as_pairs
return np.broadcast_to(x, (ndim, 2)).tolist()
File "<__array_function__ internals>", line 6, in broadcast_to
File "/usr/local/lib/python3.6/dist-packages/numpy/lib/stride_tricks.py", line 182, in broadcast_to
return _broadcast_to(array, shape, subok=subok, readonly=True)
File "/usr/local/lib/python3.6/dist-packages/numpy/lib/stride_tricks.py", line 127, in _broadcast_to
op_flags=['readonly'], itershape=shape, order='C')
ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (2,2) and requested shape (1,2)
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/tensorflow-tts-preprocess", line 8, in <module>
sys.exit(main())
File "/usr/local/lib/python3.6/dist-packages/tensorflow_tts/bin/preprocess.py", line 252, in main
p.map(save_to_file, range(len(processor.items)))
File "/usr/local/lib/python3.6/dist-packages/pathos/multiprocessing.py", line 137, in map
return _pool.map(star(f), zip(*args)) # chunksize
File "/usr/local/lib/python3.6/dist-packages/multiprocess/pool.py", line 266, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "/usr/local/lib/python3.6/dist-packages/multiprocess/pool.py", line 644, in get
raise self._value
ValueError: operands could not be broadcast together with remapped shapes [original->remapped]: (2,2) and requested shape (1,2)
from tensorflowtts.
@dathudeptrai
This one worked well without any errors. Let me know when you commit the fix.
from tensorflowtts.
When trying to train, I still get
2 frames
<ipython-input-13-8616bad8c9dc> in dotrain(inargs, ptpath, maxsteps)
371 energy_stat=args.energy_stat,
372 mel_length_threshold=mel_length_threshold,
--> 373 return_utt_id=False
374 ).create(
375 is_shuffle=config["is_shuffle"],
/content/TensorflowTTS/ttsexamples/fastspeech2/fastspeech2_dataset.py in __init__(self, root_dir, charactor_query, mel_query, duration_query, f0_query, energy_query, f0_stat, energy_stat, max_f0_embeddings, max_energy_embeddings, charactor_load_fn, mel_load_fn, duration_load_fn, f0_load_fn, energy_load_fn, mel_length_threshold, return_utt_id)
101 mel_files = [mel_files[idx] for idx in idxs]
102 charactor_files = [charactor_files[idx] for idx in idxs]
--> 103 duration_files = [duration_files[idx] for idx in idxs]
104 mel_lengths = [mel_lengths[idx] for idx in idxs]
105 f0_files = [f0_files[idx] for idx in idxs]
/content/TensorflowTTS/ttsexamples/fastspeech2/fastspeech2_dataset.py in <listcomp>(.0)
101 mel_files = [mel_files[idx] for idx in idxs]
102 charactor_files = [charactor_files[idx] for idx in idxs]
--> 103 duration_files = [duration_files[idx] for idx in idxs]
104 mel_lengths = [mel_lengths[idx] for idx in idxs]
105 f0_files = [f0_files[idx] for idx in idxs]
IndexError: list index out of range
I remembered that durations aren't needed for FastSpeech 2 so I changed the duration query to *.raw-feats.npy in the training function and I got this:
InvalidArgumentError Traceback (most recent call last)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/context.py in execution_mode(mode)
1985 ctx.executor = executor_new
-> 1986 yield
1987 finally:
14 frames
/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/iterator_ops.py in _next_internal(self)
654 output_types=self._flat_output_types,
--> 655 output_shapes=self._flat_output_shapes)
656
/usr/local/lib/python3.6/dist-packages/tensorflow/python/ops/gen_dataset_ops.py in iterator_get_next(iterator, output_types, output_shapes, name)
2362 except _core._NotOkStatusException as e:
-> 2363 _ops.raise_from_not_ok_status(e, name)
2364 # Add nodes to the TensorFlow graph.
/usr/local/lib/python3.6/dist-packages/tensorflow/python/framework/ops.py in raise_from_not_ok_status(e, name)
6652 # pylint: disable=protected-access
-> 6653 six.raise_from(core._status_to_exception(e.code, message), None)
6654 # pylint: enable=protected-access
/usr/local/lib/python3.6/dist-packages/six.py in raise_from(value, from_value)
InvalidArgumentError: All elements in a batch must have the same rank as the padded shape for component1: expected rank 1 but got element with rank 2 [Op:IteratorGetNext]
During handling of the above exception, another exception occurred:
InvalidArgumentError Traceback (most recent call last)
<ipython-input-22-5c3a831be7f3> in <module>()
27 inpt = ""
28
---> 29 dotrain(trainargs,inpt,6000)
<ipython-input-21-83135adb8e50> in dotrain(inargs, ptpath, maxsteps)
442 valid_dataset,
443 saved_path=os.path.join(config["outdir"], 'checkpoints/'),
--> 444 resume=args.resume)
445 except KeyboardInterrupt:
446 trainer.save_checkpoint()
/content/TensorflowTTS/ttsexamples/fastspeech/train_fastspeech.py in fit(self, train_data_loader, valid_data_loader, saved_path, resume)
273 self.load_checkpoint(resume)
274 logging.info(f"Successfully resumed from {resume}.")
--> 275 self.run()
276
277
/content/TensorflowTTS/tensorflow_tts/trainers/base_trainer.py in run(self)
70 desc="[train]")
71 while True:
---> 72 self._train_epoch()
73
74 if self.finish_train:
/content/TensorflowTTS/tensorflow_tts/trainers/base_trainer.py in _train_epoch(self)
90 def _train_epoch(self):
91 """Train model one epoch."""
---> 92 for train_steps_per_epoch, batch in enumerate(self.train_data_loader, 1):
93 # one step training
94 self._train_step(batch)
/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/iterator_ops.py in __next__(self)
629
630 def __next__(self): # For Python 3 compatibility
--> 631 return self.next()
632
633 def _next_internal(self):
/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/iterator_ops.py in next(self)
668 """Returns a nested structure of `Tensor`s containing the next element."""
669 try:
--> 670 return self._next_internal()
671 except errors.OutOfRangeError:
672 raise StopIteration
/usr/local/lib/python3.6/dist-packages/tensorflow/python/data/ops/iterator_ops.py in _next_internal(self)
659 return self._element_spec._from_compatible_tensor_list(ret) # pylint: disable=protected-access
660 except AttributeError:
--> 661 return structure.from_compatible_tensor_list(self._element_spec, ret)
662
663 @property
/usr/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
97 value = type()
98 try:
---> 99 self.gen.throw(type, value, traceback)
100 except StopIteration as exc:
101 # Suppress StopIteration *unless* it's the same exception that
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/context.py in execution_mode(mode)
1987 finally:
1988 ctx.executor = executor_old
-> 1989 executor_new.wait()
1990
1991
/usr/local/lib/python3.6/dist-packages/tensorflow/python/eager/executor.py in wait(self)
65 def wait(self):
66 """Waits for ops dispatched in this executor to finish."""
---> 67 pywrap_tfe.TFE_ExecutorWaitForAllPendingNodes(self._handle)
68
69 def clear_error(self):
InvalidArgumentError: All elements in a batch must have the same rank as the padded shape for component1: expected rank 1 but got element with rank 2
from tensorflowtts.
Related Issues (20)
- Multi Speaker Training HOT 1
- Support Arabic Language HOT 2
- Tacotron2 Pre-training have difficulties
- Training Tacotron2 model became so slow after update HOT 1
- How do I get the RTF index HOT 1
- Japanese TTS model HOT 2
- Preprocessing error with ljspeech HOT 6
- tacotron2 parameter confusing, hop size configuration for databaker dataset is 256, not 300 HOT 1
- Installation on MacOS HOT 1
- Hifi-Gan config for Baker dataset HOT 1
- tensorflow-gpu==2.7.0 HOT 15
- Dose it support mutil speaker of chinese language ? HOT 1
- Android release as TTS engine HOT 7
- Train with another dataset HOT 2
- No module named 'tensorflow_tts' HOT 2
- Inference on MB MelGAN sounds great until testing on iOS HOT 3
- TensorFlowTTS support vietnamese HOT 2
- [MB_Melgan] Why is a model trained only generator is better than trained on both?
- support chinese HOT 2
- How to config CMakeLists.txt ? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tensorflowtts.