gradio 基本样式

news2025/2/4 17:42:30

可以在下面的网页上作测试: 

Gradio PlaygroundPlay Around with Gradio Demosicon-default.png?t=N7T8https://www.gradio.app/playground1.text、checkbox、Slider

import gradio as gr

def greet(name, is_morning, temperature):
    salutation = "Good morning" if is_morning else "Good evening"
    greeting = f"{salutation} {name}. It is {temperature} degrees today"
    celsius = (temperature - 32) * 5 / 9
    return greeting, round(celsius, 2)

demo = gr.Interface(
    fn=greet,
    inputs=["text", "checkbox", gr.Slider(0, 100)],
    outputs=["text", "number"],
)
demo.launch()

2.gr.Image

import numpy as np
import gradio as gr

def sepia(input_img):
    sepia_filter = np.array([
        [0.393, 0.769, 0.189], 
        [0.349, 0.686, 0.168], 
        [0.272, 0.534, 0.131]
    ])
    sepia_img = input_img.dot(sepia_filter.T)
    sepia_img /= sepia_img.max()
    return sepia_img

demo = gr.Interface(sepia, gr.Image(), "image")
demo.launch()

3.gr.Blocks()

import numpy as np
import gradio as gr

def flip_text(x):
    return x[::-1]

def flip_image(x):
    return np.fliplr(x)

with gr.Blocks() as demo:
    gr.Markdown("Flip text or image files using this demo.")
    with gr.Tab("Flip Text"):
        text_input = gr.Textbox()
        text_output = gr.Textbox()
        text_button = gr.Button("Flip")
    with gr.Tab("Flip Image"):
        with gr.Row():
            image_input = gr.Image()
            image_output = gr.Image()
        image_button = gr.Button("Flip")

    with gr.Accordion("Open for More!"):
        gr.Markdown("Look at me...")

    text_button.click(flip_text, inputs=text_input, outputs=text_output)
    image_button.click(flip_image, inputs=image_input, outputs=image_output)

demo.launch()

4.gr.Gallery()

import numpy as np
import gradio as gr

rembg_model_ids = [
    "lama",
    "ldm",
    "zits",
    "mat",
    "fcf",
    "manga",
]

ppmatting_model_ids = [
    ""
]

modnet_model_ids = [""]

bshm_model_ids = [""]

rvm_model_ids = [""]

basnet_model_ids = [""]


def sepia(inputs, model_id):
    # input_img = inputs["image"]
    # input_mask = inputs["mask"]
    input_img = inputs
    sepia_filter = np.array([
        [0.393, 0.769, 0.189],
        [0.349, 0.686, 0.168],
        [0.272, 0.534, 0.131]
    ])
    sepia_img = input_img.dot(sepia_filter.T)
    sepia_img /= sepia_img.max()
    return sepia_img


compared_images = []


def compare():
    return compared_images


