欢迎光临散文网 会员登陆 & 注册

训练

2023-08-18 03:41 作者:日出日落大太阳都无所  | 我要投稿

colab运行记录仅供参考2023.8.17

免费用户的使用,会员的不适用

红色需要注意/蓝色是目录位置

diffsingerdatsaet模型歌手名称


#@title 查看是否显卡是否在gpu模式

!nvidia-smi


#第1步谷歌云盘加载

from google.colab import drive

drive.mount('/content/drive')


#DiffSinger直接安装到网盘只第一次使用。之后不更新不要使用

#用完删除推荐需要更新在用,不然有文件或者目录更新无法使用很麻烦

%cd /content/drive/MyDrive

!git clone https://github.com/openvpi/DiffSinger.git

#第2步安装依赖

%cd /content/drive/MyDrive/DiffSinger

!pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

#预处理数据集config_acoustic.yaml提前编辑

#这步第一次运行有了binary不需要每次都运行

%cd /content/drive/MyDrive/DiffSinger

!python scripts/binarize.py --config /content/drive/MyDrive/DiffSinger/data/diffsingerdatsaet/config_acoustic.yaml

使用你自己的config_acoustic.yaml目录位置

我把config_acoustic.yaml保存到数据集diffsingerdatsaet目录了

预处理后在diffsingerdatsaet里会生成binary文件夹

# 第3步启动训练

%cd /content/drive/MyDrive/DiffSinger

# 下面是可视化训练数据

tensorboard_on = True  #@param {type:"boolean"}

if tensorboard_on:

  %load_ext tensorboard

  %tensorboard --logdir /content/drive/MyDrive/DiffSinger/checkpoints/diffsingerdatsaet/lightning_logs

!python scripts/train.py --config /content/drive/MyDrive/diff/DiffSinger/data/diffsingerdatsaet/config_acoustic.yaml --exp_name diffsingerdatsaet_acoustic --reset

这样应该就在训练声音模型了

之后在次继续训练只需要

1安装网盘

2安装依赖

3训练

不要运行其他

安装到网盘会产生模型每次自动删除都在回收站需要清理我的免费账户就3-4小时没几个文件,如果空间不够可以新建个免费账户共享一下DiffSinger这个目录给自己另一个号,然后在共享里把文件夹放到相同目录就可以,共享文件只保存在上传者网盘,不影响新号空间,共享文件夹删除文件在根目录每次删除就可以,这样123这3步,可以每个新号共享,有风险慎用过多。


#我的config_acoustic.yaml仅供参考

base_config: configs/acoustic.yaml

raw_data_dir:

  - data/diffsingerdatsaet/raw

speakers:

  - diffsingerdatsaet

spk_ids: []

test_prefixes:

  - 2001000001                       #修改你自己音频名

  - 2001000002

  - 2001000003

  - 2001000004

  - 2001000005

dictionary: dictionaries/opencpop-extension.txt

binary_data_dir: data/diffsingerdatsaet/binary

binarization_args:

  num_workers: 0

use_spk_id: false

num_spk: 1        #几个人声

use_energy_embed: false

use_breathiness_embed: false

use_key_shift_embed: ture

use_speed_embed: ture

augmentation_args:

  random_pitch_shifting:

    enabled: ture

    range: [-5., 5.]

    scale: 1.0

  fixed_pitch_shifting:

    enabled: false

    targets: [-5., 5.]

    scale: 0.75

  random_time_stretching:

    enabled: ture

    range: [0.5, 2.]

    domain: log  # or linear

    scale: 1.0

residual_channels: 512

residual_layers: 20

optimizer_args:

  lr: 0.0004

lr_scheduler_args:

  scheduler_cls: torch.optim.lr_scheduler.StepLR

  step_size: 5000

  gamma: 0.5

max_batch_frames: 100000   #根据数据和设备调整越大越好,感觉数据少于反倒太高运行不了3000条数据可以调100000但300条只能调70000

max_batch_size: 64         #bs,较⼤的bs在训练时消耗更多的 GPU 内存,不能太小,我看默认是48

max_updates: 32000000       # 即截至step

num_valid_plots: 10                  

val_with_vocoder: true               

val_check_interval: 1000                 #每多少保存一次

num_ckpt_keep: 2                        #模型保存个数

permanent_ckpt_start: 100         #永久ckpt 保存起始step

permanent_ckpt_interval: 40000

pl_trainer_devices: 'auto'

pl_trainer_precision: '16-mixed'                #精度选择 ,默认的是32-true可选




训练的评论 (共 条)

分享到微博请遵守国家法律