1
0
Fork 0

fix(docs): add check scripts to user guide

This commit is contained in:
Sean Sube 2023-03-20 22:28:38 -05:00
parent 28ea051062
commit fca9ba893c
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
1 changed files with 80 additions and 23 deletions

View File

@ -67,13 +67,16 @@ Please see [the server admin guide](server-admin.md) for details on how to confi
- [Image history setting](#image-history-setting) - [Image history setting](#image-history-setting)
- [API server setting](#api-server-setting) - [API server setting](#api-server-setting)
- [Reset tab buttons](#reset-tab-buttons) - [Reset tab buttons](#reset-tab-buttons)
- [Known Errors](#known-errors) - [Known errors](#known-errors)
- [Client Errors](#client-errors) - [Check scripts](#check-scripts)
- [Check environment script](#check-environment-script)
- [Check model script](#check-model-script)
- [Client errors](#client-errors)
- [Error fetching server parameters](#error-fetching-server-parameters) - [Error fetching server parameters](#error-fetching-server-parameters)
- [Parameter version error](#parameter-version-error) - [Parameter version error](#parameter-version-error)
- [Distorted and noisy images](#distorted-and-noisy-images) - [Distorted and noisy images](#distorted-and-noisy-images)
- [Scattered image tiles](#scattered-image-tiles) - [Scattered image tiles](#scattered-image-tiles)
- [Server Errors](#server-errors) - [Server errors](#server-errors)
- [Very slow with high CPU usage, max fan speed during image generation](#very-slow-with-high-cpu-usage-max-fan-speed-during-image-generation) - [Very slow with high CPU usage, max fan speed during image generation](#very-slow-with-high-cpu-usage-max-fan-speed-during-image-generation)
- [Connection refused or timeouts](#connection-refused-or-timeouts) - [Connection refused or timeouts](#connection-refused-or-timeouts)
- [Error: name 'cmd' is not defined](#error-name-cmd-is-not-defined) - [Error: name 'cmd' is not defined](#error-name-cmd-is-not-defined)
@ -154,7 +157,7 @@ The [ONNX runtime](https://onnxruntime.ai/) is a library for accelerating neural
using [the ONNX file format](https://onnx.ai/) to share them across different platforms. ONNX web is a server to run using [the ONNX file format](https://onnx.ai/) to share them across different platforms. ONNX web is a server to run
hardware-accelerated inference using those models and a web client to provide the parameters and view the results. hardware-accelerated inference using those models and a web client to provide the parameters and view the results.
The models used by ONNX web are split up into three groups: The models used by ONNX web are split up into four groups:
1. Diffusion 1. Diffusion
1. general models like [Stable Diffusion](https://huggingface.co/runwayml/stable-diffusion-v1-5) 1. general models like [Stable Diffusion](https://huggingface.co/runwayml/stable-diffusion-v1-5)
@ -165,6 +168,9 @@ The models used by ONNX web are split up into three groups:
3. Correction 3. Correction
1. [CodeFormer](https://github.com/sczhou/CodeFormer) 1. [CodeFormer](https://github.com/sczhou/CodeFormer)
2. [GFPGAN](https://github.com/TencentARC/GFPGAN) 2. [GFPGAN](https://github.com/TencentARC/GFPGAN)
4. Networks
1. [LoRA](https://arxiv.org/abs/2106.09685)
2. [Textual Inversion](https://textual-inversion.github.io/)
There are many other models available and specialized variations for anime, TV shows, and all sorts of other styles. There are many other models available and specialized variations for anime, TV shows, and all sorts of other styles.
@ -358,7 +364,10 @@ TODO
### Useful keywords ### Useful keywords
TODO The [OpenArt Stable Diffusion Prompt Book](https://cdn.openart.ai/assets/Stable%20Diffusion%20Prompt%20Book%20From%20OpenArt%2011-13.pdf)
has a lot of useful tips on how to build a good prompt. You can include keywords to describe the subject, setting,
style, and level of detail. Throwing a few extra keywords into the end of the prompt can help add specific details,
like the color and intensity of the lighting.
### Prompt tokens ### Prompt tokens
@ -389,7 +398,7 @@ contain any special characters other than `-` and `_`.
LoRA weights often have their own keywords, which can be found on their model card or Civitai page. You need to use LoRA weights often have their own keywords, which can be found on their model card or Civitai page. You need to use
the `<lora:name:1.0>` token _and_ the keywords to activate the LoRA. the `<lora:name:1.0>` token _and_ the keywords to activate the LoRA.
- https://github.com/kohya-ss/sd-scripts Check out [the `kohya-ss/sd-scripts` repository](https://github.com/kohya-ss/sd-scripts) for more details.
#### Textual Inversion tokens #### Textual Inversion tokens
@ -407,7 +416,7 @@ and must not contain any special characters other than `-` and `_`.
Once the Textual Inversion has been blended, you can activate some or all of its layers using the trained token(s) Once the Textual Inversion has been blended, you can activate some or all of its layers using the trained token(s)
in your prompt. Every Textual Inversion is available using its name, as well as tokens for all of the layers and for in your prompt. Every Textual Inversion is available using its name, as well as tokens for all of the layers and for
each individual layer. For an embedding called `autumn`, those are: each individual layer. For an embedding called `autumn`, the available tokens are:
- `autumn` - `autumn`
- `autumn-all` - `autumn-all`
@ -426,11 +435,11 @@ or omit them entirely.
The range syntax currently does not work when the Long Prompt Weighting pipeline is enabled. The range syntax currently does not work when the Long Prompt Weighting pipeline is enabled.
Some Textual Inversions have their own token, especially ones trained using [the Stable Conceptualizer notebook](TODO) Some Textual Inversions have their own token, especially ones trained using [the Stable Conceptualizer notebook](https://colab.research.google.com/github/huggingface/notebooks/blob/main/diffusers/stable_conceptualizer_inference.ipynb)
and [the sd-concepts-library group](TODO) on HuggingFace hub. The model card should list the token, which will usually and [the sd-concepts-library](https://huggingface.co/spaces/sd-concepts-library/stable-diffusion-conceptualizer) on
be wrapped in `<angle-brackets>`. This will be available along with the name token, but these concepts only have a HuggingFace hub. The model card should list the token, which will usually be wrapped in `<angle-brackets>`. This token
single layer, so the numbered tokens are much less useful. For a concept called `cubex` with the token `<cube>`, those will be available along with the name token, but these concepts only have a single layer, so the numbered tokens are
are: much less useful. For a concept called `cubex` with the token `<cube>`, the available tokens are:
- `cubex` - `cubex`
- `<cube>` - `<cube>`
@ -495,11 +504,6 @@ Using -1 will generate a new seed on the server for each image.
The input text for your image, things that should be included. The input text for your image, things that should be included.
The [OpenArt Stable Diffusion Prompt Book](https://cdn.openart.ai/assets/Stable%20Diffusion%20Prompt%20Book%20From%20OpenArt%2011-13.pdf)
has a lot of useful tips on how to build a good prompt. You can include keywords to describe the subject, setting,
style, and level of detail. Throwing a few extra keywords into the end of the prompt can help add specific details,
like the color and intensity of the lighting.
> A puppy dog with wings flying over a deciduous forest, drone, detailed, daylight, wide angle, sports, action camera > A puppy dog with wings flying over a deciduous forest, drone, detailed, daylight, wide angle, sports, action camera
![two txt2img images based on the flying puppy dog prompt, one successful and one with a slightly distorted puppy](output/flying-puppy.png) ![two txt2img images based on the flying puppy dog prompt, one successful and one with a slightly distorted puppy](output/flying-puppy.png)
@ -691,15 +695,68 @@ Changing the API server will reload the client.
Resets the state of each tab to the default, if some controls become glitchy. Resets the state of each tab to the default, if some controls become glitchy.
## Known Errors ## Known errors
This section attempts to cover all of the known errors and their solutions. This section attempts to cover all of the known errors and their solutions.
If you encounter an error that does not show up here, please [open a Github issue](https://github.com/ssube/onnx-web/issues/new/choose) If you encounter an error that does not show up here, please create a new issue on Github:
and include as many details as possible. Screenshots of the client and logs from the server are especially helpful,
and please include any stacktraces that appear in the server logs.
### Client Errors - collect as many details as possible
- screenshots from the client and logs from the server are especially helpful
- redact anything you are not comfortable sharing, like IP addresses or prompt text
- please include any stacktraces that appear in the server logs
- run [the check environment script](#check-environment-script)
- [open a Github issue](https://github.com/ssube/onnx-web/issues/new/choose)
### Check scripts
There are a few scripts provided to check various parts of the app, environment, or models. These can be used to
collect information for debugging problems or just to figure out what is in a tensor file with a confusing name.
#### Check environment script
The `check-env.py` script will check for required and recommended packages and collect their versions, then list
the ONNX runtime providers that are available in the current environment.
This can be used to make sure you have the correct packages installed and that your GPU provider appears in the list.
To run the `check-env.py` script using your `onnx-web` virtual environment:
```shell
# on linux:
> cd onnx-web/api
> onnx_env/bin/activate
> python3 scripts/check-env.py
# on windows:
> cd onnx-web\api
> onnx_env\Scripts\Activate.bat
> python scripts\check-env.py
```
#### Check model script
The `check-model.py` script will check the format and contents of a model file. The models can be ONNX models,
Safetensors, or pickle tensors.
The script will attempt to load the file, which can import libraries and execute code in the case of pickle tensors.
Only run the script on files that you trust enough to load.
To run the `check-model.py` script on a model using your `onnx-web` virtual environment:
```shell
# on linux:
> cd onnx-web/api
> onnx_env/bin/activate
> python3 scripts/check-model.py /home/ssube/onnx-web/models/inversion/1234.safetensor
# on windows:
> cd onnx-web\api
> onnx_env\Scripts\Activate.bat
> python scripts\check-model.py C:\Users\ssube\onnx-web\models\inversion\1234.safetensor
```
### Client errors
#### Error fetching server parameters #### Error fetching server parameters
@ -728,7 +785,7 @@ This can happen when the selected upscaling model is not trained for the current
This often means that the scale parameter does not match the upscaling model. This often means that the scale parameter does not match the upscaling model.
### Server Errors ### Server errors
If your image fails to render without any other error messages on the client, check the server logs for errors (if you If your image fails to render without any other error messages on the client, check the server logs for errors (if you
have access). have access).