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

Permission Denied #23

Open
sponi78 opened this issue Apr 15, 2023 · 5 comments
Open

Permission Denied #23

sponi78 opened this issue Apr 15, 2023 · 5 comments

Comments

@sponi78
Copy link

sponi78 commented Apr 15, 2023

Hallo, Buch seite 60, Visdom gestartet und dann den Befehl ausgeführt, bekomme ich einen Permission denied Fehler:
clean_data_root: D:\py\de_DE\SV2TTS\encoder
models_dir: encoder\saved_models
vis_every: 10
umap_every: 100
save_every: 500
backup_every: 7500
force_restart: False
visdom_server: http://localhost
no_visdom: False

No model "my_run" found, starting training from scratch.
Updating the visualizations every 10 steps.
Setting up a new session...
Traceback (most recent call last):
File "encoder_train.py", line 46, in
train(**vars(args))
File "c:\Users\knupp\py\Real-Time-Voice-Cloning-German\encoder\train.py", line 60, in train
vis.log_dataset(dataset)
File "c:\Users\knupp\py\Real-Time-Voice-Cloning-German\encoder\visualizations.py", line 85, in log_dataset
dataset_string += "\n" + dataset.get_logs()
File "c:\Users\knupp\py\Real-Time-Voice-Cloning-German\encoder\data_objects\speaker_verification_dataset.py", line 29, in get_logs
with log_fpath.open("r") as log_file:
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\pathlib.py", line 1222, in open
return io.open(self, mode, buffering, encoding, errors, newline,
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\pathlib.py", line 1078, in _opener
return self._accessor.open(self, flags, mode)
PermissionError: [Errno 13] Permission denied: 'D:\py\de_DE\SV2TTS\encoder\de_DE_by_book_mix_info.txt'

@padmalcom
Copy link
Owner

padmalcom commented Apr 17, 2023

Hi, da stimmt was mit den Pfadtrennzeichen nicht. Wenn du dir die letzte Zeile anschaust, siehst du folgenden Pfad: "D:\py\de_DE\SV2TTS\encoder\de_DE_by_book_mix_info.txt". Die Trennzeichen zwischen "de_DE", "by_book", "mix" und "info.txt" sind Unterstriche, müssten aber "\" sein.

@sponi78
Copy link
Author

sponi78 commented Apr 17, 2023

Problem erkannt, was aber ist die Lösung?
Ich hab nichts am Quellcode geändert, ich bin nur der Anleitung aus dem Buch gefolgt.

@padmalcom
Copy link
Owner

Okay, ich vermute, dass es sich dabei um eine Datei in den Trainingsdaten handelt, die einen unüblichen Namen trägt (siehe Anfang von 3.3.6). Kannst du mal prüfen, ob da irgendwo eine ".info.txt" liegt (die mit einem Punkt beginnt)? Falls ja lösch diese gerne mal.
Ich habe außerdem eine Prüfung in speaker_verification_dataset.py eingefügt, die sicherstellt, dass die Logs nur gelesen werden, wenn die Datei existiert. Update die Datei gerne mal aus Github.

@sponi78
Copy link
Author

sponi78 commented Apr 17, 2023

ich habe ein paar ._info.txt Dateien gefunden und gelöscht.
Nach dem Ausführen visdom und dann python encoder_train.py my_run D:\Datasets\SV2TTS\encoder kommt:
(rtvc) C:\Users\knupp\py\Real-Time-Voice-Cloning-German>python encoder_train.py my_run D:\Datasets\SV2TTS\encoder
Arguments:
run_id: my_run
clean_data_root: D:\Datasets\SV2TTS\encoder
models_dir: encoder\saved_models
vis_every: 10
umap_every: 100
save_every: 500
backup_every: 7500
force_restart: False
visdom_server: http://localhost
no_visdom: False

Found existing model "my_run", loading it and resuming training.
Traceback (most recent call last):
File "encoder_train.py", line 46, in
train(**vars(args))
File "C:\Users\knupp\py\Real-Time-Voice-Cloning-German\encoder\train.py", line 47, in train
checkpoint = torch.load(state_fpath)
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 809, in load
return _load(opened_zipfile, map_location, pickle_module, **pickle_load_args)
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 1172, in _load
result = unpickler.load()
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 1142, in persistent_load
typed_storage = load_tensor(dtype, nbytes, key, _maybe_decode_ascii(location))
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 1116, in load_tensor
wrap_storage=restore_location(storage, location),
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 217, in default_restore_location
result = fn(storage, location)
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 182, in _cuda_deserialize
device = validate_cuda_device(location)
File "C:\Users\knupp\anaconda3\envs\rtvc\lib\site-packages\torch\serialization.py", line 166, in validate_cuda_device
raise RuntimeError('Attempting to deserialize object on a CUDA '
RuntimeError: Attempting to deserialize object on a CUDA device but torch.cuda.is_available() is False. If you are running on a CPU-only machine, please use torch.load with map_location=torch.device('cpu') to map your storages to the CPU.

Meine Ordnerstruktur sieht übrigens so aus:

D:\Datastets.....\de_DE_by_book_mix_info.txt aus

@padmalcom
Copy link
Owner

Hi, der Fehler ist ein bisschen merkwürdig. Trainierst du dein Modell auf einer GPU (mit CUDA) oder auf deiner CPU? Kannst du mal versuchen, den Ordner my_run umzubenennen bzw. zu löschen, falls du ihn nicht mehr brauchst?
Der Fehler (2. Zeile von unten) ist ja relativ klar formuliert, nur verstehe ich nicht, wie es konfigurativ möglich ist, ein Objekt auf ein CUDA Device zu bekommen, ohne dass CUDA verfügbar ist.

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