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

Lab 2: Δεδομένα Kaggle #203

Open
steve-anunknown opened this issue Nov 20, 2023 · 1 comment
Open

Lab 2: Δεδομένα Kaggle #203

steve-anunknown opened this issue Nov 20, 2023 · 1 comment

Comments

@steve-anunknown
Copy link

Νομίζω ότι τα δεδομένα που βρίσκονται στον σύνδεσμο https://www.kaggle.com/datasets/geoparslp/patreco3-multitask-affective-music δεν είναι τα σωστά.

Τα fma_genre_spectrograms_beat/train (και test), όπως φαίνονται από την προεπισκόπηση του kaggle αλλά και από το αρχείο fma_genre_spectrograms_beat/train_labels.txt (και test), πρέπει να έχουν ονομασίες <αριθμός>.beatsync.fused.npy. Παρόλα αυτά, κατεβάζοντάς τα τοπικά , βλέπω ότι δεν έχουν αυτήν την ονομασία, αλλά ότι είναι τα ίδια με τα αρχεία fma_genre_spectrograms/train, δηλαδή έχουν ονόματα μορφής <αριθμός>.fused.full.npy.

Μπορείτε να προσπαθήσετε να το αναπαραγάγετε;
Ευχαριστώ.

@pxaris
Copy link
Contributor

pxaris commented Nov 20, 2023

Το περιεχόμενο των npy αρχείων (beat και κανονικών) είναι αυτό που πρέπει αλλά έχετε δίκιο για τα ονόματά τους. Κάνετε το ακόλουθο fix στη μέθοδο SpectrogramDataset.get_files_labels για να συνεχίσετε:

def get_files_labels(self, txt, class_mapping):
    with open(txt, "r") as fd:
        lines = [l.rstrip().split("\t") for l in fd.readlines()[1:]]
    files, labels = [], []
    for l in lines:            
        if self.regression:
            l = l[0].split(",")
            files.append(l[0] + ".fused.full.npy")
            labels.append(l[self.regression])
            continue
        label = l[1]
        if class_mapping:
            label = class_mapping[l[1]]
        if not label:
            continue
        fname = l[0]
        if fname.endswith(".gz"):
            fname = ".".join(fname.split(".")[:-1])
        
        if 'fma_genre_spectrograms_beat' in self.full_path.split('/'): # necessary fix 1
            fname = fname.replace('beatsync.fused', 'fused.full')
        if 'test' in self.full_path.split('/'): # necessary fix 2
            fname = fname.replace('full.fused', 'fused.full')
        
        files.append(fname)
        labels.append(label)
    return files, labels

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

2 participants