-
Schönes Projekt. Ich beschäftige mich seit einer Weile mit KNNs und Spracherkennung,
kriege aber leider Wav2Letter von dem Facebook AI Research (FAIR) team
nicht zum Laufen, das wäre meine Technologie der Wahl gewesen, um mich
praktisch mit solchen Sachen zu beschäftigen. Bis ich das zum Laufen kriege,
werde ich eventuell mit Kaldi arbeiten.
Sagen dir die beiden was?
Oparilames nachdem er seinen Gesellenbrief erhalten hat:
»Das war's mit dir, du Mistvieh!«
-
Abenteurer
Hallo zusammen,
entschuldigt, dass ich mich erst jetzt wieder melde. Habe aktuell eine Menge um die Ohren.
Hier ist das von mir trainierte Modell Link, wenn jemand mit der Repository WaveRNN experementieren möchte. (Python Kenntnisse von Vorteil.)
Zum Modell:
- gothic_attention_raw.tacotron.zip beinhaltet das TTS Modell
- gothic_raw.wavernn.zip den Vocoder, damit es sich nach dem Helden anhört.
- In hparams.py findet ihr die verwendeten Parameter zum Trainieren, als auch Generieren der Audiofiles.
- Die sentences.txt beinhaltet den eingegebenen Text zum Generieren der Audiofiles. (Bei manchen Wörtern musste ich schummeln, siehe Gothik oder Gotd anstatt Gott. Es gibt auch Probleme mit Umlauten, weshalb ich überwiegend versucht habe diese zu vermeiden.)
Zum Ausführen:
- Linux wird empfohlen, mit Windows hatte ich nur Probleme.
- Python Interpreter installieren. (Es empfiehlt sich https://www.anaconda.com/distribution/ zu verwenden, da einige Pakete über pip nicht verfügbar sind.)
- Mit git das Repository klonen.
- Abhängigkeiten aus der requirements.txt installieren.
- Mit "python quick_start.py" die Installation testen.
- Die Modelle aus der ZIP-Datei entpacken.
- Mit "python gen_tacotron.py --tts_weights 'euer_pfad/gothic_attention_raw.tacotron/latest_weights.pyt' --voc_weights 'euer_pfad/gothic_raw.wavernn/latest_weights.pyt' wr" ausführen. (Ihr könnte natürlich die Ordner auch umbennen)
Das aktuelle Modell ist alles andere als robust, deswegen solltet ihr nicht zu viel erwarten. (Probleme mit Umlauten etc.)
Zitat von Jawsome
Ich arbeite zur Zeit an einem Hörbuch von Gothic. Ist es vielleicht möglich einen Link zu diesem TTS Programm zu erhalten?
Ein TTS Programm als solches gibt es nicht. Du musst leider https://github.com/fatchord/WaveRNN mit dem trainierten Modell nutzen, um die Audiofiles zu generieren.
Zitat von Neconspictor
Die Qualität ist echt beeindruckend. Allerdings gibt es anscheinend Probleme mit nicht deutschen Begriffen (Stichwort: Gothic). Das dürfte bei Namen problematisch sein. Meinst du, dass man das dem neuronalem Netz beibringen könnte?
Das wird aktuell wohl leider nicht möglich sein, da in den Trainingsdaten keine Instanz vorkommt in der 'Gothic' ausgesprochen wird.
Das Training beruht auf das Erzeugung von Spektogrammen in Kombination mit dem eingegebenen Text.
Siehe folgendes Beispiel:
info_bpankratz320060511215219_12|Aber zu guter Letzt werden die Orks lernen mit den Menschen in Frieden zu leben.|Aber zu guter Letzt werden die Orks lernen mit den Menschen in Frieden zu leben.
info_bpankratz320060511215219_13|Thorus findet ein letztes Tor, dass er bewachen wird. Das Tor zur Wüste Varant.|Thorus findet ein letztes Tor, dass er bewachen wird. Das Tor zur Wüste Varant.
Wenn vielleicht in Zukunft die Multispeaker Modelle zu Verfügung stehen, sollte es einfacher werden eigene Datensätze zu trainieren. Es sei auch anzumerken das der aktuelle Stand von WaveRNN auf die englische Sprache ausgelegt ist. Es gibt noch die Repository von Mozilla, dort wurde anscheinend schon ein Korpus mit mehreren deutschen Sprechern trainiert.
Zitat von Blue Force
Nicht schlecht! Wieviel Sätze vom Helden hast du eingeben müssen daß die Stimme gelernt wird?
Der Trainingsdatensatz des Helden hatte ~2300 Audiofiles, zu kurze oder lange Audiofiles habe ich aussortiert (über 15 Sekunden).
Aktuell versuche ich ein Modell für Diego zu trainieren. Hat um die 560 Files. Das trainieren des Vocoders dauert leider immer 4-6 Tage.
Zitat von Oparilames
Schönes Projekt. Ich beschäftige mich seit einer Weile mit KNNs und Spracherkennung,
kriege aber leider Wav2Letter von dem Facebook AI Research (FAIR) team
nicht zum Laufen, das wäre meine Technologie der Wahl gewesen, um mich
praktisch mit solchen Sachen zu beschäftigen. Bis ich das zum Laufen kriege,
werde ich eventuell mit Kaldi arbeiten.
Sagen dir die beiden was?
Die beiden Projekte sagen mir leider nichts.
Wobei so weit ich es richtig verstehe, die genannten Projekt genau das gegenteil verfolgen und zwar aus Sprache einen Text zu generieren.
Abschließend... Kennt jemand eine einfache Methode, um die Dialoge mit den dazugehörenden Audiofiles zu exportieren? Ist die stringtable.txt der richtige Ansatz, um die Dialoge aus Gothic 3 zu exportieren?
Geändert von sanjaesc (23.10.2019 um 23:34 Uhr)
-
Provinzheld
Geschlecht: Gothic
Hey sanjaesc,
Vielen Dank, dass du uns dein trainiertes Modell zur Verfügung stellst.
Ich habe versucht, das Ganze bei mir zum Laufen zu kriegen, kriege allerdings beim Versuch, mit deinem trainierten Modell Sätze zu generieren, eine Fehlermeldung:
Code:
(base) C:\WaveRNN>python gen_tacotron.py --tts_weights "C:/WaveRNN/data/gothic_9bit_raw/gothic_attention_raw.tacotron/latest_weights.pyt" wr --voc_weights "C:/WaveRNN/data/gothic_9bit_raw/gothic_raw.wavernn/latest_weights.pyt"
Using device: cuda
Initialising WaveRNN Model...
Trainable Parameters: 4.481M
Initialising Tacotron Model...
Trainable Parameters: 11.088M
Traceback (most recent call last):
File "gen_tacotron.py", line 112, in <module>
tts_model.load(tts_load_path)
File "C:\WaveRNN\models\tacotron.py", line 456, in load
self.load_state_dict(state_dict, strict=False)
File "F:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 839, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for Tacotron:
size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([155, 256]) from checkpoint, the shape in current model is torch.Size([148, 256]).
Ich musste außerdem, wie man oben sieht, auch die Reihenfolge der Parameter ändern, da die Reihenfolge dafür gesorgt hat, dass die Argumente und Parameter auf Windows nicht richtig erkannt werden:
Code:
(base) C:\WaveRNN>python gen_tacotron.py --tts_weights "C:/WaveRNN/data/gothic_9bit_raw/gothic_attention_raw.tacotron/latest_weights.pyt" --voc_weights "C:/WaveRNN/data/gothic_9bit_raw/gothic_raw.wavernn/latest_weights.pyt" wr
usage: gen_tacotron.py [-h] [--input_text INPUT_TEXT]
[--tts_weights TTS_WEIGHTS] [--save_attention]
[--force_cpu] [--hp_file FILE]
{wavernn,wr,griffinlim,gl} ...
gen_tacotron.py: error: argument vocoder: invalid choice: 'C:/WaveRNN/data/gothic_9bit_raw/gothic_raw.wavernn/latest_weights.pyt' (choose from 'wavernn', 'wr', 'griffinlim', 'gl')
Ich bin mir jetzt nicht sicher, ob das nur mit Windows zu tun hat und auf Linux funktioniert. Weißt du, was ich irgendwie falsch gemacht haben könnte, dass dein trainiertes Modell nicht bei mir funktioniert? Ich probiere es später nochmal auf Ubuntu aus und sehe nach, ob es da funktioniert, fände es als Windows User allerdings sehr anstrengend, andauernd deswegen wechseln zu müssen.
EDIT: Leider auch auf Ubuntu das gleiche Problem:
Code:
python gen_tacotron.py --tts_weights '/home/ubuntu/Dokumente/WaveRNN/data/gothic_attention_raw.tacotron/latest_weights.pyt' wr --voc_weights '/home/david/Dokumente/WaveRNN/data/gothic_raw.wavernn/latest_weights.pyt'
Using device: cpu
Initialising WaveRNN Model...
Trainable Parameters: 4.481M
Initialising Tacotron Model...
Trainable Parameters: 11.088M
Traceback (most recent call last):
File "gen_tacotron.py", line 112, in <module>
tts_model.load(tts_load_path)
File "/home/ubuntu/Dokumente/WaveRNN/models/tacotron.py", line 456, in load
self.load_state_dict(state_dict, strict=False)
File "/home/ubuntu/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 839, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for Tacotron:
size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([155, 256]) from checkpoint, the shape in current model is torch.Size([148, 256]).
Zitat von sanjaesc
Abschließend... Kennt jemand eine einfache Methode, um die Dialoge mit den dazugehörenden Audiofiles zu exportieren? Ist die stringtable.txt der richtige Ansatz, um die Dialoge aus Gothic 3 zu exportieren?
Ich würde auch gerne eigene TTS Modelle für Gothic entwickeln. Wie hast du das überhaupt bisher gemacht? Beim LJSpeech Dataset, das man sich herunterladen kann, ist ja eine metadata.csv dabei, wo jedem .wav-File schon ein Text zugeordnet wurde. Wie hast du die Dialoge aus den Scripts vom Helden von Gothic 1-3 heraussuchen, den .wav-Files zuweisen und in ein File exportieren können? Gibt es da schon Programme, die das richtig formatieren, sodass es für WaveRNN Vocoder + TTS nutzbar ist?
Geändert von Herobrine (24.10.2019 um 22:51 Uhr)
-
Abenteurer
Zitat von Herobrine
EDIT: Leider auch auf Ubuntu das gleiche Problem:
Code:
python gen_tacotron.py --tts_weights '/home/ubuntu/Dokumente/WaveRNN/data/gothic_attention_raw.tacotron/latest_weights.pyt' wr --voc_weights '/home/david/Dokumente/WaveRNN/data/gothic_raw.wavernn/latest_weights.pyt'
Using device: cpu
Initialising WaveRNN Model...
Trainable Parameters: 4.481M
Initialising Tacotron Model...
Trainable Parameters: 11.088M
Traceback (most recent call last):
File "gen_tacotron.py", line 112, in <module>
tts_model.load(tts_load_path)
File "/home/ubuntu/Dokumente/WaveRNN/models/tacotron.py", line 456, in load
self.load_state_dict(state_dict, strict=False)
File "/home/ubuntu/miniconda3/lib/python3.7/site-packages/torch/nn/modules/module.py", line 839, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for Tacotron:
size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([155, 256]) from checkpoint, the shape in current model is torch.Size([148, 256]).
Hi,
verwendest du auch die richtigen Parameter in der hparams.py? Lad dir mal die diese Datei herunter und versuch es nochmal mit dem folgenden Befehl.
python gen_tacotron.py --hp_file hparams_9bit_raw.py --tts_weights gothic_attention_raw.tacotron/latest_weights.pyt wr --voc_weights gothic_raw.wavernn/latest_weights.pyt
Ansonsten kannst du auch im Projektordner einen "checkpoints" Ordner anlegen und dorthin die Ordner gothic_attention_raw.tacotron und gothic_raw.wavernn mit den Modellen verschieben.
root
| _ models
| _ hparams.py
| _ checkpoints|_ gothic_attention_raw.tacotron |_ latest_weights.pty |_ gothic_raw.wavernn |_ latest_weights.pty
So sollte es aussehen.
Danach sollte auch nur der Befehl
python gen_tacotron.py --hp_file hparams_9bit_raw.py wr
ausreichen.
-
Provinzheld
Geschlecht: Gothic
Zitat von sanjaesc
Ansonsten kannst du auch im Projektordner einen "checkpoints" Ordner anlegen und dorthin die Ordner gothic_attention_raw.tacotron und gothic_raw.wavernn mit den Modellen verschieben.
root
| _ models
| _ hparams.py
| _ checkpoints |_ gothic_attention_raw.tacotron |_ latest_weights.pty |_ gothic_raw.wavernn |_ latest_weights.pty
So sollte es aussehen.
Danach sollte auch nur der Befehl
python gen_tacotron.py --hp_file hparams_9bit_raw.py wr
ausreichen.
Leider immer noch der gleiche Fehler:
Code:
(base) C:\WaveRNN>python gen_tacotron.py --hp_file hparams_9bit_raw.py wr
Using device: cuda
Initialising WaveRNN Model...
Trainable Parameters: 4.481M
Initialising Tacotron Model...
Trainable Parameters: 11.088M
Traceback (most recent call last):
File "gen_tacotron.py", line 112, in <module>
tts_model.load(tts_load_path)
File "C:\WaveRNN\models\tacotron.py", line 456, in load
self.load_state_dict(state_dict, strict=False)
File "F:\ProgramData\Anaconda3\lib\site-packages\torch\nn\modules\module.py", line 839, in load_state_dict
self.__class__.__name__, "\n\t".join(error_msgs)))
RuntimeError: Error(s) in loading state_dict for Tacotron:
size mismatch for encoder.embedding.weight: copying a param with shape torch.Size([155, 256]) from checkpoint, the shape in current model is torch.Size([148, 256]).
-
Abenteurer
Zitat von Herobrine
Leider immer noch der gleiche Fehler:
Denke habe den Fehler.
Ich habe in der symbols.py unter /WaveRNN/utils/text/ noch Umlaute hinzugefügt.
Das würde auch die Differenz erklären.
symbols.py
Code:
""" from https://github.com/keithito/tacotron """
'''
Defines the set of symbols used in text input to the model.
The default is a set of ASCII characters that works well for English or text that has been run through Unidecode. For other data, you can modify _characters. See TRAINING_DATA.md for details. '''
from utils.text import cmudict
_pad = '_'
_punctuation = '!\'(),.:;? '
_special = '-'
_umlaute = 'äöüßÄÖÜ'
_letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
# Prepend "@" to ARPAbet symbols to ensure uniqueness (some are the same as uppercase letters):
_arpabet = ['@' + s for s in cmudict.valid_symbols]
# Export all symbols:
symbols = [_pad] + list(_special) + list(_punctuation) + list(_letters) + list(_umlaute) + _arpabet
-
Provinzheld
Geschlecht: Gothic
Zitat von sanjaesc
Denke habe den Fehler.
Ich habe in der symbols.py unter /WaveRNN/utils/text/ noch Umlaute hinzugefügt.
Das würde auch die Differenz erklären.
symbols.py
Code:
""" from https://github.com/keithito/tacotron """
'''
Defines the set of symbols used in text input to the model.
The default is a set of ASCII characters that works well for English or text that has been run through Unidecode. For other data, you can modify _characters. See TRAINING_DATA.md for details. '''
from utils.text import cmudict
_pad = '_'
_punctuation = '!\'(),.:;? '
_special = '-'
_umlaute = 'äöüßÄÖÜ'
_letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'
# Prepend "@" to ARPAbet symbols to ensure uniqueness (some are the same as uppercase letters):
_arpabet = ['@' + s for s in cmudict.valid_symbols]
# Export all symbols:
symbols = [_pad] + list(_special) + list(_punctuation) + list(_letters) + list(_umlaute) + _arpabet
Jetzt funktioniert es! Super, vielen Dank!
-
Provinzheld
Geschlecht: Gothic
Ich habe mal mit deinem TTS-Modell ein wenig rumprobiert und für die Mod Die Rückkehr 1.1 ein paar Dialoge vom Helden vertont, die man hier in diesem Video hören kann:
https://www.youtube.com/watch?v=E3C-S0ENKaA
Man merkt zwar, dass es eine Text To Speech Stimme ist, aber das ist, wie ich persönlich finde, schon ziemlich stark.
Würde mich freuen, wenn nach Diego noch alle weiteren Stimmen aus Gothic 1-3 kommen würden, bzw. du erklären würdest, wie du deine metadata.csv mitsamt aller Dialoge sowie Zuweisungen der .wav-Files der jeweiligen Sprecher aus Gothic 1-3 erstellt hast, damit man selbst auch einfach TTS Modelle mit den Sprechern trainieren könnte.
EDIT: Noch ein Video, wo ich den bekannten Fehler aus Gothic 1, bei dem aus Versehen der Sprecher von Lee, Hans-Jörg Karrenbrock, die Zeilen vom Helden gesprochen hat, korrigiert habe.
https://youtu.be/sEOSH-N1u68
Hier ist der Link dazu: SchwereRuestung.zip, einfach die .vdf in den Gothic/Data Ordner packen.
Geändert von Herobrine (27.10.2019 um 16:27 Uhr)
-
Ich finde das Projekt sehr interessant und werde es mal weiter verfolgen.
Ich sehe insbesondere an zwei Punkte noch Verbesserungspotenzial:
1. ev. kann man einzelne, Fehlende Worte durch andere Sprecher einsprechen lassen (welche ähnlich klingen) und damit dem Netzwerk etwas auf die Sprünge helfen, ohne das die Stimme sich hörbar verändert.
2. Stimmung der Stimme. Theoretisch müsste man noch die Stimmung als 3ten Parameter irgendwie in das gesprochene Reinbekommen. Eventuell müsste man dafür 3-5 verschiedene Netzwerke Trainieren, welche dann je nach "Stimmung" unterschiedlich stark gewichtet werden. Ich weiss da nicht, wie viel man mit dem Text machen kann. Ist das Netzwerk Unicode fähig? Also das man z.B. für andere Stimmungen ein anderes Charakterset verwenden könnte?
Oder könnte man das mit einer Punktuation machen? Also nach jedem Wort ein Zeichen für die Stimmung.
Aber es ist dennoch schon sehr beeindruckend.
-
Die Ergebnisse hören sich erstaunlich gut an.
Werde mir das auch genauer ansehen.
-
Zitat von sanjaesc
Abschließend... Kennt jemand eine einfache Methode, um die Dialoge mit den dazugehörenden Audiofiles zu exportieren? Ist die stringtable.txt der richtige Ansatz, um die Dialoge aus Gothic 3 zu exportieren?
Dabei helfe ich dir gerne weiter.
Die stringtable.ini alleine hilft dir nicht weiter, da dort der Sprecher nicht ersichtlich ist.
Den Sprecher findet man in den .info Dateien.
Mein Tool G3IQ hat die Funktion Steuerdateien für zwei text-to-speech Programme zu erstellen.
Mit der jetzigen Version wäre es möglich eine Textdatei mit dem zu sprechenden Text zu erzeugen. Der Name der dieser Textdatei entspricht dem Gothic3 Sprachfile.
Da ich das Thema gerade erst gefunden habe, weiß ich nicht welches Format du benötigst.
Ich kann das Tool anpassen und dir den Input liefern, so das er am Besten zu deinem Projekt passt.
-
Habe mich ein wenig damit befasst und kann mit dem trainierten Modell von sanjaesc vertonte Sätze erzeugen.
Ich möchte gerne das Trainieren ausprobieren. Daran scheitere ich aktuell unter Windows. Ich kenne mich auch nicht mit den Schlangen aus.
Ich bin den Installationsanweisungen von Git WavRNN gefolgt bzw. den verlinkten und habe keine Fehlermeldungen bemerkt.
Habe auch einen Cuda Development Treiber von nvidia installiert. Die Meldung, das ich kein Visual Studio habe, habe ich ignoriert. Ich hoffe das ist irrelevant.
Ich habe die empfohlene Schlange Anaconda3 installiert, damit ich Pythons schlängeln lassen kann.
Leider endet das ganze in unendlichen Fehlermeldungen, welche sich immer wieder und wieder wiederholen.
Hier die Fehlermeldungen mit dem Beispieldatensatz, welcher auf der Git Seite verlinkt ist.
Code:
(base) S:\TTS>python preprocess.py --path S:\TTS\LJSpeech
13100 wav files found in "S:\TTS\LJSpeech"
+-------------+-----------+--------+------------+-----------+
| Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage |
+-------------+-----------+--------+------------+-----------+
| 22050 | 9 | True | 275 | 5/6 |
+-------------+-----------+--------+------------+-----------+
13100 wav files found in "S:\TTS\LJSpeech"
13100 wav files found in "S:\TTS\LJSpeech"
13100 wav files found in "S:\TTS\LJSpeech"
13100 wav files found in "S:\TTS\LJSpeech"
13100 wav files found in "S:\TTS\LJSpeech"
+-------------+-----------+--------+------------+-----------+
| Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage |
+-------------+-----------+--------+------------+-----------+
+-------------+-----------+--------+------------+-----------+| 22050 | 9 | True | 275 | 5/6 |
| Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage |+-------------+-----------+--------+------------+-----------+
+-------------+-----------+--------+------------+-----------+
| 22050 | 9 | True | 275 | 5/6 |
+-------------+-----------+--------+------------+-----------+
Traceback (most recent call last):
File "<string>", line 1, in <module>
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
exitcode = _main(fd)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
prepare(preparation_data)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
prepare(preparation_data)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
_fixup_main_from_path(data['init_main_from_path'])
run_name="__mp_main__") File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
run_name="__mp_main__")
pkg_name=pkg_name, script_name=fname) File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
pkg_name=pkg_name, script_name=fname)
mod_name, mod_spec, pkg_name, script_name) File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
+-------------+-----------+--------+------------+-----------+
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
mod_name, mod_spec, pkg_name, script_name)| Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage |
exec(code, run_globals) File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
+-------------+-----------+--------+------------+-----------+
File "S:\TTS\preprocess.py", line 87, in <module>
exec(code, run_globals)| 22050 | 9 | True | 275 | 5/6 |
pool = Pool(processes=n_workers) File "S:\TTS\preprocess.py", line 87, in <module>
+-------------+-----------+--------+------------+-----------++-------------+-----------+--------+------------+-----------++-------------+-----------+--------+------------+-----------+
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 119, in Pool
pool = Pool(processes=n_workers)| Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage || Sample Rate | Bit Depth | Mu Law | Hop Length | CPU Usage |
context=self.get_context()) File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 119, in Pool
+-------------+-----------+--------+------------+-----------++-------------+-----------+--------+------------+-----------+
Traceback (most recent call last):
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 176, in __init__
context=self.get_context()) File "<string>", line 1, in <module>
| 22050 | 9 | True | 275 | 5/6 || 22050 | 9 | True | 275 | 5/6 |
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
self._repopulate_pool() File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 176, in __init__
+-------------+-----------+--------+------------+-----------++-------------+-----------+--------+------------+-----------+
exitcode = _main(fd)
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
self._repopulate_pool()
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
w.start() File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
Traceback (most recent call last):
Traceback (most recent call last):
prepare(preparation_data) File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
w.start()
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
self._popen = self._Popen(self) File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
exitcode = _main(fd)exitcode = _main(fd)
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
self._popen = self._Popen(self)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
return Popen(process_obj) File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
prepare(preparation_data)prepare(preparation_data)
run_name="__mp_main__")
File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
return Popen(process_obj)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
prep_data = spawn.get_preparation_data(process_obj._name) File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
_fixup_main_from_path(data['init_main_from_path'])_fixup_main_from_path(data['init_main_from_path'])
pkg_name=pkg_name, script_name=fname)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
prep_data = spawn.get_preparation_data(process_obj._name)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
_check_not_importing_main() File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
run_name="__mp_main__")run_name="__mp_main__")
mod_name, mod_spec, pkg_name, script_name)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
_check_not_importing_main()
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
is not going to be frozen to produce an executable.''') File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
pkg_name=pkg_name, script_name=fname)
exec(code, run_globals)pkg_name=pkg_name, script_name=fname) File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
RuntimeErroris not going to be frozen to produce an executable.''')
:
File "S:\TTS\preprocess.py", line 87, in <module>
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.RuntimeError
: pool = Pool(processes=n_workers)
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable. File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 119, in Pool
exec(code, run_globals) context=self.get_context())
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 176, in __init__
File "S:\TTS\preprocess.py", line 87, in <module>
exec(code, run_globals)
File "S:\TTS\preprocess.py", line 87, in <module>
self._repopulate_pool() pool = Pool(processes=n_workers)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 119, in Pool
pool = Pool(processes=n_workers)
context=self.get_context())
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 176, in __init__
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 119, in Pool
w.start()self._repopulate_pool()context=self.get_context())
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 176, in __init__
w.start()self._popen = self._Popen(self)
self._repopulate_pool()
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
File "C:\Progs\Anaconda3\lib\multiprocessing\pool.py", line 241, in _repopulate_pool
return Popen(process_obj)self._popen = self._Popen(self)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
w.start()
File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
return Popen(process_obj)
File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
self._popen = self._Popen(self)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
prep_data = spawn.get_preparation_data(process_obj._name)
prep_data = spawn.get_preparation_data(process_obj._name) File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
return Popen(process_obj)
File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 46, in __init__
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
_check_not_importing_main()
prep_data = spawn.get_preparation_data(process_obj._name) _check_not_importing_main()
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 143, in get_preparation_data
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
_check_not_importing_main()
is not going to be frozen to produce an executable.''')
RuntimeError: File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 136, in _check_not_importing_main
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable. is not going to be frozen to produce an executable.''')
is not going to be frozen to produce an executable.''')
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
RuntimeError:
An attempt has been made to start a new process before the
current process has finished its bootstrapping phase.
This probably means that you are not using fork to start your
child processes and you have forgotten to use the proper idiom
in the main module:
if __name__ == '__main__':
freeze_support()
...
The "freeze_support()" line can be omitted if the program
is not going to be frozen to produce an executable.
Traceback (most recent call last):
File "<string>", line 1, in <module>
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
File "<string>", line 1, in <module>
exitcode = _main(fd)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
exitcode = _main(fd)
exitcode = _main(fd)
exitcode = _main(fd)
exitcode = _main(fd)
prepare(preparation_data)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 114, in _main
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
prepare(preparation_data)
prepare(preparation_data)
prepare(preparation_data)
prepare(preparation_data)
_fixup_main_from_path(data['init_main_from_path'])
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 225, in prepare
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
_fixup_main_from_path(data['init_main_from_path'])
_fixup_main_from_path(data['init_main_from_path'])
_fixup_main_from_path(data['init_main_from_path'])
_fixup_main_from_path(data['init_main_from_path'])
run_name="__mp_main__")
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 277, in _fixup_main_from_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
run_name="__mp_main__")
run_name="__mp_main__")
run_name="__mp_main__")
run_name="__mp_main__")
pkg_name=pkg_name, script_name=fname)
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 263, in run_path
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
pkg_name=pkg_name, script_name=fname)
pkg_name=pkg_name, script_name=fname)
pkg_name=pkg_name, script_name=fname)
pkg_name=pkg_name, script_name=fname)
mod_name, mod_spec, pkg_name, script_name)
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
File "C:\Progs\Anaconda3\lib\runpy.py", line 96, in _run_module_code
exec(code, run_globals)
mod_name, mod_spec, pkg_name, script_name)
mod_name, mod_spec, pkg_name, script_name)
mod_name, mod_spec, pkg_name, script_name)
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
File "S:\TTS\preprocess.py", line 2, in <module>
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
mod_name, mod_spec, pkg_name, script_name)
exec(code, run_globals)
File "S:\TTS\preprocess.py", line 2, in <module>
exec(code, run_globals)
exec(code, run_globals)
File "S:\TTS\preprocess.py", line 2, in <module>
from utils.display import *
File "S:\TTS\utils\__init__.py", line 6, in <module>
File "S:\TTS\preprocess.py", line 2, in <module>
File "C:\Progs\Anaconda3\lib\runpy.py", line 85, in _run_code
from utils.display import *
from utils.display import *
File "S:\TTS\utils\__init__.py", line 6, in <module>
from utils.display import *
File "S:\TTS\utils\__init__.py", line 6, in <module>
File "S:\TTS\utils\__init__.py", line 6, in <module>
import torch
File "C:\Progs\Anaconda3\lib\site-packages\torch\__init__.py", line 44, in <module>
exec(code, run_globals)
File "S:\TTS\preprocess.py", line 2, in <module>
import torch
File "C:\Progs\Anaconda3\lib\site-packages\torch\__init__.py", line 44, in <module>
import numpy as _np # noqa: F401
File "C:\Progs\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
from utils.display import *
File "S:\TTS\utils\__init__.py", line 6, in <module>
import numpy as _np # noqa: F401
File "C:\Progs\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
import torch
File "C:\Progs\Anaconda3\lib\site-packages\torch\__init__.py", line 44, in <module>
import torch
File "C:\Progs\Anaconda3\lib\site-packages\torch\__init__.py", line 44, in <module>
import numpy as _np # noqa: F401
File "C:\Progs\Anaconda3\lib\site-packages\numpy\__init__.py", line 145, in <module>
import numpy as _np # noqa: F401
File "C:\Progs\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
from . import core
File "C:\Progs\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 123, in <module>
from . import lib
File "C:\Progs\Anaconda3\lib\site-packages\numpy\lib\__init__.py", line 9, in <module>
from . import core
File "C:\Progs\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 100, in <module>
from . import core
File "C:\Progs\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 100, in <module>
import torch
File "C:\Progs\Anaconda3\lib\site-packages\torch\__init__.py", line 44, in <module>
import numpy as _np # noqa: F401
File "C:\Progs\Anaconda3\lib\site-packages\numpy\__init__.py", line 142, in <module>
from .index_tricks import *
from . import records as rec
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
from . import records as rec
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "C:\Progs\Anaconda3\lib\site-packages\numpy\lib\index_tricks.py", line 13, in <module>
from . import _dtype_ctypes
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
from . import core
File "C:\Progs\Anaconda3\lib\site-packages\numpy\core\__init__.py", line 100, in <module>
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
from . import records as rec
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap_external>", line 857, in get_code
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
import numpy.matrixlib as matrixlib
File "<frozen importlib._bootstrap_external>", line 525, in _compile_bytecode
File "<frozen importlib._bootstrap_external>", line 857, in get_code
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "C:\Progs\Anaconda3\lib\site-packages\numpy\matrixlib\__init__.py", line 6, in <module>
KeyboardInterrupt
File "<frozen importlib._bootstrap_external>", line 525, in _compile_bytecode
KeyboardInterrupt
File "<frozen importlib._bootstrap_external>", line 818, in get_code
File "<frozen importlib._bootstrap_external>", line 916, in get_data
KeyboardInterrupt
File "<frozen importlib._bootstrap_external>", line 818, in get_code
File "<frozen importlib._bootstrap_external>", line 916, in get_data
KeyboardInterrupt
from .defmatrix import *
forrtl: error (200): program aborting due to control-C event
Image PC Routine Line Source
libifcoremd.dll 00007FFC519F3B58 Unknown Unknown Unknown
KERNELBASE.dll 00007FFC7A155FA3 Unknown Unknown Unknown
KERNEL32.DLL 00007FFC7B397BD4 Unknown Unknown Unknown
ntdll.dll 00007FFC7C46CED1 Unknown Unknown Unknown
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 724, in exec_module
File "<frozen importlib._bootstrap_external>", line 818, in get_code
File "<frozen importlib._bootstrap_external>", line 916, in get_data
KeyboardInterrupt
(base) S:\TTS>
sanjaesc hat auch erwähnt, das er unter Windows nur Probleme hatte. Ich würde zur Not versuchen ein Unix auf einer separaten SSD auf meinem alten Win7 Rechner zu installieren. Was wäre für einen UNIX DAU wie mich das richtige UNIX? Das UNIX, soll bis auf die Installation nie wieder mit dem Internet verbunden werden. Der Rechner wäre ein i7 6700T mit einer nvidia 1060. Falls der Mainboardchipsatz wichtig ist, bitte sagen.
Ich bin für jeden Tip dankbar, der mich weiterbringt.
Edit:
Code:
Supported Linux Distributions
PyTorch is supported on Linux distributions that use glibc >= v2.17, which include the following:
Arch Linux, minimum version 2012-07-15
CentOS, minimum version 7.3-1611
Debian, minimum version 8.0
Fedora, minimum version 24
Mint, minimum version 14
OpenSUSE, minimum version 42.1
PCLinuxOS, minimum version 2014.7
Slackware, minimum version 14.2
Ubuntu, minimum version 13.04
Kann PyTorch ein Problem sein? Weiß jemand, ob die Schlange Anaconda3 unter Windows kompatibel zu einer der genannten Versionen ist?
Geändert von MadFaTal (28.11.2019 um 19:19 Uhr)
-
Wow. Wenn das erstmal noch optimiert wird ... Was dann für Mods damit entstehen könnten, die sich umso lore freundlicher anfühlen werden ... :O
-
Finde ebenfalls, dass sich damit schon einiges anfangen lässt.
Klingt vor allem um Welten besser als der ganze Text-to-speech crap den man gewohnt ist.
-
Im Anhang ist zu jedem Gothic3 Sprachfiles der zugehörige Text aufgeführt.
Es gibt auch eine Liste aller Gohtic3 Sprachfiles, wo der Text unbekannt ist. Diese unbekannten Sprachfiles werden zumeist von der Engine direkt geladen und verwendet.
Im 2. Textteil des .csv habe ich bereits nicht mitgesprochene Klammern entfernt. Ebenso sind z.B. 3 Punkte "..." durch einen ersetzt.
Am Ende Liste sind alle Textzeilen mit Zahlen aufgeführt. Hier muss man vor dem Trainieren manuell hören wie die Zahl gesprochen wird und diese ausgeschrieben in den 2. Teil schreiben. 100 könnte z.B. als "hundert" oder "einhundert" gesprochen sein.
G3_SpeechFiles_with_texts.zip
-
Ich habe es jetzt geschafft preprocess.py erfolgreich auszuführen. Es werden auch zu jeder .wav zwei .npy (Ordner mel und Ordner quant) erzeugt.
Ich musste dort das in der Fehlermeldung angegebene ergänzen:
Code:
if __name__ == '__main__':
Leider erhalte ich bei beiden Skripten die wohl danach notwendig sind Fehlermeldungen.
python train_tacotron.py:
Code:
(base) S:\TTS>python train_tacotron.py
Using device: cuda
Initialising Tacotron Model...
Trainable Parameters: 11.088M
Creating latest checkpoint...
Saving latest weights: S:\TTS\checkpoints\ljspeech_lsa_smooth_attention.tacotron\latest_weights.pyt
Saving latest optimizer state: S:\TTS\checkpoints\ljspeech_lsa_smooth_attention.tacotron\latest_optim.pyt
+----------------+------------+---------------+------------------+
| Steps with r=7 | Batch Size | Learning Rate | Outputs/Step (r) |
+----------------+------------+---------------+------------------+
| 10k Steps | 32 | 0.001 | 7 |
+----------------+------------+---------------+------------------+
Traceback (most recent call last):
File "train_tacotron.py", line 202, in <module>
main()
File "train_tacotron.py", line 98, in main
tts_train_loop(paths, model, optimizer, train_set, lr, training_steps, attn_example)
File "train_tacotron.py", line 126, in tts_train_loop
for i, (x, m, ids, _) in enumerate(train_set, 1):
File "C:\Progs\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 278, in __iter__
return _MultiProcessingDataLoaderIter(self)
File "C:\Progs\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 682, in __init__
w.start()
File "C:\Progs\Anaconda3\lib\multiprocessing\process.py", line 112, in start
self._popen = self._Popen(self)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 223, in _Popen
return _default_context.get_context().Process._Popen(process_obj)
File "C:\Progs\Anaconda3\lib\multiprocessing\context.py", line 322, in _Popen
return Popen(process_obj)
File "C:\Progs\Anaconda3\lib\multiprocessing\popen_spawn_win32.py", line 89, in __init__
reduction.dump(process_obj, to_child)
File "C:\Progs\Anaconda3\lib\multiprocessing\reduction.py", line 60, in dump
ForkingPickler(file, protocol).dump(obj)
AttributeError: Can't pickle local object 'get_tts_datasets.<locals>.<lambda>'
(base) S:\TTS>Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Progs\Anaconda3\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
EOFError: Ran out of input
python train_wavernn.py:
Code:
Using device: cuda
Initialising Model...
Trainable Parameters: 4.234M
Restoring from latest checkpoint...
Loading latest weights: S:\TTS\checkpoints\ljspeech_mol.wavernn\latest_weights.pyt
Loading latest optimizer state: S:\TTS\checkpoints\ljspeech_mol.wavernn\latest_optim.pyt
Traceback (most recent call last):
File "train_wavernn.py", line 159, in <module>
main()
File "train_wavernn.py", line 73, in main
train_set, test_set = get_vocoder_datasets(paths.data, batch_size, train_gta)
File "S:\TTS\utils\dataset.py", line 56, in get_vocoder_datasets
pin_memory=True)
File "C:\Progs\Anaconda3\lib\site-packages\torch\utils\data\dataloader.py", line 213, in __init__
sampler = RandomSampler(dataset)
File "C:\Progs\Anaconda3\lib\site-packages\torch\utils\data\sampler.py", line 94, in __init__
"value, but got num_samples={}".format(self.num_samples))
ValueError: num_samples should be a positive integer value, but got num_samples=0
-
Hast du versucht, das ganze ohne Anaconda3 zum Laufen zu bringen? So wie ich das verstehe, sollte es auch ohne das Framework gehen.
Ich kenne mich jetzt auch nicht aus. Aber vielleicht hilft es, das Problem zu lokalisieren.
Wenn du es unter Linux versuchen willst, würde ich Ubuntu empfehlen.
-
Zitat von Neconspictor
Hast du versucht, das ganze ohne Anaconda3 zum Laufen zu bringen? So wie ich das verstehe, sollte es auch ohne das Framework gehen.
Ich kenne mich jetzt auch nicht aus. Aber vielleicht hilft es, das Problem zu lokalisieren.
Wenn du es unter Linux versuchen willst, würde ich Ubuntu empfehlen.
Was wäre die Alternative zu Anaconda3 unter Windows?
PS:
Danke für den Unbuntu Tip. Das werde ich dann frühestens im nächsten Jahr angehen.
-
Zitat von MadFaTal
Was wäre die Alternative zu Anaconda3 unter Windows?
PS:
Danke für den Unbuntu Tip. Das werde ich dann frühestens im nächsten Jahr angehen.
Wie gesagt, ich kenn mich da nicht aus. Aber so wie ich das sehe, braucht man für WaveRNN Anaconda3 erst einmal gar nicht.
Deshalb dachte ich, du solltest erst einmal testen, dass WaveRNN richtig installiert ist und funktioniert. Und dich dann um die Integration mit Anaconda3 kümmern.
Achte z.B. darauf, dass du bei allen Dependencies die richtige Python Version verwendest. Anaconda3 braucht z.B. Python 3.7. Das heißt, du solltest Python 3.7 installiert haben und dann die richtige PyTorch Version etc. installieren. PyTorch unterstützt CUDA 9.2 und 10.1 . Da solltest du auch schauen, was dein Treiber und WaveRNN unterstützt.
-
Zitat von MadFaTal
Was wäre die Alternative zu Anaconda3 unter Windows?
PS:
Danke für den Unbuntu Tip. Das werde ich dann frühestens im nächsten Jahr angehen.
Anaconda ist erstmal einfach eine Sammlung von Python Paketen, sowie ein Paket Manager. Anaconda hilft dir also dabei, viele nützliche Python Pakete bereits installiert zu haben (insbesondere auf Datenanalyse ausgerichtet). Die Alternative ist es, Python so zu installieren und dann die Pakete, die du brauchst (pip install ...). Falls dir der Paket Manager von Anaconda gefällt, kannst du den auch über Miniconda installieren, ohne direkt alle Pakete von Anaconda mit dabei zu haben.
Letztlich sollten die ganzen Anaconda-Pakete allerdings nicht wirklich stören (außer es gibt ganz extreme Abhängigkeiten zwischen den Paketversionen), die überflüssigen Pakete kosten lediglich Speicherplatz.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
|