# Summary of the change
- new Scene-to-Image tab
- new scn2img function
- functions for loading and running monocular_depth_estimation with
tensorflow
# Description
(relevant motivation, which issue is fixed)
Related to discussion #925
> Would it be possible to have a layers system where we could do have
foreground, mid, and background objects which relate to one another and
share the style? So we could say generate a landscape, one another layer
generate a castle, and on another layer generate a crowd of people.
To make this work I made a prompt-based layering system in a new
"Scene-to-Image" tab.
You write a a multi-line prompt that looks like markdown, where each
section declares one layer.
It is hierarchical, so each layer can have their own child layers.
Examples: https://imgur.com/a/eUxd5qn
![](https://i.imgur.com/L61w00Q.png)
In the frontend you can find a brief documentation for the syntax,
examples and reference for the various arguments.
Here a short summary:
Sections with "prompt" and child layers are img2img, without child
layers they are txt2img.
Without "prompt" they are just images, useful for mask selection, image
composition, etc.
Images can be initialized with "color", resized with "resize" and their
position specified with "pos".
Rotation and rotation center are "rotation" and "center".
Mask can automatically be selected by color or by estimated depth based
on https://huggingface.co/spaces/atsantiago/Monocular_Depth_Filter.
![](https://i.imgur.com/8rMHWmZ.png)
# Additional dependencies that are required for this change
For mask selection by monocular depth estimation tensorflow is required
and the model must be cloned to ./src/monocular_depth_estimation/
Changes in environment.yaml:
- einops>=0.3.0
- tensorflow>=2.10.0
Einops must be allowed to be newer for tensorflow to work.
# Checklist:
- [x] I have changed the base branch to `dev`
- [x] I have performed a self-review of my own code
- [x] I have commented my code in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
# Adds the bridge code which when enabled turns the webui into a
headless [Stable Horde](https://stablehorde.net) instance
It adds a few new command-line args to be able to pass variables to the
bridge, as well as the possibility to set it via a variables files
`bridgeData.py`.
To start the bridge, one needs to add the `--bridge` argument to their
relauncher.py as well as any horde vars they want to specify.
On top of that this adds the loguru module as well as my tuned loguru
config. This provides a much nicer logging output and provides the
capability to save output to files for issue reports etc. For now only
the bridge is utilizing the nice format, but once it's merged, you can
start replacing `print()` with `logger.xxx()` where appropriate
To make the bridge work, I've had to add defaults to txt2img but this
should not affect anything.
# Checklist:
- [ x ] I have changed the base branch to `dev`
- [ x ] I have performed a self-review of my own code
- [ x ] I have commented my code in hard-to-understand areas
- [ x ] I have made corresponding changes to the documentation
Co-authored-by: hlky <106811348+hlky@users.noreply.github.com>
Co-authored-by: Thomas Mello <work.mello@gmail.com>
Co-authored-by: Joshua Kimsey <jkimsey95@gmail.com>
Co-authored-by: ZeroCool <ZeroCool940711@users.noreply.github.com>
Started off by adding the Txt2Img settings from the
`configs/webui/webui_streamlit.yaml` file. All are working ~~except
`separate_prompts`, which throws a `Missing key separate_prompts` error
for some reason~~.
Fixed the error.
# Checklist:
- [x] I have changed the base branch to `dev`
- [x] I have performed a self-review of my own code
- [x] I have commented my code in hard-to-understand areas
- [x] I have made corresponding changes to the documentation
Unfortunately I think I broke REALESRGAN and it's now enabled by default
even when you deselect the option for it on the UI, have to figure out
what I missed tomorrow when I wake up, the world is not going to end if
you guys have that broken for a single night.
This PR add a basic gallery feature made in Vue3 for txt2img.
![image](https://user-images.githubusercontent.com/35169816/193422924-6c3e9f83-0e2e-4149-b6ec-8cf5e5dfb187.png)
The gallery supports streamlit theme features
![image](https://user-images.githubusercontent.com/35169816/193422940-f15d121b-34fd-46ef-be84-23d8d80cda96.png)
It's a v1, there is only a download and a zoom feature ( if the image is
displayed smaller than it's real size)
v2 will add more functionnality like captions to display the prompt &
seed for each images when using multi prompts/matrix etc
This PR also changes the way custom components are imported to be able
to have differents component.
Rather than a unique `frontend/dist/` folder ( which was for the
sd-concept-browser)
there is now a `frontend/dists/sd-concept-browser/dist` folder and a
`frontend/dists/sd-gallery/dist` folder
- [x] I have changed the base branch to `dev`
- [x] I have performed a self-review of my own code
- [x] I have commented my code in hard-to-understand areas
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.5 to 1.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/numpy/numpy/releases">numpy's
releases</a>.</em></p>
<blockquote>
<h2>v1.22.0</h2>
<h1>NumPy 1.22.0 Release Notes</h1>
<p>NumPy 1.22.0 is a big release featuring the work of 153 contributors
spread over 609 pull requests. There have been many improvements,
highlights are:</p>
<ul>
<li>Annotations of the main namespace are essentially complete. Upstream
is a moving target, so there will likely be further improvements, but
the major work is done. This is probably the most user visible
enhancement in this release.</li>
<li>A preliminary version of the proposed Array-API is provided. This is
a step in creating a standard collection of functions that can be used
across application such as CuPy and JAX.</li> <li>NumPy now has a DLPack
backend. DLPack provides a common interchange format for array (tensor)
data.</li>
<li>New methods for <code>quantile</code>, <code>percentile</code>, and
related functions. The
new methods provide a complete set of the methods commonly found in the
literature.</li>
<li>A new configurable allocator for use by downstream projects.</li>
</ul>
<p>These are in addition to the ongoing work to provide SIMD support for
commonly used functions, improvements to F2PY, and better
documentation.</p>
<p>The Python versions supported in this release are 3.8-3.10, Python
3.7
has been dropped. Note that 32 bit wheels are only provided for Python
3.8 and 3.9 on Windows, all other wheels are 64 bits on account of
Ubuntu, Fedora, and other Linux distributions dropping 32 bit support.
All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which
should fix
the occasional problems encountered by folks using truly huge
arrays.</p>
<h2>Expired deprecations</h2>
<h3>Deprecated numeric style dtype strings have been removed</h3>
<p>Using the strings <code>"Bytes0"</code>,
<code>"Datetime64"</code>, <code>"Str0"</code>,
<code>"Uint32"</code>,
and <code>"Uint64"</code> as a dtype will now raise a
<code>TypeError</code>.</p>
<p>(<a
href="https://github-redirect.dependabot.com/numpy/numpy/pull/19539">gh-19539</a>)</p>
<h3>Expired deprecations for <code>loads</code>, <code>ndfromtxt</code>,
and <code>mafromtxt</code> in npyio</h3>
<p><code>numpy.loads</code> was deprecated in v1.15, with the
recommendation that
users use <code>pickle.loads</code> instead. <code>ndfromtxt</code> and
<code>mafromtxt</code> were both
deprecated in v1.17 - users should use <code>numpy.genfromtxt</code>
instead with
the appropriate value for the <code>usemask</code> parameter.</p> <p>(<a
href="https://github-redirect.dependabot.com/numpy/numpy/pull/19615">gh-19615</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4adc87dff1"><code>4adc87d</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20685">#20685</a>
from charris/prepare-for-1.22.0-release</li>
<li><a
href="fd66547557"><code>fd66547</code></a>
REL: Prepare for the NumPy 1.22.0 release.</li>
<li><a
href="125304b035"><code>125304b</code></a>
wip</li>
<li><a
href="c283859128"><code>c283859</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20682">#20682</a>
from charris/backport-20416</li>
<li><a
href="5399c03d4a"><code>5399c03</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20681">#20681</a>
from charris/backport-20954</li>
<li><a
href="f9c45f8ebf"><code>f9c45f8</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20680">#20680</a>
from charris/backport-20663</li>
<li><a
href="794b36f7e1"><code>794b36f</code></a>
Update armccompiler.py</li>
<li><a
href="d93b14e3d7"><code>d93b14e</code></a>
Update test_public_api.py</li>
<li><a
href="7662c0789c"><code>7662c07</code></a>
Update <strong>init</strong>.py</li>
<li><a
href="311ab52488"><code>311ab52</code></a>
Update armccompiler.py</li>
<li>Additional commits viewable in <a
href="https://github.com/numpy/numpy/compare/v1.21.5...v1.22.0">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=numpy&package-manager=pip&previous-version=1.21.5&new-version=1.22.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary> <br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ZeroCool940711/stable-diffusion-webui/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot]
<49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandro Gil <ZeroCool940711@users.noreply.github.com>
# Description
Please include:
* relevant motivation
* a summary of the change
* which issue is fixed.
* any additional dependencies that are required for this change.
Closes: # (issue)
# Checklist:
- [ ] I have changed the base branch to `dev`
- [ ] I have performed a self-review of my own code
- [ ] I have commented my code in hard-to-understand areas
- [ ] I have made corresponding changes to the documentation
Bumps [numpy](https://github.com/numpy/numpy) from 1.21.5 to 1.22.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/numpy/numpy/releases">numpy's
releases</a>.</em></p>
<blockquote>
<h2>v1.22.0</h2>
<h1>NumPy 1.22.0 Release Notes</h1>
<p>NumPy 1.22.0 is a big release featuring the work of 153 contributors
spread over 609 pull requests. There have been many improvements,
highlights are:</p>
<ul>
<li>Annotations of the main namespace are essentially complete. Upstream
is a moving target, so there will likely be further improvements,
but the major work is done. This is probably the most user visible
enhancement in this release.</li>
<li>A preliminary version of the proposed Array-API is provided. This is
a step in creating a standard collection of functions that can be
used across application such as CuPy and JAX.</li>
<li>NumPy now has a DLPack backend. DLPack provides a common interchange
format for array (tensor) data.</li>
<li>New methods for <code>quantile</code>, <code>percentile</code>, and
related functions. The
new methods provide a complete set of the methods commonly found in
the literature.</li>
<li>A new configurable allocator for use by downstream projects.</li>
</ul>
<p>These are in addition to the ongoing work to provide SIMD support for
commonly used functions, improvements to F2PY, and better
documentation.</p>
<p>The Python versions supported in this release are 3.8-3.10, Python
3.7
has been dropped. Note that 32 bit wheels are only provided for Python
3.8 and 3.9 on Windows, all other wheels are 64 bits on account of
Ubuntu, Fedora, and other Linux distributions dropping 32 bit support.
All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which
should fix
the occasional problems encountered by folks using truly huge
arrays.</p>
<h2>Expired deprecations</h2>
<h3>Deprecated numeric style dtype strings have been removed</h3>
<p>Using the strings <code>"Bytes0"</code>,
<code>"Datetime64"</code>, <code>"Str0"</code>,
<code>"Uint32"</code>,
and <code>"Uint64"</code> as a dtype will now raise a
<code>TypeError</code>.</p>
<p>(<a
href="https://github-redirect.dependabot.com/numpy/numpy/pull/19539">gh-19539</a>)</p>
<h3>Expired deprecations for <code>loads</code>, <code>ndfromtxt</code>,
and <code>mafromtxt</code> in npyio</h3>
<p><code>numpy.loads</code> was deprecated in v1.15, with the
recommendation that
users use <code>pickle.loads</code> instead. <code>ndfromtxt</code> and
<code>mafromtxt</code> were both
deprecated in v1.17 - users should use <code>numpy.genfromtxt</code>
instead with
the appropriate value for the <code>usemask</code> parameter.</p>
<p>(<a
href="https://github-redirect.dependabot.com/numpy/numpy/pull/19615">gh-19615</a>)</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="4adc87dff1"><code>4adc87d</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20685">#20685</a>
from charris/prepare-for-1.22.0-release</li>
<li><a
href="fd66547557"><code>fd66547</code></a>
REL: Prepare for the NumPy 1.22.0 release.</li>
<li><a
href="125304b035"><code>125304b</code></a>
wip</li>
<li><a
href="c283859128"><code>c283859</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20682">#20682</a>
from charris/backport-20416</li>
<li><a
href="5399c03d4a"><code>5399c03</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20681">#20681</a>
from charris/backport-20954</li>
<li><a
href="f9c45f8ebf"><code>f9c45f8</code></a>
Merge pull request <a
href="https://github-redirect.dependabot.com/numpy/numpy/issues/20680">#20680</a>
from charris/backport-20663</li>
<li><a
href="794b36f7e1"><code>794b36f</code></a>
Update armccompiler.py</li>
<li><a
href="d93b14e3d7"><code>d93b14e</code></a>
Update test_public_api.py</li>
<li><a
href="7662c0789c"><code>7662c07</code></a>
Update <strong>init</strong>.py</li>
<li><a
href="311ab52488"><code>311ab52</code></a>
Update armccompiler.py</li>
<li>Additional commits viewable in <a
href="https://github.com/numpy/numpy/compare/v1.21.5...v1.22.0">compare
view</a></li>
</ul>
</details>
<br />
[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=numpy&package-manager=pip&previous-version=1.21.5&new-version=1.22.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/ZeroCool940711/stable-diffusion-webui/network/alerts).
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alejandro Gil <ZeroCool940711@users.noreply.github.com>
Added the Txt2Img settings from the `configs/webui/webui_streamlit.yaml` file. All are working except `separate_prompts`, which throws a `Missing key separate_prompts` error for some reason.