| 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() |
|
|