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

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

    fix branch name in mkdocs-flow

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

    fix theme name

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

    fixed some links and formating in main README

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

    trigger mkdocs deployment on main

commit 897cc373ce
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 3b5a8308eb
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 0b4f5a926f
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 07:41:45 2022 +0200

    update mkdocs config

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

    added the mkdocs-git-revision-date-plugin

commit eac81bf875
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 b36d4cc088
Author: mauwii <Mauwii@outlook.de>
Date:   Wed Sep 14 02:06:39 2022 +0200

    add dark theme

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

    update mkdocs flow and config

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

    add mkdocs workflow

commit 1bd22523b1
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.