with gr.Blocks(analytics_enabled=False) as lama_interface:
    with gr.Row():
        with gr.Column():
            with gr.Row():
                input = gr.Image(label="Input", type="numpy")

            with gr.Tab("rembg", elem_id='rembg_tab'):
                with gr.Row():
                    with gr.Column():
                        rembg_model_id = gr.Dropdown(label="Model ID", elem_id="model_id", choices=rembg_model_ids,
                                                     value=rembg_model_ids[0], show_label=True)
                        background_color = gr.ColorPicker(label="Bg color", value="#FFFFFF")
                        post_process_mask = gr.Checkbox(label="Post process mask", elem_id="post_process_mask",
                                                        show_label=True, interactive=True)

                    with gr.Column():
                        alpha_cutout_erode_size = gr.Slider(label="Erode size", minimum=0, maximum=255, step=1,
                                                            value=0)
                        alpha_cutout_foreground_threshold = gr.Slider(label="Foreground threshold", minimum=0,
                                                                      maximum=255, step=1, value=0)
                        alpha_cutout_background_threshold = gr.Slider(label="Background threshold", minimum=0,
                                                                      maximum=255, step=1, value=0)

                with gr.Row():
                    rembg_btn = gr.Button("Run Rembg", elem_id="rembg_btn", variant="primary")

            with gr.Tab("ppmatting", elem_id="ppmatting_tab"):
                with gr.Row():
                    ppmatting_model_id = gr.Dropdown(label="Model ID", elem_id='model_id', choices=ppmatting_model_ids,
                                                     value=ppmatting_model_ids[0], show_label=True)
                    with gr.Column():
                        ppmatting_btn = gr.Button("Run PPMatting", elem_id="ppmatting_btn", variant="primary")

            with gr.Tab("modnet", elem_id='modnet_tab'):
                with gr.Row():
                    modnet_model_id = gr.Dropdown(label="Model ID", elem_id="model_id", choices=modnet_model_ids,
                                                  value=modnet_model_ids[0], show_label=True)
                    with gr.Column():
                        modnet_btn = gr.Button("Run Modnet", elem_id="modnet_btn", variant="primary")

            with gr.Tab("bshm", elem_id="bshm_tab"):
                with gr.Row():
                    bshm_model_id = gr.Dropdown(label="Model ID", elem_id='model_id', choices=bshm_model_ids,
                                                value=bshm_model_ids[0], show_label=True)
                    with gr.Column():
                        bshm_btn = gr.Button("Run BSHM", elem_id="bshm_btn", variant="primary")

            with gr.Tab("rvmv2", elem_id="rvmv2_tab"):
                with gr.Row():
                    rvm_model_id = gr.Dropdown(label="Model ID", elem_id='model_id', choices=rvm_model_ids,
                                               value=rvm_model_ids[0], show_label=True)
                    with gr.Column():
                        rvm_btn = gr.Button("Run RVM", elem_id="rvm_btn", variant="primary")

            with gr.Tab("basnet", elem_id="basnet_tab"):
                with gr.Row():
                    basnet_model_id = gr.Dropdown(label="Model ID", elem_id='model_id', choices=basnet_model_ids,
                                                  value=basnet_model_ids[0], show_label=True)
                    with gr.Column():
                        basnet_btn = gr.Button("Run BASNet", elem_id="basnet_btn", variant="primary")

        with gr.Column():
            out_gallery_kwargs = dict(columns=2, object_fit="contain", preview=True)
            output = gr.Gallery(label="output", elem_id="output", show_label=True).style(
                **out_gallery_kwargs)

            send_btn = gr.Button("Send to Compare", elem_id="send_btn", variant="primary")

    with gr.Row():
        compared = gr.Gallery(
            label="Compared images", show_label=True, elem_id="gallery"
            , columns=[2], rows=[2], object_fit="contain", height="auto")

    rembg_btn.click(sepia, inputs=[input, rembg_model_id, background_color, post_process_mask, alpha_cutout_erode_size,
                                   alpha_cutout_foreground_threshold, alpha_cutout_background_threshold],
                    outputs=[output])

    send_btn.click(compare, inputs=None, outputs=compared)

lama_interface.launch()

5.gr.Radio()

import gradio as gr


def change_textbox(choice):
    if choice == "short":
        return gr.Textbox(lines=2, visible=True)
    elif choice == "long":
        return gr.Textbox(lines=8, visible=True, value="Lorem ipsum dolor sit amet")
    else:
        return gr.Textbox(visible=False)


