MountaintopLotus / braintrust

A Dockerized platform for running Stable Diffusion, on AWS (for now)
Apache License 2.0
1 stars 2 forks source link

Automatic1111 #25

Open JohnTigue opened 1 year ago

JohnTigue commented 1 year ago

This tool’s name is pronounced “automatic eleven eleven.” Automatic1111 is the reigning power tool amongst the web-UIs crowd.

JohnTigue commented 1 year ago

YouTube 1h40m: Zero To Hero Stable Diffusion DreamBooth Tutorial By Using Automatic1111 Web UI - Ultra Detailed:

I am explaining from scratch to very advanced level how to use #Automatic1111 Web UI and D8ahazard #DreamBooth extension to teach new subjects, e.g. your face into a model. Moreover, I am showing how to inject your taught face into a completely new model e.g. Protogen x3.4 to produce awesome quality images without wasting too much time on finding correct prompts.

JohnTigue commented 1 year ago

"It also supports Apple Silicon, but has some difficulties," see Installation on Apple Silicon.

JohnTigue commented 1 year ago

fast-stable-diffusion is a popular (<3.5K stars on GitHub) "Colab Notebooks, AUTOMATIC1111 + DreamBooth" implementation (MIT licensed on GitHub).

JohnTigue commented 1 year ago

LoRA can be used as a plug-in within A1111: LORA for Stable Diffusion - A1111 Dreambooth Extension.

JohnTigue commented 1 year ago

Watch your creation come to live with "Save intermediate images" extension for Automatic1111

JohnTigue commented 1 year ago

There's a new fork with instructpix2pix added in (that was quick, but please fold it into the main next time): https://www.reddit.com/r/StableDiffusion/comments/10klkvh/auto1111_fork_with_pix2pix/

JohnTigue commented 1 year ago

See, fold it in like this: Instruct Pix2Pix just added to Auto1111.

JohnTigue commented 1 year ago

A thorough intro and how-to write up for instructPix2Pix with A1111: Instruct Pix2Pix: Edit and stylize photos with text.

JohnTigue commented 1 year ago

This article walks through deploying A1111 on EC2 via CloudFormations, using a stock Ubuntu AMI as base including installing drivers for Nvidia. No Docker, no InvokeAI: Create Your Own Stable Diffusion UI on AWS in Minutes.

JohnTigue commented 1 year ago

Here's that AMI: https://us-east-1.console.aws.amazon.com/ec2/home?region=us-east-1#LaunchInstances:ami=ami-0574da719dca65348

JohnTigue commented 1 year ago

More instruct-Pic2Pic in A1111: Stable Diffusion instruct-pix2pix Detailed Guide Explained | instruct-pix2pix.

JohnTigue commented 1 year ago

There are a LOT of CLI options for Automatic1111: All command line arguments.

AlexanderMWest commented 1 year ago

I think I crashed A1111 instance at http://35.90.96.56:7860/ by using the "Interrogate" command. I don't know how to reset it. Not sure if there is a better issue to be in for this.

JohnTigue commented 1 year ago

Aww, that machine was up for many days. Another something that need massaging.

That's a nice enough bug report though. Thanks. I'll kick "Interrogate" around.

JohnTigue commented 1 year ago

Looks like Auto1111 is competing with Invoke for unified canvas (the more "photoshop" type UI): Stable Diffusion Automatic1111 Inpaint Extension | Canvas Zoom Extension.

JohnTigue commented 1 year ago

Man, the deeper I dig into the behind the scenes aspect of A1111, the more it seems deeply problematic. For example, via Reddit:

Would strongly advise against touching this shit pile with a ten foot pole for security reasons.

It's run by a gaggle of twits from 4chan where the head clown was previously making racist video game mods

It already has a track record of probably the most idiotic RCE exploit I've ever heard of (users could literally just upload python scripts, with an image file extension, to the host machine to be executed)

It's closed source, all rights reserved (no license - technically illegal to copy and to use) while concurrently being packed full of stolen permissively licensed code, stripped of its license agreements. The 4channer's response to someone pointing this out was that he has no obligation to abide by the license terms he agreed to and that the repo doesn't have to be legal.

JohnTigue commented 1 year ago

If this is true ("packed full of stolen permissively licensed code, stripped of its license agreements") that's a deal-breaking hornets nest. And it may well explain why StabilityAI hasn't kicked down funding to it. Argh! This thing is really screwing with me. Oh, well, onward…

JohnTigue commented 1 year ago

If I didn't hate the 4channers enough already: "The 4channer's response to someone pointing this out was that he has no obligation to abide by the license terms he agreed to and that the repo doesn't have to be legal."

JohnTigue commented 1 year ago

Over the last week and a half, I've come to the realization that Automatic1111 has to be removed from the core of Hypnowerk (it crashes way too regularly and is a nightmare of spaghetti code tossed with violated code licenses), but we want to continue keeping it around for in the short term for its undeniable utility.

I've explored ways of coding up a way to turn it on as needed. But in the end, since we want Auto1111 in the rearview mirror ASAP, why waste the energy?

An alternative solution which will require almost no coding, is to simply give folks like Andres and Michael Trapp IAM users and just show them how to reboot a single EC2 instance with Auto11111. See https://github.com/ManyHands/dev_tools/issues/154#issuecomment-1511992669) for the implementation of accounts.

Literally:

The only coding would be a start up script to docker compose --profile auto up.

JohnTigue commented 1 year ago

Use Amazon CloudWatch to Detect and Shut Down Unused Amazon EC2 Instances

JohnTigue commented 1 year ago

It might well be worth migrating from Automatic1111 to the new Vladomatic (a.k.a., Vlad Diffusion) which is at least moving forward more consistently. Seems a cowboy, named Vlad:

Some primer vidoes:

JohnTigue commented 1 year ago

Automatic1111 needs many of the same things I'm been adding to the main hypnowerk codebase. I was just trying to get a single instance up just enough to keep it around. Now I am starting to think that there should just be two completely separate clusters, one for Invoke and one for Auto1111. Both would have very similar support machinery: model library, Jupyter, etc. So, basically two codebases with lots of duplication but one is IPR nightmare because of Auto1111 but the Invoke one would be the clean one that will move into the future while Auto1111 will be left to die.

JohnTigue commented 1 year ago

We should kick the tires on v1.1.1 of Auto1111: https://github.com/AUTOMATIC1111/stable-diffusion-webui/tags

JohnTigue commented 1 year ago

There is the concept of custom scripts in A1111. This seems like a thing we would dial in once we have sophisticated processes: Custom Scripts

JohnTigue commented 1 year ago

How to use Scripts and Extensions in AUTOMATIC1111 WebUI - Stable Diffusion Tutorial + BONUS DL

JohnTigue commented 1 year ago

From the Docs for a Docker implementation, you don't say…

By default: --medvram is given, which allow you to use this model on a 6GB GPU, you can also use --lowvram for lower end GPUs. Remove these arguments if you are using a (relatively) high end GPU, like 40XX series cards, as these arguments will slow you down.