File size: 3,246 Bytes
f205d49
 
 
22cda6d
f205d49
 
 
 
22cda6d
f01b4da
85e031f
f01b4da
 
 
85e031f
614dfc6
cb38940
214fa11
cb38940
 
 
 
 
 
 
 
 
 
 
 
 
 
214fa11
 
 
 
 
 
95ac94c
 
214fa11
 
8ba3b5a
95ac94c
8ba3b5a
 
85e031f
214fa11
 
85e031f
214fa11
85e031f
 
214fa11
 
 
b32abdf
cb38940
f01b4da
 
f205d49
f01b4da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
import gradio as gr
from inference_code import generate_images


def generate_image_predictions(prompt):
    images = generate_images(prompt)
    return images


demo = gr.Blocks()

with demo:
    gr.Markdown(
        """
        # 🌍 Map Diffuser

        Below we present a Stable Diffusion text to image model that will generate map tiles based on a text prompt. We trained it on just 10k images and prompts based on openstreetmap. Images were from @mapbox satellite images + @StamenDesign water color and toner images + @carto's Voyager style. The region trained was limited to central Europe and more precisely Prague and Amsterdam. This was part of the Hackathon run by Hugging Face & Google to use JAX API with Google Gen4 TPUs that are especially designed to train massive models.
        

        The model tuning led to some surprising results. For example we didn't have any prompts with "ships" or "desert" yet when passed that it tried to add ships to the satellite images 🤷‍♂️...
    """
    )
    input = gr.components.Textbox(label="Enter a text prompt here")
    output = gr.components.Image(label="Output Image")
    # button to submit the prompt
    button = gr.components.Button(label="Generate")
    # when the button is clicked, call the generate_image_predictions function
    # and pass in the prompt as an argument
    button.click(generate_image_predictions, inputs=input, outputs=output)

    gr.Markdown(
        """
        ### Generates images from a given text prompt. The prompts are in the format:

        - `{style} map of {city} with {features}` or
        - `satellite image of {city} with {features}` or
        - `satellite image with {features}` or
        - `satellite image of {city} with {features} and no {features}`
        and so on...

        ### So for example:

        - "Satellite image of amsterdam with industrial area and highways"
        - "Watercolor style map of Amsterdam with residential area and highways"
        - "Toner style map of Amsterdam with residential area and highways"
        - "Satellite image with forests and residential, no water"

       
 
        Examples table:
 
        | Prompt | Output |
        | --- | --- |
        | Satellite image of industrial area with ships | <img src="https://www.evernote.com/shard/s542/sh/61ee9b28-14a4-471b-89c1-beceeaa5c3b7/U6r8RasxpAtG4lffwKc7VdZn67b8O5w85zyFcKGH6yObMrD2ArITfJV77A/deep/0/image.png" width="100" /> |
        | Watercolor style map of Amsterdam with residential area and highways | <img src="https://www.evernote.com/shard/s542/sh/a22970f5-552f-4872-b738-667e64b28be4/ecjvm3GJBekvShqyebx8RQYH1ZTP4WrZzSqhB5lt6kv5jUjgKH0l7b57KA/deep/0/image.png" width="100" /> |
        | Toner style map of Amsterdam with residential area and highways | <img src="https://www.evernote.com/shard/s542/sh/1dfce0dc-8d63-4a83-b590-979ad038198f/1N9mAOsR0GddsULJaAMB8dYU9eR1-McyUXtgOmVFQ4UbX0rwbNfkylI1iQ/deep/0/image.png" width="100" /> |
        | Satellite image with forests and residential, no water | <img src="https://www.evernote.com/shard/s542/sh/2c532cf5-e73b-410e-8433-439466211306/Fh8SsltsWRCW_bLGmrj_TfV2vfEwTUbDiUz_bMSn__0EuzmhdTK5F-C1og/deep/0/image.png" width="100" /> |
        """
    )


demo.launch()