InvokeAI/docs/installation/INSTALL_LINUX.md
Matthias Wild ec2dc24ad7
Mkdocs-material (#575)
* Squashed commit of the following:

commit 82d9c25d9a87ea5f6fbdb0445313e48cd8ae3035
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:29:11 2022 +0200

    fix branch name in mkdocs-flow

commit 2e276cecc1942050ae8b22f4a417c576c49763a1
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:28:35 2022 +0200

    fix theme name

commit 2eb77c1173598e161e8a5a9812b021b831363183
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 19:14:42 2022 +0200

    fixed some links and formating in main README

commit 66a7152e48e8c66c9286f47a6b088920a8fcdcd8
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 08:58:58 2022 +0200

    trigger mkdocs deployment on main

commit 897cc373ce4f9d18d8cb2837b5931c4b674c836b
Merge: 89da371 3b5a830
Author: Matthias Wild <40327258+mauwii@users.noreply.github.com>
Date:   Wed Sep 14 07:51:23 2022 +0200

    Merge pull request #1 from mauwii/mkdocs

    Mkdocs

commit 3b5a8308eb6b7ee572ff07f78829f64bcf55b4d9
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:42:56 2022 +0200

    huge update
    I was pretty busy trying to make the Readmes / docs  look good in MkDocs

commit 0b4f5a926ff8aad1460e0be8093ee02d719a576d
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:41:45 2022 +0200

    update mkdocs config

commit 872172ea7008aa1217c1259c7ecab16ddafd1a0e
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:33:49 2022 +0200

    added the mkdocs-git-revision-date-plugin

commit eac81bf87588ec88b65f3415aa838c330fbd621b
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 06:46:43 2022 +0200

    add  prettier config
    remove markdownlint
    move and rename requirements-mkdocs.txt

commit b36d4cc088a49af56026aa2dd2e85d6bfb181bd1
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 02:06:39 2022 +0200

    add dark theme

commit a14f18fede6febccf1c117cba50a1aff1eac80a9
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 01:38:02 2022 +0200

    update mkdocs flow and config

commit 2764b48693ed382bc01a2cb7aab282dbf95cd9ee
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 01:15:33 2022 +0200

    add mkdocs workflow

commit 1bd22523b1a52ac24bc5f950debb450f903c2d51
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 00:57:37 2022 +0200
    I already begun with formating /  revising the sites

* change repository in mkdocs config to lstein

* adapt changes from repos main README.md

Co-authored-by: Lincoln Stein <lincoln.stein@gmail.com>
2022-09-15 10:53:41 -04:00

4.1 KiB

title
Linux
  1. You will need to install the following prerequisites if they are not already available. Use your operating system's preferred installer.

    • Python (version 3.8.5 recommended; higher may work)
    • git
  2. Install the Python Anaconda environment manager.

    ~$  wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh
    ~$  chmod +x Anaconda3-2022.05-Linux-x86_64.sh
    ~$  ./Anaconda3-2022.05-Linux-x86_64.sh
    

    After installing anaconda, you should log out of your system and log back in. If the installation worked, your command prompt will be prefixed by the name of the current anaconda environment - (base).

  3. Copy the stable-diffusion source code from GitHub:

    (base) ~$ git clone https://github.com/lstein/stable-diffusion.git
    

    This will create stable-diffusion folder where you will follow the rest of the steps.

  4. Enter the newly-created stable-diffusion folder. From this step forward make sure that you are working in the stable-diffusion directory!

    (base) ~$ cd stable-diffusion
    (base) ~/stable-diffusion$
    
  5. Use anaconda to copy necessary python packages, create a new python environment named ldm and activate the environment.

    (base) ~/stable-diffusion$ conda env create -f environment.yaml
    (base) ~/stable-diffusion$ conda activate ldm
    (ldm) ~/stable-diffusion$
    

    After these steps, your command prompt will be prefixed by (ldm) as shown above.

  6. Load a couple of small machine-learning models required by stable diffusion:

    (ldm) ~/stable-diffusion$ python3 scripts/preload_models.py
    

    Note that this step is necessary because I modified the original just-in-time model loading scheme to allow the script to work on GPU machines that are not internet connected. See Preload Models

  7. Now you need to install the weights for the stable diffusion model.

    • For running with the released weights, you will first need to set up an acount with Hugging Face.
    • Use your credentials to log in, and then point your browser here
    • You may be asked to sign a license agreement at this point.
    • Click on "Files and versions" near the top of the page, and then click on the file named "sd-v1-4.ckpt". You'll be taken to a page that prompts you to click the "download" link. Save the file somewhere safe on your local machine.

    Now run the following commands from within the stable-diffusion directory. This will create a symbolic link from the stable-diffusion model.ckpt file, to the true location of the sd-v1-4.ckpt file.

    (ldm) ~/stable-diffusion$ mkdir -p models/ldm/stable-diffusion-v1
    (ldm) ~/stable-diffusion$ ln -sf /path/to/sd-v1-4.ckpt models/ldm/stable-diffusion-v1/model.ckpt
    
  8. Start generating images!

    # for the pre-release weights use the -l or --liaon400m switch
    (ldm) ~/stable-diffusion$ python3 scripts/dream.py -l
    
    # for the post-release weights do not use the switch
    (ldm) ~/stable-diffusion$ python3 scripts/dream.py
    
    # for additional configuration switches and arguments, use -h or --help
    (ldm) ~/stable-diffusion$ python3 scripts/dream.py -h
    
  9. Subsequently, to relaunch the script, be sure to run "conda activate ldm" (step 5, second command), enter the stable-diffusion directory, and then launch the dream script (step 8). If you forget to activate the ldm environment, the script will fail with multiple ModuleNotFound errors.

    Updating to newer versions of the script

    This distribution is changing rapidly. If you used the git clone method (step 5) to download the stable-diffusion directory, then to update to the latest and greatest version, launch the Anaconda window, enter stable-diffusion and type:

    (ldm) ~/stable-diffusion$ git pull
    

    This will bring your local copy into sync with the remote one.