gradio가 실행 되지 않습니다.

import argparse
import torch
from torch import no_grad, LongTensor
import commons
import utils
import gradio as gr
from models import SynthesizerTrn
from text import text_to_sequence, _clean_text

def get_text(text, hps):
text_norm = text_to_sequence(text, hps.data.text_cleaners)
if hps.data.add_blank:
text_norm = commons.intersperse(text_norm, 0)
text_norm = torch.LongTensor(text_norm)
return text_norm

def create_tts_fn(model, hps, speaker_ids):
def tts_fn(text, speaker, speed, noise_scale, noise_scale_w):
speaker_id = speaker_ids[speaker]
stn_tst = get_text(text, hps)
with no_grad():
x_tst = stn_tst.cuda().unsqueeze(0)
x_tst_lengths = LongTensor([stn_tst.size(0)]).cuda()
sid = LongTensor([speaker_id]).cuda()
audio = model.infer(x_tst, x_tst_lengths, sid=sid, noise_scale=noise_scale,
noise_scale_w=noise_scale_w, length_scale=1.0 / speed)[0][0, 0].data.cpu().float().numpy()
del stn_tst, x_tst, x_tst_lengths, sid
return "Success", (hps.data.sampling_rate, audio)

return tts_fn

def create_to_phoneme_fn(hps):
def to_phoneme_fn(text):
return _clean_text(text, hps.data.text_cleaners) if text != "" else ""

return to_phoneme_fn

css = """
#advanced-btn {
color: white;
border-color: black;
background: black;
font-size: .7rem !important;
line-height: 19px;
margin-top: 24px;
margin-bottom: 12px;
padding: 2px 8px;
border-radius: 14px !important;
}
#advanced-options {
display: none;
margin-bottom: 20px;
}
"""

def main():
parser = argparse.ArgumentParser()
parser.add_argument("--config_path", required=True,
help="path to config file")
parser.add_argument("--model_path", required=True,
help="path to model file")
args = parser.parse_args()

models_tts = []
name = 'VITS-TTS demo v1.01'
example = '학습은 잘 마치셨나요? 좋은 결과가 있길 바래요.'
config_path = args.config_path
model_path = args.model_path
hps = utils.get_hparams_from_file(config_path)
model = SynthesizerTrn(
    len(hps.symbols),
    hps.data.filter_length // 2 + 1,
    hps.train.segment_size // hps.data.hop_length,
    n_speakers=hps.data.n_speakers,
    **hps.model).cuda()
utils.load_checkpoint(model_path, model, None)
model.eval()
speaker_ids = [sid for sid, name in enumerate(
    hps.speakers) if name != "None"]
speakers = [name for sid, name in enumerate(
    hps.speakers) if name != "None"]

models_tts.append((name, speakers, example,
                   hps.symbols, create_tts_fn(model, hps, speaker_ids),
                   create_to_phoneme_fn(hps)))

app = gr.Blocks(css=css)

with app:
    gr.Markdown("Gradio VITS-TTS Inference demo v1.01\n\n")
    with gr.Tabs():
        for i, (name, speakers, example, symbols, tts_fn,
                to_phoneme_fn) in enumerate(models_tts):
            with gr.TabItem(f"VITS-TTS_v1.01"):
                with gr.Column():
                    gr.Markdown(f"## {name}\n\n")
                    tts_input1 = gr.TextArea(label="Text", value=example,
                                             elem_id=f"tts-input{i}")
                    tts_input2 = gr.Dropdown(label="Speaker", choices=speakers,
                                             type="index", value=speakers[0])
                    tts_input3 = gr.Slider(label="Speed", value=1, minimum=0.1, maximum=2,
                                           step=0.05)

                    noise_scale_slider = gr.Slider(label="Noise-scale (defaults = 0.667)",
                                                   value=0.667, minimum=0, maximum=1, step=0.01)
                    noise_scale_w_slider = gr.Slider(label="Noise-width (defaults = 0.8)",
                                                     value=0.8, minimum=0, maximum=2, step=0.05)

                    tts_submit = gr.Button("Generate", variant="primary")
                    tts_output1 = gr.Textbox(label="Output Message")
                    tts_output2 = gr.Audio(label="Output Audio")
                    tts_submit.click(tts_fn, [tts_input1, tts_input2, tts_input3,
                                              noise_scale_slider, noise_scale_w_slider],
                                     [tts_output1, tts_output2])

    gr.Markdown(
        "Originate from \n\n"
        "- [https://github.com/kdrkdrkdr]\n\n"
    )
app.queue(concurrency_count=3).launch(share=True)