with gr.Blocks() as demo:
    radio = gr.Radio(
        ["short", "long", "none"], label="What kind of essay would you like to write?"
    )
    text = gr.Textbox(lines=2, interactive=True, show_copy_button=True)
    radio.change(fn=change_textbox, inputs=radio, outputs=text)

    with gr.Row():
        num = gr.Number(minimum=0, maximum=100, label="input")
        out = gr.Number(label="output")
    minimum_slider = gr.Slider(0, 100, 0, label="min")
    maximum_slider = gr.Slider(0, 100, 100, label="max")

    def reset_bounds(minimum, maximum):
        return gr.Number(minimum=minimum, maximum=maximum)
    
    minimum_slider.change(reset_bounds, [minimum_slider, maximum_slider], outputs=num)
    maximum_slider.change(reset_bounds, [minimum_slider, maximum_slider], outputs=num)
    num.submit(lambda x:x, num, out)


if __name__ == "__main__":
    demo.launch()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1328430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Arduino平台软硬件原理及使用——Arduino Uno板卡的使用

本文目录 一、Arduino平台简介 二、Arduino Uno板卡简介 三、Arduino编译器简介 四、Arduino平台结合Arduino Uno板卡的使用 一、Arduino平台简介 Arduino 是一个灵活、易于使用的开源电子平台,这个平台包含软件和硬件。 Arduino能通过各种各样的传感器来感知环境&…

Lang–Kobayashi方程实现混沌python实现混沌序列图像

Lang–Kobayashi方程描述为: 第一部分(Drive laser)是描述的驱动激光器,第二部分(Response laser)描述的是响应激光器。实验结构图如下: 虚线框表示响应激光器中的闭环配置。开环中响应激光器无…

C#电源串口调试

目的 记录串口调试的遇到的一些问题以及相应的解决方法 1.串口定义:串口是计算机与其他硬件传输数据的通道,在计算机与外设通信时起到重要作用 2.串口通信的基础知识 C#中的串口通信类 C#使用串口通信类是SerialPort(),该类使用方法是 new 一个 SerialPort对象 为S…

【大模型实践】基于文心一言的对话模型设计

文心一言(英文名:ERNIE Bot)是百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动、回答问题、协助创作,高效便捷地帮助人们获取信息、知识和灵感。文心一言从数万亿数据和数千亿知识…

Git 配置多个 SSH-Key

Git 配置多个 SSH-Key (两个都是gitee) 先看图,官网固然重要,但是不完全行(因为官网示例是一个gitee一个github),现在想是想多个都是gitee在他上面稍微更改即可 一般不对遇到这种问题&#xf…

Kylin基础知识点解析与应用探索

目录 学习目标: 学习内容: 学习时间: 学习产出: Kylin简介 什么是Kylin Kylin的历史和发展 Kylin在大数据领域的地位和作用 Kylin架构 Kylin的组成部分和模块 Kylin的工作原理和流程 Kylin与其他大数据组件的关系和集成 Kylin功能…

ffmpeg 硬件解码零拷贝unity 播放

ffmpeg硬件解码问题 ffmpeg 在硬件解码,一般来说,我们解码使用cuda方式,当然,最好的方式是不要确定一定是cuda,客户的显卡不一定有cuda,windows 下,和linux 下要做一些适配工作,最麻…

Python知识(2/20):Python基本数据类型

1. Python基本数据类型 Python 中基本的数据类型主要有整型(int)、浮点型(float)、布尔型(bool)、 字符串(str)。 1.1 整型-int 对于整数类型来说,Python 的特殊之处在…

通过navcat的ssh连接 将一个服务器当作跳板连接远程mysql

文章目录 通过ssh连接一个服务器当作跳板连接远程mysql 通过ssh连接一个服务器当作跳板连接远程mysql 简单来说 一共三台机器 windows Linux(入口) Linux(mysql) windows 可以通过ssh 私钥连接Linux(入口)…

数据分析基础之《numpy(4)—ndarry运算》

一、逻辑运算 当我们要操作符合某一条件的数据时,需要用到逻辑运算 1、运算符 满足条件返回true,不满足条件返回false # 重新生成8只股票10个交易日的涨跌幅数据 stock_change np.random.normal(loc0, scale1, size(8, 10))# 获取前5行前5列的数据 s…

