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