RVC-Project / RVC-Project/Retrieval-based-Voice-Conversion-WebUI

'NoneType' object has no attribute 'tobytes'

Open
#2,413 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
38.4k
Forks
5.3k
PR merge metrics
No merged PRs in 30d

Description

按照github readme操作之后,报错如下:

环境说明:
系统:win11
cuda版本:12.4
显卡:nvdia 4090 24G

2024-12-16 20:49:48 | WARNING | infer.modules.vc.modules | Traceback (most recent call last):
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\modules\vc\modules.py", line 188, in vc_single
    audio_opt = self.pipeline.pipeline(
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\modules\vc\pipeline.py", line 354, in pipeline
    pitch, pitchf = self.get_f0(
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\modules\vc\pipeline.py", line 154, in get_f0
    f0 = self.model_rmvpe.infer_from_audio(x, thred=0.03)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\lib\rmvpe.py", line 605, in infer_from_audio
    hidden = self.mel2hidden(mel)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\lib\rmvpe.py", line 584, in mel2hidden
    hidden = self.model(mel)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1736, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1747, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\lib\rmvpe.py", line 410, in forward
    x = self.fc(x)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1736, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1747, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\container.py", line 250, in forward
    input = module(input)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1736, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1747, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\infer\lib\rmvpe.py", line 174, in forward
    return self.gru(x)[0]
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1736, in _wrapped_call_impl
    return self._call_impl(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\module.py", line 1747, in _call_impl
    return forward_call(*args, **kwargs)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\torch\nn\modules\rnn.py", line 1392, in forward
    result = _VF.gru(
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_SUPPORTED. This error may appear if you passed in a non-contiguous input.

Traceback (most recent call last):
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\gradio\routes.py", line 437, in run_predict
    output = await app.get_blocks().process_api(
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\gradio\blocks.py", line 1349, in process_api
    data = self.postprocess_data(fn_index, result["prediction"], state)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\gradio\blocks.py", line 1283, in postprocess_data
    prediction_value = block.postprocess(prediction_value)
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\gradio\components.py", line 2586, in postprocess
    file_path = self.audio_to_temp_file(
  File "D:\code\open\Retrieval-based-Voice-Conversion-WebUI\venv\lib\site-packages\gradio\components.py", line 360, in audio_to_temp_file
    temp_dir = Path(dir) / self.hash_bytes(data.tobytes())
AttributeError: 'NoneType' object has no attribute 'tobytes'

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with infer/modules/vc/modules.py at vc_single, then trace the call through infer/modules/vc/pipeline.py:get_f0 and infer/lib/rmvpe.py, where the cuDNN GRU error occurs. Reproduce the reported Windows 11, CUDA 12.4, RTX 4090 setup and determine why inference returns None; done means the original cuDNN failure and the secondary Gradio tobytes error no longer occur.

Written by the indexing model from the issue text.

Assessment

Tech stack
python, pytorch
Domain
audio-video-rtc, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.