这个AI模型能识别出这个橘子吗?

简介: 这个AI模型能识别出这个橘子吗?

导读

图像识别任务是人工智能计算机视觉领域一个重要的子任务,本篇文章将通过使用一个预训练模型来帮助读者快速上手图像识别任务,对应的文件可通过关注文章末尾的公众号领取

本篇文章需要一定人工智能基础,不了解的可从博主其他人工智能专栏进行学习

本次介绍的模型是resnet模型

可以将本篇博文当作notebook来阅读,也方便读者进行运行

模型配置

库的导入

首先导入本次项目所需要的库,torchvision是一个计算机视觉库,里面有很多相关模型

from torchvision import models
from torchvision import transforms

模型初始化

接着创建模型对象

resnet = models.resnet101(pretrained=True)

图片处理器

创建一个预处理器,用于将不同格式的图片都转化为模型需要的输入格式

preprocess = transforms.Compose([
    transforms.Resize(256),
    transforms.CenterCrop(224),
    transforms.ToTensor(),
    transforms.Normalize(
        mean=[0.485, 0.456, 0.406],
        std=[0.229, 0.224, 0.225]
    )])

图片处理

导入图片处理库

from PIL import Image
import matplotlib.pyplot as plt

导入图片

将your_path替换为自己的图片路径

img = Image.open("/kaggle/input/orange/orange.jpg")

查看图片通道数

运行以下代码查看图片通道数

print(len(img.getbands()))

如果图片通道数是4,就将它转化为RGB图片(通道数为3),因为图片预处理器处理的是3通道图片

img= img.convert("RGB")

处理图片

将图片放入图片处理器

img_t = preprocess(img)

导入torch库

import torch

扩充维度

拓展一个维度用作训练数据

batch_t = torch.unsqueeze(img_t, 0)

模型训练与评估

模型初始化

这部分代码将模型切换为评估模式,表示本次运行仅使用模型,不进行训练,再将图片输入模型,获取结果

resnet.eval()
out = resnet(batch_t)

导入标签

这段代码是模型对应输出的标签,即判别结果,标签文件可关注文章末尾公众号领取,下载后记得将路径替换为自己的路径

with open("/kaggle/input/pytorch/dlwpt-code-master/data/p1ch2/imagenet_classes.txt") as f:
    labels = [line.strip() for line in f.readlines()]

因为模型输出的是一些浮点数,我们获取最大值的索引,并在标签中搜索则可以得到最终结果

此段代码输出对应的结果和模型判断结果正确的概率

_, index = torch.max(out, 1)
percentage = torch.nn.functional.softmax(out, dim=1)[0] * 100
print(labels[index[0]], percentage[index[0]].item())

测试

以下是博主运行的图片和结果

输入了一个橘子图片

模型表示有97%的概率是橘子

感谢阅读,觉得有用的话就订阅下《AI模型分享》专栏吧,有错误也欢迎指出

相关文章
|
26天前
|
人工智能 自然语言处理 搜索推荐
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
AI Compass前沿速览:Qoder Agentic编程、vivo Vision头显、AIRI桌面伴侣、RM-Gallery奖励模型平台
|
1月前
|
人工智能 JavaScript 测试技术
Cradle:颠覆AI Agent 操作本地软件,AI驱动的通用计算机控制框架,如何让基础模型像人一样操作你的电脑?
Cradle 是由 BAAI‑Agents 团队开源的通用计算机控制(GCC)多模态 AI Agent 框架,具备视觉输入、键鼠操作输出、自主学习与反思能力,可操作各类本地软件及游戏,实现任务自动化与复杂逻辑执行。
163 6
|
1月前
|
存储 人工智能 算法
AI测试平台实战:深入解析自动化评分和多模型对比评测
在AI技术迅猛发展的今天,测试工程师面临着如何高效评估大模型性能的全新挑战。本文将深入探讨AI测试平台中自动化评分与多模型对比评测的关键技术与实践方法,为测试工程师提供可落地的解决方案。
|
2月前
|
机器学习/深度学习 人工智能 PyTorch
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
本文以 MNIST 手写数字识别为切入点,介绍了深度学习的基本原理与实现流程,帮助读者建立起对神经网络建模过程的系统性理解。
234 15
AI 基础知识从 0.2 到 0.3——构建你的第一个深度学习模型
|
2月前
|
机器学习/深度学习 人工智能 编解码
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型
AI-Compass LLM合集-多模态模块:30+前沿大模型技术生态,涵盖GPT-4V、Gemini Vision等国际领先与通义千问VL等国产优秀模型
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
AI 基础知识从 0.3 到 0.4——如何选对深度学习模型?
本系列文章从机器学习基础出发,逐步深入至深度学习与Transformer模型,探讨AI关键技术原理及应用。内容涵盖模型架构解析、典型模型对比、预训练与微调策略,并结合Hugging Face平台进行实战演示,适合初学者与开发者系统学习AI核心知识。
240 15
|
1月前
|
人工智能 自然语言处理 负载均衡
排期延误预警:用AI预测项目风险的3层模型搭建教程
本文介绍了如何通过 AI 智能排期将项目排期误差减少 40% 以上。文章剖析了传统排期中常见的经验依赖、资源冲突、需求变更和进度滞后四大痛点,提出 AI 排期的三步落地方法:历史数据建模、动态适配需求、资源智能匹配,并推荐适配不同团队的 AI 排期工具。强调 AI 是辅助而非替代,核心在于用数据驱动提升排期准确性,帮助团队告别“拍脑袋估期”,实现高效、可控的项目管理。
排期延误预警:用AI预测项目风险的3层模型搭建教程
|
1月前
|
人工智能 边缘计算 自然语言处理
普通电脑也能跑AI:10个8GB内存的小型本地LLM模型推荐
随着模型量化技术的发展,大语言模型(LLM)如今可在低配置设备上高效运行。本文介绍本地部署LLM的核心技术、主流工具及十大轻量级模型,探讨如何在8GB内存环境下实现高性能AI推理,涵盖数据隐私、成本控制与部署灵活性等优势。
664 0
普通电脑也能跑AI:10个8GB内存的小型本地LLM模型推荐
|
2月前
|
人工智能 安全 API
用Qwen Code,体验全新AI编程——高效模型接入首选ModelGate
Qwen Code 是通义千问推出的AI编程助手,支持自然语言编程与智能代码生成,大幅提升开发效率。结合 ModelGate,可实现多模型统一管理、安全调用,解决API切换、权限控制、稳定性等问题,是Claude Code的理想国产替代方案。

热门文章

最新文章