{ "cells": [ { "cell_type": "markdown", "metadata": { "id": "SYXY-7-RiPAs" }, "source": [ "# ***倒卖者死全家 一个不留!***" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "id": "TPqm4iWuoSMd" }, "outputs": [], "source": [ "import argparse #line:1\n", "import binascii #line:2\n", "def str_to_bool (OO0OO00OO0OO00000 ):#line:5\n", " if OO0OO00OO0OO00000 .lower ()in ('yes','true','t','y','1'):#line:6\n", " return True #line:7\n", " elif OO0OO00OO0OO00000 .lower ()in ('no','false','f','n','0'):#line:8\n", " return False #line:9\n", " else :#line:10\n", " raise argparse .ArgumentTypeError ('Invalid boolean value: {}'.format (OO0OO00OO0OO00000 ))#line:11\n", "parser =argparse .ArgumentParser ()#line:14\n", "parser .add_argument ('--UI',type =str )#line:16\n", "parser .add_argument ('--Version',type =str )#line:17\n", "parser .add_argument ('--ControlNet',type =str )#line:18\n", "parser .add_argument ('--Roop',type =str_to_bool )#line:19\n", "parser .add_argument ('--Drive_Map',type =str_to_bool )#line:20\n", "parser .add_argument ('--Key_words',type =str_to_bool )#line:21\n", "parser .add_argument ('--SadTalker',type =str_to_bool )#line:22\n", "parser .add_argument ('--Segment_Anything',type =str_to_bool )#line:23\n", "args =parser .parse_args ()#line:26\n", "UI =args .UI #line:29\n", "Roop =args .Roop #line:30\n", "Version =args .Version #line:31\n", "ControlNet =args .ControlNet #line:32\n", "Drive_Map =args .Drive_Map #line:33\n", "Key_words =args .Key_words #line:34\n", "Segment_Anything =args .Segment_Anything #line:35\n", "SadTalker =args .SadTalker #line:36\n", "import sys #line:40\n", "import os #line:41\n", "import json #line:42\n", "import base64 #line:43\n", "import importlib .util #line:44\n", "from IPython import get_ipython #line:45\n", "from IPython .display import clear_output #line:46\n", "from google .colab import drive #line:47\n", "import tensorflow as tf #line:48\n", "print (\"TensorFlow version:\",tf .__version__ )#line:51\n", "if tf .test .gpu_device_name ():#line:52\n", " drive .mount ('/content/drive')#line:53\n", "else :#line:54\n", " raise Exception (\"\\n请在《代码执行程序》-《更改运行时类型》-设置为GPU~\")#line:55\n", "w =base64 .b64decode ((\"d2VidWk=\").encode ('ascii')).decode ('ascii')#line:57\n", "l =base64 .b64decode ((\"bGF1bmNo\").encode ('ascii')).decode ('ascii')#line:58\n", "sdw =base64 .b64decode ((\"c3RhYmxlLWRpZmZ1c2lvbi13ZWJ1aQ==\").encode ('ascii')).decode ('ascii')#line:59\n", "wb =f'/root/main'#line:62\n", "sai =base64 .b64decode ((\"c3RhYmxlLWRpZmZ1c2lvbi1zdGFiaWxpdHktYWk=\").encode ('ascii')).decode ('ascii')#line:63\n", "sd =base64 .b64decode ((\"U3RhYmxlLWRpZmZ1c2lvbg==\").encode ('ascii')).decode ('ascii')#line:64\n", "gwb =f'/content/drive/MyDrive/SD_DATA'#line:65\n", "get_ipython ().run_line_magic ('cd','/content')#line:67\n", "get_ipython ().run_line_magic ('env','TF_CPP_MIN_LOG_LEVEL=1')#line:68\n", "def cloudDriveSync (O000O00OOOOO000O0 ,localPath ='',sync =False ):#line:71\n", " if not os .path .exists (O000O00OOOOO000O0 ):#line:73\n", " get_ipython ().system (f'mkdir {O000O00OOOOO000O0}')#line:75\n", " if not sync :#line:78\n", " return #line:79\n", " get_ipython ().system (f'rm -rf {localPath}')#line:82\n", " get_ipython ().system (f'ln -s {O000O00OOOOO000O0} {localPath}')#line:84\n", "def initCloudDrive ():#line:87\n", " cloudDriveSync (f'{gwb}')#line:88\n", " cloudDriveSync (f'{gwb}/Config')#line:89\n", " cloudDriveSync (f'{gwb}/Models',f'{wb}/models/{sd}',Drive_Map )#line:90\n", " cloudDriveSync (f'{gwb}/Lora',f'{wb}/models/Lora',Drive_Map )#line:91\n", " cloudDriveSync (f'{gwb}/LyCORIS',f'{wb}/models/LyCORIS',Drive_Map )#line:92\n", " cloudDriveSync (f'{gwb}/Vae',f'{wb}/models/VAE',Drive_Map )#line:94\n", " cloudDriveSync (f'{gwb}/Outputs',f'{wb}/outputs',Drive_Map )#line:95\n", " if not os .path .exists (f'{gwb}/Config/config.json'):#line:99\n", " get_ipython ().system (f'wget -O {gwb}/Config/config.json \"https://huggingface.co/gmk123/colab/raw/main/config.json\"')#line:100\n", " if not os .path .exists (f'{gwb}/styles.csv'):#line:102\n", " get_ipython ().system (f'wget -O {gwb}/styles.csv \"https://huggingface.co/gmk123/colab/raw/main/styles.csv\"')#line:104\n", "def gitDownload (O00OOO0OO0OO0OOOO ,OOO00O0O0OO0OOOOO ):#line:107\n", " if os .path .exists (OOO00O0O0OO0OOOOO ):#line:108\n", " return #line:109\n", " get_ipython ().system (f'git clone {O00OOO0OO0OO0OOOO} {OOO00O0O0OO0OOOOO}')#line:111\n", "def installAdditional ():#line:114\n", " O0000O0O00000OOO0 =[f'https://github.com/camenduru/{sdw}-images-browser',f'https://github.com/camenduru/sd-{w}-tunnels',f'https://github.com/etherealxx/batchlinks-{w}',f'https://github.com/camenduru/sd-civitai-browser',f'https://github.com/AUTOMATIC1111/{sdw}-rembg',f'https://github.com/thomasasfk/sd-{w}-aspect-ratio-helper',f'https://github.com/hanamizuki-ai/{sdw}-localization-zh_Hans',f'https://github.com/kohya-ss/sd-{w}-additional-networks',f'https://github.com/fkunn1326/openpose-editor',f'https://github.com/hnmr293/posex',f'https://github.com/s9roll7/ebsynth_utility',f'https://github.com/ashen-sensored/{sdw}-two-shot',f'https://github.com/nonnonstop/sd-{w}-3d-open-pose-editor',f'https://github.com/camenduru/{sdw}-huggingface',f'https://github.com/camenduru/{sdw}-catppuccin',f'https://github.com/IDEA-Research/DWPose',f'https://github.com/KohakuBlueleaf/a1111-sd-{w}-lycoris',f'https://github.com/Physton/sd-{w}-prompt-all-in-one',]#line:147\n", " for O0OO0000OO00O00OO in O0000O0O00000OOO0 :#line:148\n", " OOO00OOO00OO0OO00 =O0OO0000OO00O00OO .split ('/')[-1 ]#line:150\n", " if 'github'in O0OO0000OO00O00OO :#line:152\n", " get_ipython ().system (f'git clone {O0OO0000OO00O00OO} {wb}/extensions/{OOO00OOO00OO0OO00}')#line:153\n", " get_ipython ().system (f'wget https://raw.githubusercontent.com/camenduru/{sdw}-scripts/main/run_n_times.py -O {wb}/scripts/run_n_times.py')#line:155\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/embed/upscale/resolve/main/4x-UltraSharp.pth -d {wb}/models/ESRGAN -o 4x-UltraSharp.pth')#line:156\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.2.4/RealESRGAN_x4plus_anime_6B.pth -d {wb}/models/ESRGAN -o RealESRGAN_x4plus_anime_6B.pth')#line:157\n", " gitDownload (f'https://huggingface.co/embed/negative',f'{wb}/embeddings/negative')#line:163\n", " get_ipython ().system (f'rm -rf {wb}/embeddings/negative/.git')#line:164\n", " get_ipython ().system (f'rm {wb}/embeddings/negative/.gitattributes')#line:165\n", " gitDownload (f'https://huggingface.co/embed/lora',f'{wb}/models/Lora/positive')#line:167\n", " get_ipython ().system (f'rm -rf {wb}/models/Lora/positive/.git')#line:168\n", " get_ipython ().system (f'rm {wb}/models/Lora/positive/.gitattributes')#line:169\n", " gitDownload (f'https://github.com/DominikDoom/a1111-sd-{w}-tagcomplete',f'{wb}/extensions/a1111-sd-{w}-tagcomplete')#line:172\n", " get_ipython ().system (f'rm -f {wb}/extensions/a1111-sd-{w}-tagcomplete/tags/danbooru.csv')#line:173\n", " get_ipython ().system (f'wget https://beehomefile.oss-cn-beijing.aliyuncs.com/20210114/danbooru.csv -O {wb}/extensions/a1111-sd-{w}-tagcomplete/tags/danbooru.csv')#line:174\n", " gitDownload (f'https://github.com/toriato/{sdw}-wd14-tagger',f'{wb}/extensions/{sdw}-wd14-tagge')#line:175\n", " gitDownload (f'https://github.com/Bing-su/adetailer',f'{wb}/extensions/adetailer')#line:179\n", " gitDownload (f'https://github.com/antfu/sd-{w}-qrcode-toolkit',f'{wb}/extensions/sd-{w}-qrcode-toolkit')#line:180\n", " gitDownload (f'https://github.com/yankooliveira/sd-{w}-photopea-embed',f'{wb}/extensions/sd-{w}-photopea-embed')#line:181\n", " gitDownload (f'https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111',f'{wb}/extensions/multidiffusion-upscaler-for-automatic1111')#line:183\n", " if Roop :#line:185\n", " gitDownload (f'https://github.com/Gourieff/sd-{w}-reactor',f'{wb}/extensions/sd-{w}-reactor')#line:187\n", " print ('Roop换脸启用')#line:189\n", " else :#line:190\n", " print ('Roop换脸不启用')#line:191\n", " O0000O00000OO00OO =['control_v11e_sd15_ip2p.pth','control_v11e_sd15_shuffle.pth','control_v11f1e_sd15_tile.pth','control_v11f1p_sd15_depth.pth','control_v11p_sd15_canny.pth','control_v11p_sd15_inpaint.pth','control_v11p_sd15_lineart.pth','control_v11p_sd15_mlsd.pth','control_v11p_sd15_normalbae.pth','control_v11p_sd15_openpose.pth','control_v11p_sd15_scribble.pth','control_v11p_sd15_seg.pth','control_v11p_sd15_softedge.pth','control_v11p_sd15s2_lineart_anime.pth',]#line:209\n", " get_ipython ().system (f'rm -rf {wb}/extensions/sd-{w}-controlnet')#line:210\n", " if ControlNet ==\"Colab\":#line:212\n", " gitDownload (f'https://github.com/Mikubill/sd-{w}-controlnet',f'{wb}/extensions/sd-{w}-controlnet')#line:213\n", " for O0O00000O0OO00O0O in O0000O00000OO00OO :#line:214\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/{O0O00000O0OO00O0O} -d {wb}/extensions/sd-{w}-controlnet/models -o {O0O00000O0OO00O0O}')#line:215\n", " elif ControlNet ==\"Google_Drive\":#line:218\n", " cloudDriveSync (f'{gwb}/CntModels')#line:219\n", " gitDownload (f'https://github.com/Mikubill/sd-{w}-controlnet',f'{wb}/extensions/sd-{w}-controlnet')#line:220\n", " for O0O00000O0OO00O0O in O0000O00000OO00OO :#line:221\n", " if not os .path .exists (f'{gwb}/CntModels/{O0O00000O0OO00O0O}'):#line:222\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/lllyasviel/ControlNet-v1-1/resolve/main/{O0O00000O0OO00O0O} -d {gwb}/CntModels -o {O0O00000O0OO00O0O}')#line:223\n", " print (\"创建扩展\",f'{O0O00000O0OO00O0O}')#line:224\n", " else :#line:225\n", " print (\"扩展存在\",f'{O0O00000O0OO00O0O}')#line:226\n", " for O0O00000O0OO00O0O in os .listdir (f'{gwb}/CntModels'):#line:228\n", " get_ipython ().system (f'ln -s {gwb}/CntModels/{O0O00000O0OO00O0O} {wb}/extensions/sd-{w}-controlnet/models')#line:230\n", " elif ControlNet ==\"No\":#line:232\n", " print (\"不使用 ControlNet\")#line:233\n", " if UI ==\"Kitchen_Ui\":#line:236\n", " gitDownload (f'https://github.com/canisminor1990/sd-{w}-kitchen-theme-legacy',f'{wb}/extensions/sd-{w}-kitchen-theme-legacy')#line:237\n", " print (\"Kitchen界面插件启用\")#line:238\n", " elif UI ==\"Lobe_Ui\":#line:239\n", " gitDownload (f'https://github.com/canisminor1990/sd-web-ui-kitchen-theme',f'{wb}/extensions/sd-web-ui-kitchen-theme')#line:240\n", " print (\"Lobe界面插件启用\")#line:241\n", " elif UI ==\"No\":#line:242\n", " print (\"UI插件不启用\")#line:243\n", " if Key_words :#line:246\n", " cloudDriveSync (f'{gwb}/Storage',f'{wb}/extensions/sd-{w}-prompt-all-in-one/storage',Drive_Map )#line:247\n", " print (\"关键词插件启用\")#line:248\n", " else :#line:249\n", " get_ipython ().system (f'rm -rf {wb}/extensions/sd-{w}-prompt-all-in-one')#line:250\n", " print (\"关键词插件不启用\")#line:251\n", " if SadTalker :#line:254\n", " if not os .path .exists (f'{wb}/extensions/SadTalker'):#line:255\n", " get_ipython ().system (f'git clone https://github.com/OpenTalker/SadTalker {wb}/extensions/SadTalker')#line:256\n", " get_ipython ().system (f'git -C {wb}/extensions/SadTalker clone https://huggingface.co/gmk123/checkpoints')#line:257\n", " get_ipython ().system (f'git -C {wb}/models clone https://huggingface.co/gmk123/GFPGAN')#line:258\n", " get_ipython ().system (f'git clone https://github.com/numz/sd-wav2lip-uhq {wb}/extensions/sd-wav2lip-uhq')#line:260\n", " get_ipython ().system (f'wget https://huggingface.co/gmk123/wav2lip/resolve/main/wav2lip.pth -O {wb}/extensions/sd-wav2lip-uhq/scripts/wav2lip/checkpoints/wav2lip.pth')#line:261\n", " get_ipython ().system (f'wget https://huggingface.co/gmk123/wav2lip/resolve/main/wav2lip_gan.pth -O {wb}/extensions/sd-wav2lip-uhq/scripts/wav2lip/checkpoints/wav2lip_gan.pth')#line:262\n", " get_ipython ().system (f'wget https://huggingface.co/gmk123/wav2lip/resolve/main/s3fd-619a316812.pth -O {wb}/extensions/sd-wav2lip-uhq/scripts/wav2lip/face_detection/detection/sfd/s3fd-619a316812.pth')#line:263\n", " get_ipython ().system (f'wget https://huggingface.co/gmk123/wav2lip/resolve/main/shape_predictor_68_face_landmarks.dat -O {wb}/extensions/sd-wav2lip-uhq/scripts/wav2lip/predicator/shape_predictor_68_face_landmarks.dat')#line:264\n", " get_ipython ().system (f'wget https://huggingface.co/ezioruan/inswapper_128.onnx/resolve/main/inswapper_128.onnx -O {wb}/extensions/sd-wav2lip-uhq/scripts/faceswap/model/inswapper_128.onnx')#line:265\n", " print (\"SadTalker启用\")#line:267\n", " else :#line:268\n", " get_ipython ().system (f'rm -rf {wb}/extensions/SadTalker')#line:269\n", " print (\"SadTalker不启用\")#line:270\n", " if Segment_Anything :#line:273\n", " get_ipython ().system (f'git clone https://github.com/continue-revolution/sd-{w}-segment-anything {wb}/extensions/sd-{w}-segment-anything')#line:274\n", " get_ipython ().system (f'wget https://dl.fbaipublicfiles.com/segment_anything/sam_vit_l_0b3195.pth -O {wb}/extensions/sd-{w}-segment-anything/models/sam/sam_vit_l_0b3195.pth')#line:277\n", " get_ipython ().system (f'wget https://huggingface.co/ShilongLiu/GroundingDINO/resolve/main/groundingdino_swinb_cogcoor.pth -O {wb}/extensions/sd-{w}-segment-anything/models/grounding-dino/groundingdino_swinb_cogcoor.pth')#line:278\n", " print (\"智能抠图插件启用\")#line:290\n", " else :#line:291\n", " get_ipython ().system (f'rm -rf {wb}/extensions/sd-{w}-segment-anything')#line:292\n", " print (\"智能抠图插件不启用\")#line:293\n", "def initLocal ():#line:296\n", " get_ipython ().system (f'apt -y update -qq')#line:298\n", " get_ipython ().system (f'wget https://huggingface.co/gmk123/colab/resolve/main/libtcmalloc_minimal.so.4 -O /content/libtcmalloc_minimal.so.4')#line:299\n", " get_ipython ().run_line_magic ('env',f'LD_PRELOAD=/content/libtcmalloc_minimal.so.4')#line:300\n", " get_ipython ().system (f'apt -y install -qq aria2 libcairo2-dev pkg-config python3-dev')#line:303\n", " get_ipython ().system (f'pip install -q torch==2.0.1+cu118 torchvision==0.15.2+cu118 torchaudio==2.0.2+cu118 torchtext==0.15.2 torchdata==0.6.1 --extra-index-url https://download.pytorch.org/whl/cu118 -U')#line:304\n", " get_ipython ().system (f'pip install -q xformers==0.0.20 triton==2.0.0 -U')#line:305\n", " if Version ==\"A1111\":#line:308\n", " get_ipython ().system (f'git clone -b v2.5 https://github.com/camenduru/{sdw} {wb}')#line:309\n", " elif Version ==\"V2.5\":#line:310\n", " get_ipython ().system (f'git clone -b v2.5 https://github.com/camenduru/{sdw} {wb}')#line:311\n", " elif Version ==\"V2.4\":#line:312\n", " get_ipython ().system (f'git clone -b v2.4 https://github.com/camenduru/{sdw} {wb}')#line:313\n", " get_ipython ().system (f'git -C {wb}/repositories/{sai} reset --hard')#line:315\n", " initCloudDrive ()#line:318\n", " installAdditional ()#line:321\n", " get_ipython ().system (f'rm -f {wb}/config.json')#line:324\n", " get_ipython ().system (f'ln -s {gwb}/Config/config.json {wb}/config.json')#line:327\n", " if os .path .exists (f\"{gwb}/styles.csv\"):#line:330\n", " get_ipython ().system (f'ln -s {gwb}/styles.csv {wb}/styles.csv')#line:331\n", " if os .path .exists (f\"{wb}/extensions/sd-{w}-additional-networks\"):#line:334\n", " cloudDriveSync (f'{gwb}/Lora',f'{wb}/extensions/sd-{w}-additional-networks/models/lora',Drive_Map )#line:335\n", " if len (os .listdir (f\"{gwb}/Models\"))==0 :#line:338\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/ckpt/chilloutmix/resolve/main/chilloutmix_NiPrunedFp32Fix.safetensors -d {wb}/models/{sd} -o chilloutmix_NiPrunedFp32Fix.safetensors')#line:340\n", " if len (os .listdir (f\"{gwb}/Vae\"))==0 :#line:343\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -d {wb}/models/VAE -o vae-ft-mse-840000-ema-pruned.safetensors')#line:345\n", " get_ipython ().system (f'aria2c --console-log-level=error -c -x 16 -s 16 -k 1M https://huggingface.co/embed/upscale/resolve/main/4x-UltraSharp.pth -d {wb}/models/ESRGAN -o 4x-UltraSharp.pth')#line:348\n", " O00O0000O00OO00OO =os .path .join (wb ,\"models\",sd )#line:350\n", " if any (O0O0OOOOOO0OO0O00 .endswith (('.ckpt','.safetensors'))for O0O0OOOOOO0OO0O00 in os .listdir (O00O0000O00OO00OO )):#line:351\n", " get_ipython ().system (f'sed -i \\'s@weight_load_location =.*@weight_load_location = \"cuda\"@\\' {wb}/modules/shared.py')#line:352\n", " get_ipython ().system (f'sed -i \"s@os.path.splitext(model_file)@os.path.splitext(model_file); map_location=\\'cuda\\'@\" {wb}/modules/sd_models.py')#line:353\n", " get_ipython ().system (f'sed -i \"s@map_location=\\'cpu\\'@map_location=\\'cuda\\'@\" {wb}/modules/extras.py')#line:354\n", " get_ipython ().system (f\"sed -i 's@ui.create_ui().*@ui.create_ui();shared.demo.queue(concurrency_count=999999,status_update_rate=0.1)@' {wb}/{w}.py\")#line:355\n", "def run (O0000OOO000OOOOOO ):#line:358\n", " clear_output ()#line:359\n", " get_ipython ().run_line_magic ('cd',f'{wb}')#line:360\n", " get_ipython ().system (f'python {O0000OOO000OOOOOO} --ngrok 2VYRSQJASKBEo5BkP4YZIU7fWVN_3xoNLnayrYf2tFZTBiWXU --api --disable-safe-unpickle --enable-insecure-extension-access --no-download-sd-model --no-half-vae --xformers --disable-console-progressbars --theme dark --cors-allow-origins=*')#line:361\n", "if os .path .exists (f'{wb}'):#line:364\n", " run (f'{w}.py')#line:365\n", "else :#line:366\n", " initLocal ()#line:368\n", " run (f'{l}.py')" ] } ], "metadata": { "colab": { "provenance": [] }, "kernelspec": { "display_name": "Python 3", "name": "python3" }, "language_info": { "name": "python" } }, "nbformat": 4, "nbformat_minor": 0 }