don't install cuda, minor polish

This commit is contained in:
Cyberes 2022-11-09 23:28:37 -07:00
parent fccf07e083
commit 5df05050da
1 changed files with 32 additions and 41 deletions

View File

@ -42,9 +42,9 @@
"source": [
"**Where to store the models**\n",
"\n",
"`/storage/` is persistent storage shared across all machines on your account.\n",
"`/storage/` is persistent storage shared across all machines on your account. Mounted to your machine.\n",
"\n",
"`/notebooks/` is storage for this notebook only.\n",
"`/notebooks/` is storage for this notebook only. This directory has to be copied into your machine which can increase start/stop times if the directory is very large. To avoid this, put large files in `/storage/`.\n",
"\n",
"`/tmp/` <mark style=\"background-color:lime\">is not a persistent directory, meaning your files there will be deleted when the machine turns off.</mark>\n",
"\n",
@ -68,22 +68,22 @@
"outputs": [],
"source": [
"# Free tier\n",
"# free_tier = True # Enables the creation of symlinks back to /notebooks/\n",
"# symlink_to_notebooks = True # Enables the creation of symlinks back to /notebooks/\n",
"# model_storage_dir = '/tmp/stable-diffusion/models' # Where the models will be downloaded to.\n",
"# repo_storage_dir = '/notebooks' # Where the repository will be downloaded to.\n",
"\n",
"# Paid Tier\n",
"# free_tier = False\n",
"# symlink_to_notebooks = False\n",
"# model_storage_dir = '/storage/models'\n",
"# repo_storage_dir = '/notebooks'\n",
"\n",
"\n",
"# Other optional settings\n",
"# You don't have to change these if you don't want to\n",
"\n",
"activate_xformers = False # Enables the xformers optimizations using pre-built wheels.\n",
" # Setting to True will automatically set up your environment/machine for xformers. \n",
"\n",
"xformers_leave_cuda = False # When installing xformers, skip installing cuda 11.3\n",
" # Useful if your're re-running the install block and already installed cuda 11.3\n",
"\n",
"link_novelai_anime_vae = False # Enables the linking of animevae.pt to each of the NovelAI models.\n",
" # Set to True if you've downloaded both the NovelAI models and hypernetworks.\n",
"\n",
@ -101,10 +101,12 @@
"\n",
"gradio_port = False # Launch Gradio on a specific port. Set to False to let Gradio choose a port.\n",
" # This disables online Gradio app mode and you will only be able to access it on your local network.\n",
"\n",
"activate_extensions = False # Force enable extensions tab.\n",
" \n",
"# ===============================================================\n",
"# Save variables to Jupiter's temp storage so we can access it even if the kernel restarts.\n",
"%store free_tier model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae download_scripts activate_deepdanbooru activate_medvram disable_pickle_check gradio_port xformers_leave_cuda"
"%store symlink_to_notebooks model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae download_scripts activate_deepdanbooru activate_medvram disable_pickle_check gradio_port activate_extensions"
]
},
{
@ -135,7 +137,7 @@
"outputs": [],
"source": [
"import os\n",
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"%cd /notebooks/\n",
"\n",
"def delete_broken_symlinks(path):\n",
@ -155,7 +157,7 @@
" !cd \"{path}\" && git pull # no % so we don't interfere with the main process\n",
"\n",
"def init_free():\n",
" if (free_tier and repo_storage_dir != '/notebooks'):\n",
" if (symlink_to_notebooks and repo_storage_dir != '/notebooks'):\n",
" delete_broken_symlinks('/notebooks/') # remove broken symlinks since it might have been installed in a non-persistent directory\n",
" if not os.path.exists(repo_storage_dir):\n",
" !mkdir -p \"{repo_storage_dir}\"\n",
@ -184,7 +186,7 @@
},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir activate_xformers download_scripts activate_deepdanbooru xformers_leave_cuda\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir activate_xformers download_scripts activate_deepdanbooru\n",
"%cd \"{repo_storage_dir}/stable-diffusion-webui\"\n",
"import os\n",
"\n",
@ -269,18 +271,6 @@
" !wget \"{url}\" -O \"{tmp_dir}/{binary}\"\n",
" return os.path.join(tmp_dir, binary)\n",
"\n",
" if not xformers_leave_cuda:\n",
" print('Skipping installing cuda')\n",
" # Completly remove cuda from your system\n",
" # The container comes with cuda 11.2 installed which is incompatable with pytorch\n",
" # We MUST install cuda 11.3\n",
" !apt update\n",
" !apt purge -y cuda*\n",
" !apt autoremove --purge -y\n",
" !wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004-keyring.gpg -O /usr/share/keyrings/cuda-archive-keyring.gpg\n",
" !echo \"deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/ /\" | sudo tee /etc/apt/sources.list.d/cuda-ubuntu2004-x86_64.list\n",
" # Reinstall the cuda packages we removed, but in version 11.3\n",
" !apt update && apt install -y cuda-command-line-tools-11-3 cuda-compat-11-3 cuda-minimal-build-11-3 cuda-compiler-11-3 cuda-libraries-dev-11-3 cuda-cupti-dev-11-3 cuda-cupti-11-3 cuda-nvcc-11-3 cuda-cudart-dev-11-3 cuda-libraries-11-3 cuda-cudart-11-3 cuda-gdb-11-3 cuda-cuobjdump-11-3 cuda-cuxxfilt-11-3 cuda-driver-dev-11-3 cuda-memcheck-11-3 cuda-nvdisasm-11-3 cuda-nvml-dev-11-3 cuda-nvprof-11-3 cuda-nvprune-11-3 cuda-nvrtc-dev-11-3 cuda-nvrtc-11-3 cuda-nvtx-11-3 cuda-sanitizer-11-3\n",
" # Set up pip packages\n",
" !pip uninstall -y torch torchvision torchaudio # Remove existing pytorch install.\n",
" !pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu113 # Install pytorch for cuda 11.3\n",
@ -381,7 +371,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"%cd \"{model_storage_dir}\"\n",
@ -401,7 +391,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"%cd \"{model_storage_dir}\"\n",
@ -423,7 +413,7 @@
},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"%cd \"{model_storage_dir}\"\n",
@ -452,7 +442,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"%cd \"{model_storage_dir}\"\n",
@ -472,7 +462,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"%cd \"{model_storage_dir}\"\n",
@ -512,7 +502,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!wget https://huggingface.co/naclbit/trinart_stable_diffusion_v2/resolve/main/trinart2_step60000.ckpt -O \"{model_storage_dir}/trinart2_step60000.ckpt\""
]
},
@ -529,7 +519,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!wget https://huggingface.co/naclbit/trinart_stable_diffusion_v2/resolve/main/trinart2_step95000.ckpt -O \"{model_storage_dir}/trinart2_step95000.ckpt\""
]
},
@ -546,7 +536,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!wget https://huggingface.co/naclbit/trinart_stable_diffusion_v2/resolve/main/trinart2_step115000.ckpt -O \"{model_storage_dir}/trinart2_step115000.ckpt\""
]
},
@ -565,7 +555,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!wget https://huggingface.co/naclbit/trinart_characters_19.2m_stable_diffusion_v1/resolve/main/trinart_characters_it4_v1.ckpt -O \"{model_storage_dir}/trinart_characters_it4_v1.ckpt\""
]
},
@ -589,7 +579,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"metalink = 'magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc&dn=novelaileak&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2810%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce'\n",
@ -618,7 +608,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"metalink = 'magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc&dn=novelaileak&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2810%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce'\n",
@ -649,7 +639,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"!apt update\n",
"!apt install -y aria2\n",
"metalink = 'magnet:?xt=urn:btih:5bde442da86265b670a3e5ea3163afad2c6f8ecc&dn=novelaileak&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2F9.rarbg.com%3A2810%2Fannounce&tr=udp%3A%2F%2Ftracker.openbittorrent.com%3A6969%2Fannounce&tr=http%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce'\n",
@ -683,7 +673,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir\n",
"\n",
"# Get some storage back\n",
"!pip cache purge\n",
@ -817,7 +807,7 @@
},
"outputs": [],
"source": [
"%store -r model_storage_dir repo_storage_dir activate_xformers activate_deepdanbooru activate_medvram disable_pickle_check gradio_port\n",
"%store -r model_storage_dir repo_storage_dir activate_xformers activate_deepdanbooru activate_medvram disable_pickle_check gradio_port activate_extensions\n",
"%cd \"{repo_storage_dir}/stable-diffusion-webui\"\n",
"\n",
"# Enable optional args automatically based on settings\n",
@ -826,9 +816,10 @@
"mvram_arg = '--medvram' if activate_medvram else ''\n",
"pickled = '--disable-safe-unpickle' if disable_pickle_check else ''\n",
"port = f'--port {gradio_port}' if gradio_port else '--share'\n",
"ext_arg = '--enable-insecure-extension-access' if activate_extensions else ''\n",
"\n",
"# Launch args go below:\n",
"!python webui.py {x_arg} {dd_arg} {mvram_arg} {pickled} {port} --gradio-debug # --gradio-auth me:password1234"
"!python webui.py {x_arg} {dd_arg} {mvram_arg} {pickled} {port} {ext_arg} --gradio-debug # --gradio-auth me:password1234"
]
},
{
@ -857,7 +848,7 @@
},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"!apt update\n",
"!apt install -y p7zip-full\n",
"from datetime import datetime\n",
@ -960,7 +951,7 @@
"metadata": {},
"outputs": [],
"source": [
"%store -r free_tier model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"%store -r symlink_to_notebooks model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"%cd \"{repo_storage_dir}/stable-diffusion-webui\"\n",
"!git reset --hard <commit>"
]
@ -1001,7 +992,7 @@
"outputs": [],
"source": [
"# Uncomment the lines below to run this block. You can highlight the lines and do ctrl + /\n",
"# %store -r free_tier model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"# %store -r symlink_to_notebooks model_storage_dir repo_storage_dir activate_xformers link_novelai_anime_vae\n",
"# !rm -rf /storage/*\n",
"# !mv /notebooks/*.ipynb / # move the notebook out of the directory before we nuke it\n",
"# !rm -rf /notebooks/*\n",