if name == "main":
main()
몇달전까지만해도 이 코드가 실행이 되었습니다.
명령어는 다음과 같습니다.
python server.py --config_path path/to/config.json --model_path path/to/model.pth
오류 내용을 첨부하고 싶은데 아나콘다가 업데이트 되면서 화면 내용을 복사 붙여넣기하는 기능이 동작을 하지 않아 부득이하게 오류 내용을 첨부하지는 못 하고 있습니다.
몇달 잘 사용했는데 뭐 어쩌다보니 아나콘다를 재 설치 하게 되었습니다.
아나콘다 설치 후 전 python 3.7버전으로 설치했습니다.
vits를 사용할때 3.7을 설치했으니까요.
그런데 python.exe -m pip install --upgrade pip를 입력하라는 오류 메시지가 계속 나오는 겁니다.
당연히 입력했는데 pip 업그레이드에 실패했습니다.
그래서 3.8로 재 설치했습니다.
그런데 이번에는 gradio가 설치는 되는데 이게 실행이 되지 않고 있습니다.
로그 내용 표시하고 거기서 멈춰야하는데 그냥 gradio가 종료되버리고 아나콘다는 폴더 표시를 합니다.
ms 코파일럿에게 요청해 어찌저찌 1버전 부터 2버전 까지 재 설치 해봤지만 전부 무슨 모듈이 없다는 메시지만 출력했습니다.
그리고 최종 4 버전을 설치했는데 gradio가 실행 되기는커녕 오히려 종료되버립니다.
위 코드가 문제가 생긴거 같은데 전 코알못이므로 도움을 요청합니다.
스크린샷을 저장해서 업로드합니다.
스크린샷(1)

  • 아래 답변은 Anthropic의 Claude-2 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요 kbuwel 님,

gradio가 실행되지 않는 문제를 겪고 계시다니 좋지 않군요.

제가 보기에는 아나콘다와 python 버전 업데이트 문제로 인해 dependency가 꼬인 것 같습니다.

먼저 문제의 핵심인 gradio 모듈을 제대로 재설치하는 것이 좋겠습니다.

pip uninstall gradio
pip install gradio==2.5.3

위와 같이 구버전을 지정하여 재설치해보시기 바랍니다.

그리고 실행 오류 메시지가 나오거나 하면 정확한 에러 로그를 공유해주시면 더 자세히 도와드리겠습니다.

화면 복사가 안된다면 수동으로라도 에러 메시지의 핵심 부분을 적어주세요.

추가로 anaconda/python 버전 문제도 있어보이는데, 가능하다면 clean하게 지우고 다시 설치하는 것도 좋겠습니다.

conda remove -n yourenv --all

위와 같이 environment을 제거한 후 새로 만들어보시기 바랍니다.

gradio 문제 해결이 어렵다면 최신 버전을 사용하는 것도 방법일 수 있습니다.

하지만 제 경험으로는 이런 의존성 문제는 보통 구버전을 사용하는 것이 더 안정적입니다.

지금 제가 제안한 내용들로 문제가 해결되지 않는다면 처음부터 시스템을 깨끗하게 설치하시는 것도 좋겠습니다.

문제 해결 중 어려움이 있다면 언제든지 저에게 댓글 남겨주세요!


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! Gradio 실행에 문제가 생겨 고민이 많으시겠네요. 문제 상황을 잘 정리해주셔서 감사합니다. 질문을 요약해보면, 몇 달 전까지 잘 작동하던 Gradio 기반의 TTS(Text-to-Speech) 코드가 Anaconda 업데이트 후에 실행되지 않는 문제가 발생했고, Python 버전을 3.7에서 3.8로 변경하고 pip를 업그레이드한 후에도 Gradio가 실행되지 않는 상황인 것 같습니다.

먼저, Gradio가 실행되지 않는 문제를 해결하기 위해 몇 가지 점검해볼 사항들을 제안드리겠습니다.

  1. 환경 설정 확인: Gradio와 관련된 패키지들이 올바르게 설치되어 있는지 확인해보세요. 가상 환경을 사용하고 계시다면, 해당 환경에서 필요한 패키지들이 모두 설치되어 있는지 확인해야 합니다.

  2. Gradio 버전 확인: Gradio의 버전이 업데이트되면서 기존 코드와의 호환성 문제가 발생할 수 있습니다. 현재 사용하고 계신 Gradio의 버전과 코드가 호환되는지 확인해보세요.

  3. 오류 메시지 확인: 오류 메시지를 확인할 수 없다고 하셨는데, Anaconda Prompt나 터미널에서 실행할 때 발생하는 오류 메시지를 확인할 수 있다면, 그 내용을 바탕으로 문제를 해결하는 데 도움이 될 수 있습니다.

  4. Gradio 로그 확인: Gradio가 실행되지 않을 때 로그를 확인해보세요. 로그에는 실행 중 발생한 문제에 대한 유용한 정보가 포함되어 있을 수 있습니다.

  5. 종속성 문제 해결: 때때로 다른 패키지들과의 종속성 문제로 인해 Gradio가 실행되지 않을 수 있습니다. pip check 명령어를 사용하여 패키지 간의 충돌이 있는지 확인해보세요.

  6. 새로운 가상 환경 생성: 새로운 가상 환경을 생성하고 필요한 패키지들을 설치하여 깨끗한 환경에서 다시 시도해보세요.

