RVC-Boss / GPT-SoVITS

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)
MIT License
29.25k stars 3.38k forks source link

公链分享的问题 #265

Closed Phrixus2023 closed 5 months ago

Phrixus2023 commented 5 months ago

config.py里的is_share设置为True后还是生成不了公链,不知道是哪里的问题。

RVC-Boss commented 5 months ago

连不上gradio的服务器?

Phrixus2023 commented 5 months ago

连不上gradio的服务器?

应该不是,我分别尝试了开着梯子连接,和替换了gradio的api链接都不行,可能是程序代码的问题。我用fooocus就能正常生成链接。

company8 commented 5 months ago

连不上gradio的服务器?

应该不是,我分别尝试了开着梯子连接,和替换了gradio的api链接都不行,可能是程序代码的问题。我用fooocus就能正常生成链接。

share=True, # Change this to True and you will have a public link

Phrixus2023 commented 5 months ago

连不上gradio的服务器?

应该不是,我分别尝试了开着梯子连接,和替换了gradio的api链接都不行,可能是程序代码的问题。我用fooocus就能正常生成链接。

share=True, # Change this to True and you will have a public link

你这个是webui里改的吗?我改完运行还是没用

company8 commented 5 months ago

连不上gradio的服务器?

应该不是,我分别尝试了开着梯子连接,和替换了gradio的api链接都不行,可能是程序代码的问题。我用fooocus就能正常生成链接。

share=True, # Change this to True and you will have a public link

你这个是webui里改的吗?我改完运行还是没用

Yeah that's how I get a public link for training in the cloud. You would do the same for "inference_webui.py". Just change it to "share=True," at the end of the python script and you should get a public gradio link. There was a another script where you had to edit it in 2 places from "False" to "True" to get a public link but I don't remember the name of the python script.

For webui.py just change share=is_share, to share=True, at the end of the script. For inference_webui.py I just checked, I think on 2 places. "Line 39 is_share = os.environ.get("is_share", "False")" to "is_share = os.environ.get("is_share", "True") and at the bottom of the script share=is_share, to share=True,

Phrixus2023 commented 5 months ago

连不上gradio的服务器?

应该不是,我分别尝试了开着梯子连接,和替换了gradio的api链接都不行,可能是程序代码的问题。我用fooocus就能正常生成链接。

share=True, # Change this to True and you will have a public link

你这个是webui里改的吗?我改完运行还是没用

Yeah that's how I get a public link for training in the cloud. You would do the same for "inference_webui.py". Just change it to "share=True," at the end of the python script and you should get a public gradio link. There was a another script where you had to edit it in 2 places from "False" to "True" to get a public link but I don't remember the name of the python script.

For webui.py just change share=is_share, to share=True, at the end of the script. For inference_webui.py I just checked, I think on 2 places. "Line 39 is_share = os.environ.get("is_share", "False")" to "is_share = os.environ.get("is_share", "True") and at the bottom of the script share=is_share, to share=True,

D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS>runtime\python.exe webui.py Running on local URL: http://0.0.0.0:9874

Setting up a public link... we have recently upgraded the way public links are generated. If you encounter any problems, please report the issue and downgrade to gradio version 3.13.0 .

Could not create share link, please check your internet connection. "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\runtime\python.exe" GPT_SoVITS/inference_webui.py D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\runtime\lib\site-packages\transformers\utils\hub.py:123: FutureWarning: Using TRANSFORMERS_CACHE is deprecated and will be removed in v5 of Transformers. Use HF_HOME instead. warnings.warn( "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\runtime\python.exe" tools/subfix_webui.py --load_list "D:\RVC1006\GPT-SoVITS\raw\xxx.list" --webui_port 9871 --is_share True

Number of parameter: 77.49M Traceback (most recent call last): File "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\tools\subfix_webui.py", line 310, in set_global(args.load_json, args.load_list, args.json_key_text, args.json_key_path, args.g_batch) File "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\tools\subfix_webui.py", line 295, in set_global b_load_file() File "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\tools\subfix_webui.py", line 274, in b_load_file b_load_list() File "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\tools\subfix_webui.py", line 244, in b_load_list with open(g_load_file, 'r', encoding="utf-8") as source: FileNotFoundError: [Errno 2] No such file or directory: 'D:\\RVC1006\\GPT-SoVITS\\raw\\xxx.list' DEBUG:root:Using proactor: IocpProactor DEBUG:root:Using proactor: IocpProactor "D:\BaiduNetdiskDownload\GPT-SoVITS-beta\GPT-SoVITS\runtime\python.exe" tools/uvr5/webui.py "cuda" True 9873 True Running on local URL: http://0.0.0.0:9872 Setting up a public link... we have recently upgraded the way public links are generated. If you encounter any problems, please report the issue and downgrade to gradio version 3.13.0 . Running on local URL: http://0.0.0.0:9873 Setting up a public link... we have recently upgraded the way public links are generated. If you encounter any problems, please report the issue and downgrade to gradio version 3.13.0 . Could not create share link, please check your internet connection. Could not create share link, please check your internet connection. I ended up failing, I don't know what the problem is, my internet should be fine
karry12138 commented 5 months ago

【同样的公链问题】我用的是windows打包版项目,在本地运行,gradio3.14.0 我在修改了config.py中is_share=True后,遇到了同样的问题,但还没能解决。

Could not create share link, please check your internet connection.

(虽然但是,在audodl上用镜像创建的项目能够正常创建公链分享)

1 尝试回退版本

首先,按照报错提示回退到gradio3.13是不行的。在复制粘贴了3.13版本以及其他依赖库到site-package后,本地连接能够启动,但无法创建公链。(中国开发者永远的痛,访问不了gradio服务器)

*** Failed to connect to ec2.gradio.app:22: [WinError 10060] 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连 接尝试失败。

尝试使用warp这个网络连接工具,也不行。

paramiko.ssh_exception.SSHException:Error reading SSH protocol banner
***Failed to connect to ec2.gradio.app:22:Error reading SSH protocol banner

2 尝试在本版本解决

在搜索报错信息后,这个问题似乎和gradio本身有关,新版本的gradio在通过pip安装后不会再自带frpc工具(这是一个反向代理工具,比如gradio目录下的frpc_windows_amd64_v0.2),需要手动下载

karry12138 commented 5 months ago

【喜报,我解决了】 就是gradio3.14.0及之后的版本不包含frpc工具的问题。 【!重要!】请通过查看gradio文件夹下tunneling.py中,VERSION全局变量的值,这决定了你要下载的frpc工具版本。下载不适配此版gradio的frpc,可能导致公链开不起来【!重要!】 但是,你的机器必须要有能够访问外网(gradio服务器)的能力,访问不了也白搭。 外网问题,我使用c l a s h的TUN模式成功了。全局(GLOBAL)和规则(RULE)都不行。

下面是手动下载frpc并装到gradio包里的步骤 参考资料: 1.https://github.com/THUDM/ChatGLM-6B/issues/959 关键信息:

我也遇到一样的问题,有人知道怎么解决么?
只要能访问外网,手动下载frpc工具就好了。比如这个:
/root/miniconda3/lib/python3.9/site-packages/gradio/frpc_linux_amd64_v0.2
路径换成对应的,frpc_linux_amd64_v0.2是从/root/miniconda3/lib/python3.9/site-packages/gradio/tunneling.py文件可以
看出这个文件名。

2.https://blog.csdn.net/qq_42531954/article/details/133901919 关键信息:

Running on local URL: http://127.0.0.1:7860

Could not create share link. Missing file: E:\MyDown\qqdata\374591069\FileRecv\Silent-Face-Anti-Spoofing-master\venv\lib\site-packages\gradio\frpc_windows_amd64_v0.2. 

Please check your internet connection. This can happen if your antivirus software blocks the download of this file. You can install manually by following these steps: 

1. Download this file: [frpc_windows_amd64.exe](https://cdn-media.huggingface.co/frpc-gradio-0.2/frpc_windows_amd64.exe)
2. Rename the downloaded file to: `frpc_windows_amd64_v0.2`
3. Move the file to this location: `E:\venv\lib\site-packages\gradio`

遵从链接1确定你要下载的frpc的版本和系统环境(windows/linux),比如我是win,在gradio文件夹下tunneling.py中确定VERSION = "0.1" 然后根据版本和系统环境到下面的hugglingface下载一个frpc,下载链接源形如

https://cdn-media.huggingface.co/frpc-gradio-0.1/frpc_windows_amd64.exe

其中"0.1"和“windows”按你的来。linux用户把"windows"改成"liunx"。我没试过用0.2行不行。

再遵从链接2将其重命名后塞到gradio文件夹下面就行。

成功开启gradio外链

karry12138 commented 5 months ago

关于外网工具-2:只要能够管得到cmd的流量转发就行。

Phrixus2023 commented 5 months ago

靠,我一直以为他会提示缺少frpc所以根本没考虑,我现在看看,另外我分享给你一个国内我自己用的公链api链接:https://api.videosreel.com/tunnel-request

karry12138 commented 5 months ago

@Phrixus2023 谢啦,虽然我还不会用这个链接() 我看gradio的tunneling.py里确实写了如果找不到frpc工具就会去下载的逻辑,但不知为何没有用。

1706605890248

Phrixus2023 commented 5 months ago

@Phrixus2023谢谢啦,虽然我还不会用这个链接() 我看gradio的tunneling.py里确实写了如果找不到frpc工具就会去下载的逻辑,但不知道为什么没有用。

1706605890248

在netwoking文件里替换链接就行了,我这加了frpc还是不行,我在检查问题

karry12138 commented 5 months ago

感谢。祝你能排查出问题。

Phrixus2023 commented 5 months ago

https://cdn-media.huggingface.co/frpc-gradio-0.1/frpc_windows_amd64.exe

解决了。。。感谢你的详细说明,我一开始是复制的其他版本gradio的frpc,后来我仔细看你的说明,全部按老版本来才成功生成链接。

karry12138 commented 5 months ago

能帮到你就好,我就感觉这里的frpc版本有坑() 我去那条回复里着重强调一下frpc的版本问题

karry12138 commented 5 months ago

不过我也有一个问题。使用你给的api后,我启动此项目的webui和打标webui确实不需要梯子,能开启外链了。但在启动推理webui的时候http请求又从跑到了api.gradio.app上,导致外链生成不出来。有什么使用限制吗?

image

[最后推理webui在本地上运行] image

Phrixus2023 commented 5 months ago

不过我也有一个问题。使用你给的api后,我启动此项目的webui和打标webui确实不需要梯子,能开启外链了。但在启动推理webui的时候http请求又从跑到了api.gradio.app上,导致外链生成不出来。有什么使用限制吗?

image

[最后推理webui在本地上运行] image

没有限制,我刚测试的是你要提前打开所有web页面,全部都生成了公链

微信截图_20240130182620

karry12138 commented 5 months ago

没事了,是GPT_SoVITS/inference_webui.py中的launch函数需要手动添加share参数(藏得还挺深)。我只改了外面的config.py. 感谢分享 image

Phrixus2023 commented 5 months ago

inference_webui.py

inference_webui.py的share参数好像在该文件头部改就行,不用自己添加

karry12138 commented 5 months ago

应该是我用的win打包版比较老,这个部分的webui当时作者没加share参数。我手动加上就好了。难怪只有推理webui没公链。 感谢提示。

【此部分的最新代码,有share参数】 image

licycle commented 5 months ago

linux 上需要加上权限: 进入python环境site-packages/gradio/目录,输入以下命令 chmod +x frpc_linux_amd64_v0.1