axinc-ai / ailia-models

The collection of pre-trained, state-of-the-art AI models for ailia SDK
2.04k stars 325 forks source link

ADD crepe tiny #1206

Closed kyakuno closed 1 year ago

kyakuno commented 1 year ago

crepeにはtinyモデルもあるようなのでエクスポートしてみる。 https://github.com/maxrmorrison/torchcrepe

kyakuno commented 1 year ago

RTX3080 + cudnnにおけるbatch_size=512の推論時間

torch full : 2156ms 219ms 218ms torch tiny : 1833ms 121ms 125ms

kyakuno commented 1 year ago

ailia SDK 1.2.15 + cudnnにおけるbatch_size=512の推論時間

ailia full : 2423ms 125ms 124ms

kyakuno commented 1 year ago

cuDNNでcrepeが遅く見えるのはbatch_sizeが変化してインスタンスの再確保が発生するための模様。

kyakuno commented 1 year ago

exportコード

    global onnx_export
    if onnx_export:
        torch.onnx.export(infer.model, frames, 'crepe_tiny.onnx', verbose=True, opset_version=11,
                              input_names=["input"],
                                output_names=["output"],
                                dynamic_axes={
                                    'input': {0: 'n'}
                                },
                          )
        onnx_export = False
kyakuno commented 1 year ago

macOS MPS

tiny : 586ms 466ms 475ms full : 4570ms 4357ms 4348ms

kyakuno commented 1 year ago

エクスポートしたモデルをアップロード https://storage.googleapis.com/ailia-models/rvc/crepe_tiny.onnx https://storage.googleapis.com/ailia-models/rvc/crepe_tiny.onnx.prototxt

kyakuno commented 1 year ago

RVC Clientの方はcrepe_tinyに対応している。 https://github.com/w-okada/voice-changer/blob/master/tutorials/tutorial_rvc_ja_latest.md