fine-tune question
السلام عليكم , اهنيك على شغلك ماشاءالله
سؤالي هو كيف استخدم مودلك واسوي له تريننق على لهجه عربيه (مصري,خليجي) مع العلم معي الداتا وفوق ال70ساعه
اذا تقدر تساعدني اكون شاكره لك
F5-TTS Fine-tuning Instructions
- بدء العمل
- ابدأ من هنا: https://github.com/SWivid/F5-TTS
- اتبع خطوات التثبيت المذكورة .
- تجهيز البيانات
جهز البيانات في ملف CSV بالشكل التالي:
audio_path|textاستخدم الأمر التالي لتحويل البيانات إلى Arrow file:
python src/f5_tts/train/datasets/prepare_csv_wavs.pyضع الملفات الناتجة في المسار التالي:
F5-TTS/data/yourdatasetnameتأكد من أن المجلد يحتوي على:
- dataset.arrow (بيانات التدريب المحضّرة)
- vocab.txt (ملف المفردات) the one here in my repo
- duration.json (مدة كل مقطع صوتي)
- إعداد Checkpoint والمجلدات
- استخدم إصدار f5-base وليس v1.
- احذف أي checkpoints موجودة مسبقًا في مجلد ckpt.
- ضع الـ checkpoint الجديد في المسار التالي:
F5-TTS/ckpts/yourdatasetname/checkpoint.pt (one of my chekpoints exist here in the repo)
- تعديل الكود وضبط المسار
افتح ملف الأكواد وقم بتعديله ليشمل المسار الصحيح للـ checkpoint:
elif args.exp_name == "F5TTS_Base":
wandb_resume_id = None
model_cls = DiT
model_cfg = dict(
dim=1024,
depth=22,
heads=16,
ff_mult=2,
text_dim=512,
text_mask_padding=False,
conv_layers=6,
pe_attn_head=1,
)
if args.finetune:
if args.pretrain is None:
ckpt_path = str("F5-TTS/ckpts/yourdatasetname/checkpoint.pt")
print("here is ckpt path", ckpt_path)
else:
ckpt_path = args.pretrain
- تشغيل عملية Fine-tuning
عند تشغيل finetune_cli.py، تأكد من تمرير اسم dataset كالتالي:
python finetune_cli.py --dataset_name yourdatasetname --tokenizer custom --tokenizer_path data/yourdatasetname/vocab.txt --log_samples --finetune --logger wandb
خريطة المجلدات والمحتوى
F5-TTS/
│── ckpts/
│ ├── yourdatasetname/
│ │ ├── checkpoint.pt # ملف Checkpoint الجديد
│
│── data/
│ ├── yourdatasetname/
│ │ ├── dataset.arrow # بيانات التدريب المحضّرة
│ │ ├── vocab.txt # ملف المفردات
│ │ ├── duration.json # ملف يحتوي على مدة كل مقطع صوتي
│
يخي الله يسعدك على الشرح الاكثر من رائع , بجرب واشوف وان شاءالله ماواجه مشاكل