小程序隐私保护指引组件wx.getPrivacySetting

问题:项目里使用了获取微信昵称的input标签,发现上线后获取不到微信昵称 解决方案去更新隐私保护协议 然后重新进入小程序就会弹出弹框 2.自己自定义一个隐私保护提示,以下是我的组件 在component里面创建privacyPopup文件夹 privacyPopup.…

裸色打底裤:“光腿神器”怎么就成了“美丽刑具”?

近日,裸色打底裤因其隐形又保暖、拍照显得像真的光腿一般的效果,一直有着“光腿神器”的美誉,在冬天销量十分可观。然而,最近关于“光腿神器的危害有多大”的话题登上热搜,引发了广泛关注。 裸色打底裤作为一种时尚单…

Ubuntu 常用命令之 chown 命令用法介绍

📑Linux/Ubuntu 常用命令归类整理 chown 命令在 Ubuntu 系统中用于改变文件或目录的所有者和组。这个命令的基本格式是 chown [选项]... [所有者][:[组]] 文件...。 chown 命令的主要参数有 -c 或 --changes:类似 verbose,但只在发生改变时…

【快速解决】python数据可视化时候无法显示中文字符的问题/图表中无法显示中文字符

目录 问题展示 解决方法 运行效果展示 问题展示 解决方法 加入以下代码即可 import matplotlib.pyplot as pltplt.rcParams[font.sans-serif] [SimHei] plt.rcParams[axes.unicode_minus] False运行效果展示 成功运行出来 🌌点击下方个人名片,交流会…

如何使用 Helm 在 K8s 上集成 Prometheus 和 Grafana|Part 1

本系列将分成三个部分,您将学习如何使用 Helm 在 Kubernetes 上集成 Prometheus 和 Grafana,以及如何在 Grafana 上创建一个简单的控制面板。Prometheus 和 Grafana 是 Kubernetes 最受欢迎的两种开源监控工具。学习如何使用 Helm 集成这两个工具&#x…

15张超级有用的电商模版

电商即电子商务(Electronic Commerce) ,是利用计算机技术、网络技术和远程通信技术,实现电子化、数字化和网络化的整个商务过程。本专题包含电商运营策略、电商平台底层逻辑、营销流程设计等模板内容。 如果你是一个电商小白,你需要以下的电…

爬虫实战案例 -- 爬取豆瓣读书网页内容

进入网站检查信息 , 确定请求方式以及相关数据 找到爬取目标位置 开始敲代码 # 链接网站 def url_link(url):res requests.get(url,headers headers)response res.textparse_data(response)# 爬取信息 def parse_data(data):msg <li\sclass"media\sclearfix…

【沁恒蓝牙mesh】CH58x DataFlash 详解

本文主要介绍了 沁恒蓝牙芯片 CH58x 的 DataFlash 分区以及读写操作以及原理 &#x1f4cb; 个人简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是喜欢记录零碎知识点的小菜鸟。&#x1f60e;&#x1f4dd; 个人主页&#xff1a;欢迎访问我的 Ethernet_Comm 博…

恶意软件样本行为分析——Process Monitor和Wireshark

1.1 实验名称 恶意软件样本行为分析 1.2 实验目的 1) 熟悉 Process Monitor 的使用 2) 熟悉抓包工具 Wireshark 的使用 3) VMware 的熟悉和使用 4) 灰鸽子木马的行为分析 1.3 实验步骤及内容 第一阶段&#xff1a;熟悉 Process Monitor 的使用 利用 Process …

ElasticSearch 数据分片

一、ElasticSearch 分片 ElasticSearch集群中有许多个节点(Node)&#xff0c;每一个节点实例就是一个实例&#xff1b;数据分布在分片之间。集群的容量和性能主要取决于分片如何在节点上如何分配。将数据分片是为了提高可处理的容量和易于进行水平扩展&#xff0c;为分片做副本…