Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lab2 - Βήματα 4.2.4 & 4.2.5 #5

Open
manos1996 opened this issue Dec 17, 2019 · 7 comments
Open

Lab2 - Βήματα 4.2.4 & 4.2.5 #5

manos1996 opened this issue Dec 17, 2019 · 7 comments

Comments

@manos1996
Copy link

Καλησπέρα,

Για το βήμα 4.2.4 όταν τρέχω το 'prepare_lang.sh' παίρνω το εξής error:

utils/prepare_lang.sh: line 547: fstaddselfloops: command not found
ERROR: FstHeader::Read: Bad FST header: standard input

Γενικά έχω κάνει source to path.sh και δεν νομίζω να υπάρχει κάποιο πρόβλημα με αυτό. Επίσης σίγουρα υπάρχει το αρχείο 'fstaddselfloops.cc' στο path 'kaldi-master/src/fstbin' οπότε δεν ξέρω γιατί εμφανίζεται αυτό το πρόβλημα.

Στο βήμα 4.2.5 τώρα αν καταλαβαίνω καλά θέλετε να πάρουμε το αρχείο 'timit_format_data.sh.' και να το τρέξουμε για τα δικά μας δεδομένα. Για να το κάνω αυτό έπρεπε να αλλάξω το 'scrdir' σε 'srcdir=data/train' αλλιώς δεν έβρισκε το path, καθώς και να αλλάξω τα ονόματα ορισμένων αρχείων στον φάκελο 'train' έτσι ώστε να είναι συμβατά με το script. Αλλά και πάλι παίρνω αυτό to error στην έξοδο:

utils/validate_data_dir.sh: file data/train/utt2spk is not in sorted order or has duplicates

Παρόλα αυτά δεν νομίζω να υπάρχουν duplicates στο αρχείο ή να μην είναι ταξινομημένα. Παραθέτω εδώ την δομή του αρχείου

utterance_id_1 f1
utterance_id_2 f1
utterance_id_3 f1
utterance_id_4 f1
utterance_id_5 f1
...
utterance_id_1465 m3
utterance_id_1466 m3
utterance_id_1467 m3
utterance_id_1468 m3

@georgepar
Copy link

πώς ακριβώς τρέχεις την εντολή. απ' ότι φαίνεται δεν του περνας το fst αρχείο και το περιμένει από το stdin

@manos1996
Copy link
Author

manos1996 commented Dec 17, 2019

Αν μιλάμε για το 4.2.4 τρέχω αυτήν την εντολή:

utils/prepare_lang.sh data/local/dict '' data/local/lang data/lang

Αντί του '' δεν έχω καταλάβει ακριβώς τι πρέπει να βάλουμε. Στην αρχή είχα '< UNK >' το οποίο είδα εδώ:

http://kaldi-asr.org/doc/data_prep.html#data_prep_lang_creating

αλλά έβγαζε άλλο error επειδή δεν αναγνώριζε το '< UNK >', αν και το error που έγραψα στο issue δεν νομίζω ότι σχετίζεται με αυτό.

*Edit: 4.2.4

@njellinas
Copy link

Το path.sh αρχείο πρέπει να είναι μαζί με το αρχείο που τρέχεις τον κώδικά σου π.χ. run.sh. Και μέσα από το path.sh πρέπει η μεταβλητή KALDI_ROOT να δείχνει στο φάκελο kaldi.

  1. Βάλε την εντολή . ./path.sh μέσα στο run.sh σου πάνω πάνω.
  2. Αν το έχεις κάνει και πάλι δεν παίζει, δοκίμασε να το βάλεις με το χέρι μέσα στο PATH σου: $KALDI_ROOT/src/fstbin. Αν δε μπορείς να τρέξεις το script από το command line σημαίνει ότι είτε δεν είναι compiled είτε δεν είναι στο PATH.

Απαντάω με βάση ίδιο issue που βρήκα στο kaldi repo: kaldi-asr/kaldi#3450 όπου απαντάει ο creator του.

@manos1996
Copy link
Author

Εντάξει λύθηκε το πρόβλημα, λογικά δεν είχε γίνει σωστό compile του kaldi. Παρόλα αυτά έχω ακόμα θέμα με το 4.2.5. Το error που ανέφερα εξαφανίζεται αν προσθέσουμε μηδενικά στα id έτσι ώστε να έχουν ίδιο length. Π.χ αν το μεγαλύτερο id είναι το 1400, τότε το '3' θα γίνει '0003'. Στην συνέχεια όμως παίρνω άλλο error γιατί δεν υπάρχουν τα αρχεία t.spk2gender, t.stm και t.glm, όπου t = 'train, 'test' ή 'dev'. Το spk2gender υποπτεύομαι ότι κάπως θα πρέπει να το φτιάξουμε έμεις όπως κάναμε και τα υπόλοιπα κατά την προπαρασκευή, με τα άλλα δύο τι γίνεται?

@njellinas
Copy link

Δε θα τρέξει ακριβώς ίδιο το script από την timit, πρέπει να το διαμορφώσεις ώστε να ταιριάξει στο δικό σου recipe. Οπότε, πάρε μόνο τα χρήσιμα paths και τις χρήσιμες εντολές.

@Yenn1s
Copy link

Yenn1s commented Dec 21, 2019

Έχω παρόμοιο πρόβλημα (utils/prepare_lang.sh: line 547: fstaddselfloops: command not found
ERROR: FstHeader::Read: Bad FST header: standard input), έχω κάνει source το path και έβαλα χειροκίνητα το $KALDI_ROOT/src/fstbin και δοκίμασα να ξανακατεβάσω το kaldi 2-3 φορές δεν φτιάχνει, στο fstbin υπάρχει η εντολή fstaddselfloops.cc αλλά δεν υπαρχει η fstaddselfloops.ο ή η fstaddselfloops σκέτο, υπάρχει τπτ άλλο που ίσως θα μπορούσα να κάνω?

@manos1996
Copy link
Author

@Yenn1s Εγκατέστησε τα IRSTLM/OpenBLAS σε περίπτωση που σου διέφυγε, και δοκίμασε να ξανακάνεις compile. Για εμένα τουλάχιστον έτσι λύθηκε το πρόβλημα.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants