import os, sys import torch import json import gradio as gr from assets.i18n.i18n import I18nAuto from tabs.settings.restart import restart_applio now_dir = os.getcwd() sys.path.append(now_dir) i18n = I18nAuto() ngpu = torch.cuda.device_count() config_file = os.path.join(now_dir, "assets", "config.json") def gpu_available(): if torch.cuda.is_available() or ngpu != 0: return True def load_fake_gpu(): with open(config_file, "r", encoding="utf8") as file: config = json.load(file) return config["fake_gpu"] def save_config(value): with open(config_file, "r", encoding="utf8") as file: config = json.load(file) config["fake_gpu"] = value with open(config_file, "w", encoding="utf8") as file: json.dump(config, file, indent=2) def fake_gpu_tab(): with gr.Row(): with gr.Column(): presence = gr.Checkbox( label=i18n("Enable fake GPU"), info=i18n( "Activates the train tab. However, please note that this device lacks GPU capabilities, hence training is not supported. This option is only for testing purposes. (This option will restart Applio)" ), interactive=True, value=load_fake_gpu(), ) presence.change( fn=toggle, inputs=[presence], outputs=[], ) def toggle(checkbox): save_config(bool(checkbox)) restart_applio()