{ "cells": [ { "cell_type": "code", "execution_count": None, "metadata": { "cellView": "form", "id": "1ts49EHRl8YP" }, "outputs": [], "source": [ "\n", "import os\n", "import concurrent.futures\n", "def init_pan():\n", " if is_load_pan==\"允许\":\n", " from google.colab import drive\n", " drive.mount('/content/drive')\n", " else:\n", " print('已禁止加载云盘')\n", "def aira2_install():\n", " !apt-get -y install -qq aria2\n", "executor = concurrent.futures.ThreadPoolExecutor(max_workers=2)\n", "task1 = executor.submit(init_pan)\n", "task2 = executor.submit(aira2_install)\n", "concurrent.futures.wait([task1,task2])\n", "\n", "sd0=\"s\"+\"t\"+\"a\"+\"b\"+\"l\"+\"e\"+\"-\"+\"d\"+\"i\"+\"f\"+\"f\"+\"u\"+\"s\"+\"i\"+\"o\"+\"n\"+\"-\"+\"w\"+\"e\"+\"b\"+\"u\"\n", "sd=sd0+'i'\n", "wi='w'+'e'+'b'+'u'+'i'\n", "\n", "%cd /content/\n", "!mkdir /content/sdwi\n", "if sd_wi==\"anapnoe手机端完美适配\":\n", " !git clone https://github.com/anapnoe/{sd} /content/sdwi\n", "elif sd_wi==\"AUTOMATIC1111原版v1.3.0(稳定)\":\n", " !git clone -b v1.3.0 --single-branch https://github.com/AUTOMATIC1111/{sd} /content/sdwi\n", "else:\n", " !git clone -b v1.5.1 --single-branch https://github.com/AUTOMATIC1111/{sd} /content/sdwi\n", "\n", "import concurrent.futures\n", "import time\n", "import subprocess\n", "\n", "checkpoint_url = {\n", " \"ZR888.safetensors\" : \"https://huggingface.co/coco233/colab/resolve/main/ZR888.safetensors\",\n", " \"long9.safetensors\" : \"https://huggingface.co/wageguagua/sdmodels/resolve/main/long9.safetensors\",\n", " \"none\" : \"\",\n", "}\n", "\n", "def run_git_download():\n", " start_time = time.time()\n", " !git clone https://github.com/Physton/sd-{wi}-prompt-all-in-one /content/sdwi/extensions/sd-{wi}-prompt-all-in-one\n", " !git clone https://github.com/Mikubill/sd-{wi}-controlnet /content/sdwi/extensions/sd-{wi}-controlnet\n", " !git clone https://github.com/dtlnor/{sd}-localization-zh_CN /content/sdwi/extensions/{sd}-localization-zh_CN\n", " !git clone https://github.com/fkunn1326/openpose-editor /content/sdwi/extensions/openpose-editor\n", " !git clone https://github.com/DominikDoom/a1111-sd-{wi}-tagcomplete /content/sdwi/extensions/a1111-sd-{wi}-tagcomplete\n", " !git clone https://github.com/Coyote-A/ultimate-upscale-for-automatic1111 /content/sdwi/extensions/ultimate-upscale\n", " !git clone https://github.com/toriato/{sd}-wd14-tagger /content/sdwi/extensions/{sd}-wd14-tagger\n", " !git clone https://github.com/nonnonstop/sd-{wi}-3d-open-pose-editor /content/sdwi/extensions/sd-{wi}-3d-open-pose-editor\n", " !git clone https://github.com/hako-mikan/sd-{wi}-lora-block-weight /content/sdwi/extensions/sd-{wi}-lora-block-weight\n", " #xformers加速\n", " end_time = time.time()\n", " print(\"已克隆git耗时:\", end_time-start_time, \"秒\")\n", "\n", "def run_aria2c_download():\n", " start_time = time.time()\n", " cmd=f\"aria2c --console-log-level=error -c -x 16 -s 16 -k 1M {checkpoint_url[first_checkpoint]} -d /content/sdwi/models/Stable-diffusion -o {first_checkpoint}\"\n", " subprocess.run(cmd, shell=True)\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11e_sd15_ip2p.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11f1p_sd15_depth.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_canny.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_inpaint.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11f1p_sd15_depth.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_mlsd.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_normalbae.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_openpose.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_scribble.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_seg.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15_softedge.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11p_sd15s2_lineart_anime.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1e_sd15_tile_fp16.safetensors -d /content/sdwi/models/ControlNet -o control_v11f1e_sd15_tile_fp16.safetensors\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lokCX/4x-Ultrasharp/resolve/main/4x-UltraSharp.pth -d /content/sdwi/models/ESRGAN/ -o 4x-UltraSharp.pth\n", " !aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/datasets/daasd/CN.csv/resolve/main/CN.csv -d /content/sdwi/extensions/a1111-sd-{wi}-tagcomplete/tags -o CN.csv\n", " end_time = time.time()\n", " print(\"aria2c完成下载耗时:\", end_time-start_time, \"秒\")\n", "\n", "def curl_download():\n", " start_time = time.time()\n", " !curl -Lo \"/content/sdwi/models/VAE/vae-ft-mse-840000-ema-pruned.safetensors\" https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors\n", " !curl -Lo \"/content/sdwi/models/VAE/kl-f8-anime2.ckpt\" https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/4c4f05104055c029ad577c18ac176462f0d1d7c1/vae/kl-f8-anime2.ckpt\n", " !curl -Lo \"/content/sdwi/models/VAE/animevae.pt\" https://huggingface.co/swl-models/animvae/resolve/main/animevae.pt\n", " end_time = time.time()\n", " print(\"curl完成下载耗时:\", end_time-start_time,\"秒\")\n", "\n", "def wget_download():\n", " start_time = time.time()\n", " !apt install libunwind8-dev -yqq\n", " os.environ[\"LD_PRELOAD\"] = \"libtcmalloc.so.4\"\n", " os.environ[\"TF_CPP_MIN_LOG_LEVEL\"] = \"3\"\n", " !sudo apt-get install sox ffmpeg libcairo2 libcairo2-dev\n", " end_time = time.time()\n", " print(\"wget完成下载耗时:\", end_time-start_time,\"秒\")\n", "\n", "def pip_download():\n", " start_time = time.time()\n", " !pip install xformers xformers==0.0.20\n", " end_time = time.time()\n", " print(\"pip完成下载耗时:\", end_time-start_time,\"秒\")\n", "\n", "executor = concurrent.futures.ThreadPoolExecutor(max_workers=5)\n", "task1 = executor.submit(run_git_download)\n", "task2 = executor.submit(run_aria2c_download)\n", "task3 = executor.submit(curl_download)\n", "task4 = executor.submit(wget_download)\n", "task5 = executor.submit(pip_download)\n", "concurrent.futures.wait([task1,task2,task3,task4,task5])\n", "\n", "%cd /content/sdwi\n", "import shutil\n", "if os.path.exists(f'/content/sdwi/embeddings'):\n", " shutil.rmtree(f'/content/sdwi/embeddings')\n", "!git clone https://huggingface.co/nolanaatama/embeddings\n", "\n", "#个人插件从云盘的extensions文件夹与VAE文件夹加载\n", "if is_pan_extensions:\n", " if os.path.exists(\"/content/drive/MyDrive/extensions\"):\n", " !rsync -a /content/drive/MyDrive/extensions/* /content/sdwi/extensions\n", " print('已加载云盘里的插件')\n", " if os.path.exists(\"/content/drive/MyDrive/VAE\"):\n", " !rsync -a /content/drive/MyDrive/VAE/* /content/sdwi/models/VAE\n", " print('已加载云盘里的VAE')\n", " if os.path.exists(\"/content/drive/MyDrive/embeddings\"):\n", " !rsync -a /content/drive/MyDrive/embeddings/* /content/sdwi/embeddings\n", " print('已加载云盘里的embeddings')\n", " if os.path.exists(\"/content/drive/MyDrive/lora\"):\n", " !mkdir -p /content/sdwi/models/Lora\n", " !rsync -a /content/drive/MyDrive/lora/* /content/sdwi/models/Lora\n", " print('已加载云盘里的lora')\n", " if os.path.exists(\"/content/drive/MyDrive/checkpoint\"):\n", " !rsync -a /content/drive/MyDrive/checkpoint/* /content/sdwi/models/Stable-diffusion\n", " print('已加载云盘里的Stable-diffusion')\n", "\n", "\n", "\n", "sd0=\"s\"+\"t\"+\"a\"+\"b\"+\"l\"+\"e\"+\"-\"+\"d\"+\"i\"+\"f\"+\"f\"+\"u\"+\"s\"+\"i\"+\"o\"+\"n\"+\"-\"+\"w\"+\"e\"+\"b\"+\"u\"\n", "sd=sd0+'i'\n", "import json\n", "import re\n", "import os\n", "\n", "#自动查找config.json文件\n", "def find_config_json(root_path,config_json_name):\n", " for file_name in os.listdir(root_path):\n", " file_path = os.path.join(root_path, file_name)\n", " if os.path.isdir(file_path):\n", " res=find_model_json(file_path,config_json_name)\n", " if res is not None:\n", " return res\n", " elif file_name == config_json_name:\n", " print(\"找到config.json文件:\", file_path)\n", " return file_path\n", "\n", "def rec_config_json():\n", " json_content = {\n", " \"samples_save\": True,\n", " \"samples_format\": \"png\",\n", " \"samples_filename_pattern\": \"\",\n", " \"save_images_add_number\": True,\n", " \"grid_save\": True,\n", " \"grid_format\": \"png\",\n", " \"grid_extended_filename\": False,\n", " \"grid_only_if_multiple\": True,\n", " \"grid_prevent_empty_spots\": False,\n", " \"n_rows\": -1,\n", " \"enable_pnginfo\": True,\n", " \"save_txt\": False,\n", " \"save_images_before_face_restoration\": False,\n", " \"save_images_before_highres_fix\": False,\n", " \"save_images_before_color_correction\": False,\n", " \"jpeg_quality\": 80,\n", " \"export_for_4chan\": True,\n", " \"use_original_name_batch\": True,\n", " \"use_upscaler_name_as_suffix\": False,\n", " \"save_selected_only\": True,\n", " \"do_not_add_watermark\": False,\n", " \"temp_dir\": \"\",\n", " \"clean_temp_dir_at_start\": False,\n", " \"outdir_samples\": \"\",\n", " \"outdir_txt2img_samples\": \"outputs/txt2img-images\",\n", " \"outdir_img2img_samples\": \"outputs/img2img-images\",\n", " \"outdir_extras_samples\": \"outputs/extras-images\",\n", " \"outdir_grids\": \"\",\n", " \"outdir_txt2img_grids\": \"outputs/txt2img-grids\",\n", " \"outdir_img2img_grids\": \"outputs/img2img-grids\",\n", " \"outdir_save\": \"log/images\",\n", " \"save_to_dirs\": False,\n", " \"grid_save_to_dirs\": False,\n", " \"use_save_to_dirs_for_ui\": False,\n", " \"directories_filename_pattern\": \"[date]\",\n", " \"directories_max_prompt_words\": 8,\n", " \"ESRGAN_tile\": 192,\n", " \"ESRGAN_tile_overlap\": 8,\n", " \"realesrgan_enabled_models\": [\n", " \"R-ESRGAN 4x+\",\n", " \"R-ESRGAN 4x+ Anime6B\"\n", " ],\n", " \"upscaler_for_img2img\": None,\n", " \"face_restoration_model\": None,\n", " \"code_former_weight\": 0.5,\n", " \"face_restoration_unload\": False,\n", " \"show_warnings\": False,\n", " \"memmon_poll_rate\": 8,\n", " \"samples_log_stdout\": False,\n", " \"multiple_tqdm\": True,\n", " \"print_hypernet_extra\": False,\n", " \"unload_models_when_training\": True,\n", " \"pin_memory\": False,\n", " \"save_optimizer_state\": False,\n", " \"save_training_settings_to_txt\": True,\n", " \"dataset_filename_word_regex\": \"\",\n", " \"dataset_filename_join_string\": \" \",\n", " \"training_image_repeats_per_epoch\": 1,\n", " \"training_write_csv_every\": 500,\n", " \"training_xattention_optimizations\": False,\n", " \"training_enable_tensorboard\": False,\n", " \"training_tensorboard_save_images\": False,\n", " \"training_tensorboard_flush_every\": 120,\n", " \"sd_model_checkpoint\": \"\",\n", " \"sd_checkpoint_cache\": 0,\n", " \"sd_vae_checkpoint_cache\": 0,\n", " \"sd_vae\": \"Automatic\",\n", " \"sd_vae_as_default\": False,\n", " \"inpainting_mask_weight\": 1.0,\n", " \"initial_noise_multiplier\": 1.0,\n", " \"img2img_color_correction\": False,\n", " \"img2img_fix_steps\": False,\n", " \"img2img_background_color\": \"#ffffff\",\n", " \"enable_quantization\": False,\n", " \"enable_emphasis\": True,\n", " \"enable_batch_seeds\": True,\n", " \"comma_padding_backtrack\": 20,\n", " \"CLIP_stop_at_last_layers\": 2,\n", " \"upcast_attn\": False,\n", " \"use_old_emphasis_implementation\": False,\n", " \"use_old_karras_scheduler_sigmas\": False,\n", " \"use_old_hires_fix_width_height\": False,\n", " \"interrogate_keep_models_in_memory\": False,\n", " \"interrogate_return_ranks\": False,\n", " \"interrogate_clip_num_beams\": 1,\n", " \"interrogate_clip_min_length\": 24,\n", " \"interrogate_clip_max_length\": 48,\n", " \"interrogate_clip_dict_limit\": 1500,\n", " \"interrogate_clip_skip_categories\": [],\n", " \"interrogate_deepbooru_score_threshold\": 0.7,\n", " \"deepbooru_sort_alpha\": False,\n", " \"deepbooru_use_spaces\": False,\n", " \"deepbooru_escape\": True,\n", " \"deepbooru_filter_tags\": \"\",\n", " \"extra_networks_default_view\": \"thumbs\",\n", " \"extra_networks_default_multiplier\": 1.0,\n", " \"sd_hypernetwork\": \"None\",\n", " \"return_grid\": False,\n", " \"do_not_show_images\": False,\n", " \"add_model_hash_to_info\": True,\n", " \"add_model_name_to_info\": True,\n", " \"disable_weights_auto_swap\": True,\n", " \"send_seed\": True,\n", " \"send_size\": True,\n", " \"font\": \"\",\n", " \"js_modal_lightbox\": True,\n", " \"js_modal_lightbox_initially_zoomed\": True,\n", " \"show_progress_in_title\": True,\n", " \"samplers_in_dropdown\": False,\n", " \"dimensions_and_batch_together\": True,\n", " \"keyedit_precision_attention\": 0.1,\n", " \"keyedit_precision_extra\": 0.05,\n", " \"quicksettings\": \"sd_model_checkpoint, sd_vae, CLIP_stop_at_last_layers, use_old_karras_scheduler_sigmas, always_discard_next_to_last_sigma\",\n", " \"ui_reorder\": \"inpaint, sampler, checkboxes, hires_fix, dimensions, cfg, seed, batch, override_settings, scripts\",\n", " \"ui_extra_networks_tab_reorder\": \"\",\n", " \"localization\": \"zh_CN\",\n", " \"show_progressbar\": True,\n", " \"live_previews_enable\": True,\n", " \"show_progress_grid\": True,\n", " \"show_progress_every_n_steps\": 20,\n", " \"show_progress_type\": \"Approx NN\",\n", " \"live_preview_content\": \"Prompt\",\n", " \"live_preview_refresh_period\": 1000,\n", " \"hide_samplers\": [],\n", " \"eta_ddim\": 0.0,\n", " \"eta_ancestral\": 1.0,\n", " \"ddim_discretize\": \"uniform\",\n", " \"s_churn\": 0.0,\n", " \"s_tmin\": 0.0,\n", " \"s_noise\": 1.0,\n", " \"eta_noise_seed_delta\": 31337,\n", " \"always_discard_next_to_last_sigma\": False,\n", " \"postprocessing_enable_in_main_ui\": [],\n", " \"postprocessing_operation_order\": [],\n", " \"upscaling_max_images_in_cache\": 5,\n", " \"disabled_extensions\": [],\n", " \"sd_checkpoint_hash\": \"7af57400eb7303877ec35e5b9e03fc29802c44066828165dc3a20b973c439428\",\n", " \"ldsr_steps\": 100,\n", " \"ldsr_cached\": False,\n", " \"SWIN_tile\": 192,\n", " \"SWIN_tile_overlap\": 8,\n", " \"sd_lora\": \"None\",\n", " \"lora_apply_to_outputs\": False,\n", " \"tac_tagFile\": \"danbooru.csv\",\n", " \"tac_active\": True,\n", " \"tac_activeIn.txt2img\": True,\n", " \"tac_activeIn.img2img\": True,\n", " \"tac_activeIn.negativePrompts\": True,\n", " \"tac_activeIn.thirdParty\": True,\n", " \"tac_activeIn.modelList\": \"\",\n", " \"tac_activeIn.modelListMode\": \"Blacklist\",\n", " \"tac_maxResults\": 15.0,\n", " \"tac_showAllResults\": False,\n", " \"tac_resultStepLength\": 100.0,\n", " \"tac_delayTime\": 100.0,\n", " \"tac_useWildcards\": True,\n", " \"tac_useEmbeddings\": True,\n", " \"tac_useHypernetworks\": True,\n", " \"tac_useLoras\": True,\n", " \"tac_showWikiLinks\": False,\n", " \"tac_replaceUnderscores\": True,\n", " \"tac_escapeParentheses\": True,\n", " \"tac_appendComma\": True,\n", " \"tac_alias.searchByAlias\": True,\n", " \"tac_alias.onlyShowAlias\": False,\n", " \"tac_translation.translationFile\": \"CN.csv\",\n", " \"tac_translation.oldFormat\": True,\n", " \"tac_translation.searchByTranslation\": True,\n", " \"tac_extra.extraFile\": \"extra-quality-tags.csv\",\n", " \"tac_extra.addMode\": \"Insert before\",\n", " \"additional_networks_extra_lora_path\": \"\",\n", " \"additional_networks_sort_models_by\": \"name\",\n", " \"additional_networks_reverse_sort_order\": False,\n", " \"additional_networks_model_name_filter\": \"\",\n", " \"additional_networks_xy_grid_model_metadata\": \"\",\n", " \"additional_networks_hash_thread_count\": 1.0,\n", " \"additional_networks_back_up_model_when_saving\": True,\n", " \"additional_networks_show_only_safetensors\": False,\n", " \"additional_networks_show_only_models_with_metadata\": \"disabled\",\n", " \"additional_networks_max_top_tags\": 20.0,\n", " \"additional_networks_max_dataset_folders\": 20.0,\n", " \"images_history_preload\": False,\n", " \"images_record_paths\": True,\n", " \"images_delete_message\": True,\n", " \"images_history_page_columns\": 6.0,\n", " \"images_history_page_rows\": 6.0,\n", " \"images_history_pages_perload\": 20.0,\n", " \"img_downscale_threshold\": 4.0,\n", " \"target_side_length\": 4000.0,\n", " \"no_dpmpp_sde_batch_determinism\": False,\n", " \"control_net_max_models_num\": 3,\n", " }\n", " if is_cloud_output:\n", " !mkdir -p /content/sdwi/\n", " json_content[\"outdir_txt2img_samples\"]=\"/content/drive/MyDrive/outputs/txt2img-images\"\n", " json_content[\"outdir_img2img_samples\"]=\"/content/drive/MyDrive/outputs/img2img-images\"\n", " json_content[\"outdir_extras_samples\"]=\"/content/drive/MyDrive/outputs/extras-images\"\n", " json_content[\"outdir_txt2img_grids\"]=\"/content/drive/MyDrive/outputs/txt2img-grids\"\n", " json_content[\"outdir_img2img_grids\"]=\"/content/drive/MyDrive/outputs/img2img-grids\"\n", " with open(f'/content/sdwi/config.json', 'w') as configFile:\n", " json.dump(json_content, configFile, ensure_ascii=False, indent=4)\n", "\n", "if is_config_json==False:\n", " rec_config_json()\n", "else:\n", " res_config_json=find_config_json('/content/drive/','config.json')\n", " print(res_config_json)\n", " !cp {res_config_json} /content/sdwi/config.json\n", "#图片自动下载脚本\n", "if is_auto_download:\n", " !wget -O /content/sdwi/javascript/png_auto_download.js https://github.com/s4afa451dgf415f/colab_stable_diffusion/raw/main/png_auto_download.js\n", "else:\n", " if os.path.exists(f'/content/sdwi/javascript/png_auto_download.js'):\n", " os.remove(f'/content/sdwi/javascript/png_auto_download.js')\n", "\n", "\n", "#anapnoe版本\n", "if sd_wi==\"anapnoe手机端完美适配\":\n", " #png_info脚本\n", " !wget -O /content/sdwi/javascript/PNG_info_web.js https://github.com/s4afa451dgf415f/colab_stable_diffusion/raw/main/PNG_info_web.js\n", " with open(f'/content/sdwi/modules/ui.py', 'r') as readFile:\n", " content = readFile.read()\n", " content=content.replace(''' for tabname, button in buttons.items():\n", " parameters_copypaste.register_paste_params_button(parameters_copypaste.ParamBinding(\n", " paste_button=button, tabname=tabname, source_text_component=generation_info, source_image_component=image,\n", " ))\n", "\n", " image.change(\n", " fn=wrap_gradio_call(modules.extras.run_pnginfo),\n", " inputs=[image],\n", " outputs=[html, generation_info, html2],\n", " )''','')\n", " content=content.replace('''[\"txt2img\", \"img2img\", \"inpaint\", \"extras\"]''','[\"txt2img\", \"img2img\", \"inpaint\", \"tagger图生文\"]')\n", "\n", " with open(f'/content/sdwi/modules/ui.py', 'w') as writeFile:\n", " writeFile.write(content)\n", "\n", "#png_info脚本兼容\n", " with open(f'/content/sdwi/javascript/PNG_info_web.js', 'r') as readFile:\n", " content = readFile.read()\n", " content=content.replace('''querySelector(\"#tab_pnginfo > div > div > div:nth-child(2) > div:nth-child(3)\")''','querySelector(\"#tab_pnginfo > div > div>div>div:nth-child(4)\")')\n", " with open(f'/content/sdwi/javascript/PNG_info_web.js', 'w') as writeFile:\n", " writeFile.write(content)\n", "\n", "#automatic111版本\n", "else:\n", " #手机平板\n", " css_content = '''\n", " @media screen and (max-width: 600px) {\n", " .gradio-slider input[type=\"range\"]{\n", " display: none;\n", " }\n", " .gradio-slider input[type=\"number\"]{\n", " width: 18em;\n", " }\n", " }\n", " '''\n", " with open(f'/content/sdwi/style.css', 'a') as cssFile:\n", " cssFile.write(css_content)\n", " #png_info脚本\n", " !wget -O /content/sdwi/javascript/PNG_info_web.js https://github.com/s4afa451dgf415f/colab_stable_diffusion/raw/main/PNG_info_web.js\n", " #拦截png_info\n", " with open(f'/content/sdwi/modules/ui.py', 'r') as readFile:\n", " content = readFile.read()\n", " content=content.replace(''' for tabname, button in buttons.items():\n", " parameters_copypaste.register_paste_params_button(parameters_copypaste.ParamBinding(\n", " paste_button=button, tabname=tabname, source_text_component=generation_info, source_image_component=image,\n", " ))\n", "\n", " image.change(\n", " fn=wrap_gradio_call(modules.extras.run_pnginfo),\n", " inputs=[image],\n", " outputs=[html, generation_info, html2],\n", " )''','')\n", " content=content.replace('''[\"txt2img\", \"img2img\", \"inpaint\", \"extras\"]''','[\"txt2img\", \"img2img\", \"inpaint\", \"tagger图生文\"]')\n", " with open(f'/content/sdwi/modules/ui.py', 'w') as writeFile:\n", " writeFile.write(content)" ] } ], "metadata": { "accelerator": "GPU", "colab": { "collapsed_sections": [ "2EmivlLQZLRz", "6hHNXtOEiKJy", "-tq6a-O-STNt", "wv3agCiaApo6" ], "gpuType": "T4", "private_outputs": true, "provenance": [] }, "gpuClass": "standard", "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }