【实用工具】Gradio快速部署深度学习应用1:图像分类

news2025/1/20 3:37:45

前言

在AI快速发展的今天,我们作为算法开发人员,也应该有一些趁手的工具帮助我们快速开发并验证自己的想法,Gradio可以实现快速搭建和共享的功能,能够展示出一个前端界面,把我们的算法包裹起来,快速验证算法的有效性,文档也丰富,通俗易懂,喜欢的小伙伴可以学一手。

环境安装

使用pip install安装

gradio
gradio_client
torch
torchvision

代码

完整代码链接:

链接: https://pan.baidu.com/s/1x4ZTN7cTASv8cZe_iBoYVw

提取码: r425

from torchvision import transforms
import gradio as gr
import torch

model = torch.hub.load('pytorch/vision:v0.6.0', 'resnet18', pretrained=True).eval()


# 打开文本文件
file_path = 'labels.txt'  # 将文件路径替换为你实际的文本文件路径
with open(file_path, 'r') as file:
    # 读取文件内容
    labels = file.readlines()
#去掉每个label的换行符
labels = [label.rstrip() for label in labels]


#预测函数
def predict(inp):
  inp = transforms.ToTensor()(inp).unsqueeze(0)
  with torch.no_grad():
    prediction = torch.nn.functional.softmax(model(inp)[0], dim=0)
    confidences = {labels[i]: float(prediction[i]) for i in range(1000)}
  return confidences


#fn表示触发函数,当我们点击提交按钮时,触发predict函数进行推理
#inputs表示图像会被转换为PIL.Image格式
#outputs将以label的形式展示出来
#examples可以将图片作为示例展示出来,供用户使用
gr.Interface(fn=predict,
             inputs=gr.Image(type="pil"),
             outputs=gr.Label(num_top_classes=3),
             examples=["sheep.jpeg", "panda.jpg", "dog.jpg", "tiger.jpg"]).launch()

运行

 点击http://127.0.0.1:7860,会出现前端展示页面

页面展示

参考链接:

 Gradio Interface Docs

 Image Classification In Pytorch

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

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

相关文章

python+django超市进销存仓库管理系统s5264

本次设计任务是要设计一个超市进销存系统,通过这个系统能够满足超市进销存系统的管理及员工的超市进销存管理功能。系统的主要功能包括:首页、个人中心、员工管理、客户管理、供应商管理、承运商管理、仓库信息管理、商品类别管理、由管理员和员工&#…

程序的编译、链接

目录 前言: 前置知识回顾 宏 宏定义常量 宏定义语句 宏定义函数 条件编译 应用场景 编译过程概览 预编译阶段 编译阶段 汇编阶段 链接阶段 前言: 在ANSI C的任何一种实现中,存在两种不同的环境,第1种是翻译环境&#x…

2023年03月09日_谷歌视觉语言模型PaLM-E的介绍

自从最近微软凭借OpenAI 和ChatGPT火了一把之后呢 老对手Google就总想着扳回一局 之前发布了硬刚ChatGPT的Bard 但是没想到翻车了 弄巧成拙 所以呢Google这一周又发了个大招 发布了史上最大的视觉语言模型PaLM-E 这个模型有多夸张呢 参数量高达5,620亿 是ChatGTP-3的三…

【Matlab】CNN卷积神经网络时序预测算法

资源下载: https://download.csdn.net/download/vvoennvv/88681558 一,概述 CNN(Convolutional Neural Network,卷积神经网络)是一种前馈神经网络,主要用于处理具有类似网格结构的数据,例如图像…

HTML---JavaScript基础

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 本章目标 掌握JavaScript的组成掌握JavaScript的基本语法会定义和使用函数会使用工具进行代码调试 一.JavaScript基础 概述 JavaScript是一种基于对象和事件驱动的脚本语言,用于在…

DotNet 命令行开发

DotNet 命令行开发 下载安装下载 SDK安装 SDK绿色版下载绿化脚本 常用命令创建 dotnet new运行 dotnet run发布应用 dotnet publish更多命令 VSCode 调试所需插件调试 CS 配置项目.csproj排除依赖关系 launch.jsontasks.json 参考资料 下载安装 下载 SDK 我们就下最新的好&am…

linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享

Ubuntu安装配置Samba服务与Win10共享文件 Chapter1 Ubuntu18.04安装配置Samba服务与Win10共享文件一、什么是Samba二、安装Samba1、查看是否有安装samba2、安装samba 三、配置Samba服务1、创建共享目录(以samba_workspaces为例)2、为samba设置登录用户3、…