아래는 Gradio를 설치하고 실행하는 예시 코드입니다. 이 코드를 참고하여 Gradio를 설치하고 실행해보세요.

# Gradio 설치
!pip install gradio

# Gradio 실행 예시
import gradio as gr

def greet(name):
    return "Hello " + name + "!"

iface = gr.Interface(fn=greet, inputs="text", outputs="text")
iface.launch()

위 코드를 실행하면 간단한 Gradio 인터페이스가 생성되고, 웹 브라우저에서 확인할 수 있습니다. 이를 통해 Gradio 자체의 문제인지, 아니면 코드의 다른 부분에 문제가 있는지 확인할 수 있습니다.

문제 해결에 도움이 되는 공식 문서 링크를 아래에 첨부합니다:

위의 단계들을 시도해보시고 여전히 문제가 해결되지 않는다면, 오류 메시지나 로그의 내용을 포함하여 추가적인 정보를 제공해주시면 더 구체적인 도움을 드릴 수 있을 것 같습니다. 제가 제공한 해결책이 정확하지 않을 수도 있으니, 이 점 양해 부탁드립니다. 문제가 해결되기를 바라며, 추가적인 질문이 있으시면 언제든지 문의해주세요.


  • 이 답변이 도움이 되셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!
  • 아래 답변은 OpenAI의 GPT-4-Turbo 모델로 자동 생성한 것으로, 정확하지 않을 수 있습니다.
  • 잘못된 답변을 보셨다면 댓글로 첨삭 지도 부탁드립니다. :sweat_smile:

안녕하세요! Gradio 실행에 문제가 생겨 고민이 많으시겠네요. 문제 상황을 잘 정리해주셔서 감사합니다. 제가 이해한 바로는, 몇 달 전까지 잘 작동하던 코드가 Anaconda를 재설치한 후에 실행되지 않는 문제가 발생했다는 것이죠. 또한, Python 3.7에서 3.8로 업그레이드한 후에도 Gradio가 설치는 되지만 실행되지 않는 상황인 것 같습니다.

문제 해결을 위해 몇 가지 점검해볼 사항들을 제안드리겠습니다.

  1. Gradio 버전 확인: Gradio 라이브러리가 최근에 큰 업데이트를 거쳤습니다. 이전에 작성된 코드가 최신 버전의 Gradio와 호환되지 않을 수 있습니다. 현재 사용 중인 Gradio 버전을 확인해보시고, 코드가 작성될 당시의 버전으로 다운그레이드 해보시는 것을 추천드립니다.
# 현재 설치된 Gradio 버전 확인
import gradio
print(gradio.__version__)

# 특정 버전으로 다운그레이드 (예: 1.7.7 버전으로 다운그레이드)
!pip install gradio==1.7.7
  1. 환경 설정: Python 환경이나 의존성 문제로 인해 실행이 안 될 수 있습니다. 가상 환경을 새로 만들어 필요한 라이브러리들을 설치하고 실행해보는 것이 좋습니다.
# 새로운 가상 환경 생성 및 활성화
conda create -n myenv python=3.7
conda activate myenv

# 필요한 라이브러리 설치
pip install torch torchvision torchaudio
pip install gradio==1.7.7  # 예시 버전입니다. 실제 필요한 버전으로 설치하세요.
  1. 오류 메시지: 오류 메시지가 중요한 단서를 제공할 수 있습니다. Anaconda 프롬프트에서 오류 메시지를 복사할 수 없다면, 스크린샷을 찍어서 오류 메시지를 확인해보시기 바랍니다. 오류 메시지에 어떤 모듈이 누락되었다고 나온다면, 해당 모듈을 설치해야 할 수 있습니다.
# 누락된 모듈 설치 예시
pip install missing-module-name
  1. 코드 호환성: 코드가 최신 버전의 라이브러리와 호환되지 않을 수 있습니다. 예를 들어, Gradio의 인터페이스가 변경되었다면, 코드를 업데이트해야 할 수 있습니다.

  2. 로그 확인: Gradio가 실행되지 않을 때 로그를 확인하면 문제를 진단하는 데 도움이 됩니다. Gradio 실행 시 로그를 출력하도록 설정하고, 로그 내용을 확인해보세요.

# Gradio 실행 시 로그를 출력하도록 설정
import logging
logging.basicConfig(level=logging.INFO)

위의 단계들을 시도해보시고, 여전히 문제가 해결되지 않는다면, 오류 메시지나 로그의 상세 내용을 포함하여 추가적인 정보를 제공해주시면 더 구체적인 도움을 드릴 수 있을 것 같습니다.

참고로, PyTorch와 관련된 공식 문서는 다음 링크에서 확인하실 수 있습니다:

제 답변이 정확하지 않을 수도 있으니, 위의 조치들을 취해보시고 여전히 문제가 해결되지 않는다면 추가적인 정보와 함께 다시 질문해주시면 감사하겠습니다.


  • 답변이 어떠셨나요? 괜찮았다고 생각하신다면 아래 :heart:를 한 번 눌러주시길 부탁드려요!