Fix: handling esd.list processing error
This commit is contained in:
@@ -12,11 +12,13 @@
|
|||||||
以下では次のような方針でやっています。
|
以下では次のような方針でやっています。
|
||||||
|
|
||||||
- `/storage/`は永続ストレージなので、事前学習モデルとかを含めてリポジトリをクローンするとよい。
|
- `/storage/`は永続ストレージなので、事前学習モデルとかを含めてリポジトリをクローンするとよい。
|
||||||
- `/notebooks/`は一時ストレージなので、データセットやその結果を保存する。
|
- `/notebooks/`はノートブックごとに変わるストレージなので(同一ノートブック違うランタイムだと共有されるらしい)、データセットやその結果を保存する。ただ容量が多い場合はあふれる可能性があるので`/tmp/`に保存するとよいかもしれない。
|
||||||
- hugging faceアカウントを作り、(プライベートな)リポジトリを作って、学習元データを置いたり、学習結果を随時アップロードする。
|
- hugging faceアカウントを作り、(プライベートな)リポジトリを作って、学習元データを置いたり、学習結果を随時アップロードする。
|
||||||
|
|
||||||
### 1. 環境を作る
|
### 1. 環境を作る
|
||||||
|
|
||||||
|
以下はデフォルトの`Start from Scratch`で作成した環境の場合。[Dockerfile.train](../Dockerfile.train)を使ったカスタムイメージをするとPythonの環境構築の手間がちょっと省けるので、それを使いたい人は`Advanced Options / Container / Name`に[`litagin/mygradient:latest`](https://hub.docker.com/r/litagin/mygradient/tags)を指定すると使えます(pipの箇所が不要になる等)。
|
||||||
|
|
||||||
まずは永続ストレージにgit clone
|
まずは永続ストレージにgit clone
|
||||||
```bash
|
```bash
|
||||||
mkdir -p /storage/sbv2
|
mkdir -p /storage/sbv2
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import time
|
|||||||
import webbrowser
|
import webbrowser
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from multiprocessing import cpu_count
|
from multiprocessing import cpu_count
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
import gradio as gr
|
import gradio as gr
|
||||||
import yaml
|
import yaml
|
||||||
@@ -162,13 +163,20 @@ def preprocess_text(model_name, use_jp_extra, val_per_lang):
|
|||||||
except FileNotFoundError:
|
except FileNotFoundError:
|
||||||
logger.error(f"Step 3: {lbl_path} not found.")
|
logger.error(f"Step 3: {lbl_path} not found.")
|
||||||
return False, f"Step 3, Error: 書き起こしファイル {lbl_path} が見つかりません。"
|
return False, f"Step 3, Error: 書き起こしファイル {lbl_path} が見つかりません。"
|
||||||
with open(lbl_path, "w", encoding="utf-8") as f:
|
new_lines = []
|
||||||
for line in lines:
|
for line in lines:
|
||||||
path, spk, language, text = line.strip().split("|")
|
if len(line.strip().split("|")) != 4:
|
||||||
path = os.path.join(dataset_path, "wavs", os.path.basename(path)).replace(
|
logger.error(f"Step 3: {lbl_path} has invalid format at line:\n{line}")
|
||||||
"\\", "/"
|
return (
|
||||||
|
False,
|
||||||
|
f"Step 3, Error: 書き起こしファイル次の行の形式が不正です:\n{line}",
|
||||||
)
|
)
|
||||||
f.writelines(f"{path}|{spk}|{language}|{text}\n")
|
path, spk, language, text = line.strip().split("|")
|
||||||
|
# pathをファイル名だけ取り出して正しいパスに変更
|
||||||
|
path = Path(dataset_path) / "wavs" / Path(path).name
|
||||||
|
new_lines.append(f"{path}|{spk}|{language}|{text}\n")
|
||||||
|
with open(lbl_path, "w", encoding="utf-8") as f:
|
||||||
|
f.writelines(new_lines)
|
||||||
cmd = [
|
cmd = [
|
||||||
"preprocess_text.py",
|
"preprocess_text.py",
|
||||||
"--config-path",
|
"--config-path",
|
||||||
|
|||||||
Reference in New Issue
Block a user