File size: 3,231 Bytes
6b5881c
1
{"cells": [{"cell_type": "markdown", "id": "302934307671667531413257853548643485645", "metadata": {}, "source": ["# Gradio Demo: sub_block_render"]}, {"cell_type": "code", "execution_count": null, "id": "272996653310673477252411125948039410165", "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": "288918539441861185822528903084949547379", "metadata": {}, "outputs": [], "source": ["# Downloading files from the demo repo\n", "import os\n", "!wget -q https://github.com/gradio-app/gradio/raw/main/demo/sub_block_render/cheetah.jpg\n", "!wget -q https://github.com/gradio-app/gradio/raw/main/demo/sub_block_render/frog.jpg"]}, {"cell_type": "code", "execution_count": null, "id": "44380577570523278879349135829904343037", "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "import os\n", "from pathlib import Path\n", "\n", "from PIL import Image\n", "\n", "root = Path(os.path.abspath(''))\n", "\n", "def infer(\n", "    text,\n", "    guidance_scale,\n", "):\n", "\n", "    img = (\n", "        Image.open(root / \"cheetah.jpg\")\n", "        if text == \"Cheetah\"\n", "        else Image.open(root / \"frog.jpg\")\n", "    )\n", "    img = img.resize((224, 224))\n", "\n", "    return ([img, img, img, img], \"image\")\n", "\n", "block = gr.Blocks()\n", "\n", "examples = [\n", "    [\"A serious capybara at work, wearing a suit\", 7],\n", "    [\"A Squirtle fine dining with a view to the London Eye\", 7],\n", "    [\"A tamale food cart in front of a Japanese Castle\", 7],\n", "    [\"a graffiti of a robot serving meals to people\", 7],\n", "    [\"a beautiful cabin in Attersee, Austria, 3d animation style\", 7],\n", "]\n", "\n", "with block as demo:\n", "    with gr.Row(elem_id=\"prompt-container\", equal_height=True):\n", "        text = gr.Textbox(\n", "            label=\"Enter your prompt\",\n", "            show_label=False,\n", "            max_lines=1,\n", "            placeholder=\"Enter your prompt\",\n", "            elem_id=\"prompt-text-input\",\n", "        )\n", "\n", "    gallery = gr.Gallery(\n", "        label=\"Generated images\", show_label=False, elem_id=\"gallery\", rows=2, columns=2\n", "    )\n", "    out_txt = gr.Textbox(\n", "        label=\"Prompt\",\n", "        placeholder=\"Enter a prompt to generate an image\",\n", "        lines=3,\n", "        elem_id=\"prompt-text-input\",\n", "    )\n", "\n", "    guidance_scale = gr.Slider(\n", "        label=\"Guidance Scale\", minimum=0, maximum=50, value=7.5, step=0.1\n", "    )\n", "\n", "    ex = gr.Examples(\n", "        examples=examples,\n", "        fn=infer,\n", "        inputs=[text, guidance_scale],\n", "        outputs=[gallery, out_txt],\n", "        cache_examples=True,\n", "    )\n", "\n", "    text.submit(\n", "        infer,\n", "        inputs=[text, guidance_scale],\n", "        outputs=[gallery, out_txt],\n", "        concurrency_id=\"infer\",\n", "        concurrency_limit=8,\n", "    )\n", "\n", "with gr.Blocks() as demo:\n", "    block.render()\n", "\n", "if __name__ == \"__main__\":\n", "    demo.queue(max_size=10, api_open=False).launch(show_api=False)\n"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}