集群部署篇--Redis 主从模式

文章目录 前言Redis 主从部署:1.1 主从架构 介绍:1.2 主从架构 实现:1.2.1 redis 安装: 1.3 主从架构优缺点:1.4 故障转移: 总结 前言 显然在线上环境中 Redis 服务不能以单机的方式运行,必须有…

JAVA基础入门自学篇

JAVA基础入门 环境准备 win10/ideJava环境 零开始搭建项目 1. 创建空项目 依次点击:File—>New—>Project选择:Empty Project, 输入项目名,如图所示 2. 创建Module 依次点击:File—>New—>Module 选…

【零基础入门VUE】VueJS - 实例

✍面向读者:所有人 ✍所属专栏:零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html 目录 句法 vue_instance.js 输出 例子 输出 实施例1 实施例2 例子 例子 要开始使用 VueJS,我们需要创建 Vue 实例&#xf…

前言-ERP管理平台各个模块角色登录账号及各模块逻辑说明

全国职业院校技能大赛-高职组”软件测试"赛项竞赛训练ERP管理平台角色登录账号如下: “ERP 管理平台”内置一定数量 Bug,该系统可支持基于 Web 端 的功能测试、自动化测试、性能测试、接口测试、白盒测试、单元测 试等。系统主要模块包括:采购入库、采购退货、库存分…

LVS负载均衡配置虚拟引起微服务注册混乱

线上小程序突然报错,查看网关日志,访问下游微服务A时大量报错: 1)检查微服务是否未注册。登录eureka页面,发现三个节点均正常注册 三个微服务节点地址分别为:13.9.1.91:8080,13.9.1.92:8080和1…

图像分割实战-系列教程2:Unet系列算法

图像分割实战-系列教程 总目录 语义分割与实例分割概述 Unet系列算法 1、Unet 整体结构:概述就是编码解码过程简单但是很实用,应用广起初是做医学方向,现在也是 语义分割与实例分割概述 Unet系列算法

EBU7140 Security and Authentication(一)常见加密算法

前言 主要根据 EBU7140 课程内容整理,比较偏向应试~ Block1:介绍课程,传统加密方式。 Block2:公钥加密的原理和应用。 Block3:一些特定安全协议技术(如防火墙 Kerberos身份验证协议等)。 B…

PLC龙门刨床横梁运动控制程序示例

一、龙门刨床横梁运动控制 二、按钮信号地址分配 三、对应的程序梯形图 1、首先按下上升按钮, 同时接通这两个触点(上升之前先对横梁进行放松) 2、当放得足够松的时候,放松通路断开,上升通路接通,横梁开始上…

20231229在Firefly的AIO-3399J开发板的Android11使用挖掘机的DTS配置单前后摄像头ov13850

20231229在Firefly的AIO-3399J开发板的Android11使用挖掘机的DTS配置单前后摄像头ov13850 2023/12/29 11:10 开发板:Firefly的AIO-3399J【RK3399】 SDK:rk3399-android-11-r20211216.tar.xz【Android11】 Android11.0.tar.bz2.aa【ToyBrick】 Android11.…

Java设计模式实战:从If-Else到策略+工厂方法的演变

引言 可能很多开发者,虽然理解了设计模式的概念,但在实际工作中应用却是另一回事。本篇文章旨在用一个具体的案例来展示如何将设计模式应用到工作的编程问题中。正所谓:“纸上得来终觉浅,绝知此事要躬行。”理论的学习固然重要&a…

Mybatis底层原理分析以及源码阅读

费话不多少先上图,我只喜欢画图分析,看图片: 有两个问题: 问题1: 我们一直在写Mapper/DAO只写了接口,没有写具体的实现吧? 【是的】 问题2: 没有写实现类就没办法实例化执行后续的操…

Windows系统清理优化方法总结

一、禁用不必要的系统服务 1、家庭组:家庭组是Win10磁盘,CPU需要高服务,多数用户都没有使用,因此建议关闭,不会造成其他负面影响。 快捷键 winr 调出服务输入框键入services.msc点击确定 找到家庭组相关的两个服务双…

【已解决】 ubuntu apt-get update连不上dl.google.com

在终端使用apt-get update时,连接dl.google.com超时,一直卡在0%,原因是当前ip无法ping到google(墙)。 解决方法: dl.google.com国内可用IP 选一个,然后按以下命令操作: cd ~ vim …