AIGC工程师初体验:试用谷歌识图模型

大家对于AIGC方向感兴趣的话可以点点关注,我之后将持续更新这一系列的文章,带你慢慢了解使用各种大模型😘

前言

AI的迅速发展,从"人工智障"到现在的人工智能,给互联网行业带来巨大机遇和挑战。各种大型AI模型的出现为开发人员提供了强大的工具,通过利用这些模型,我们能够加速开发流程、提高效率。这些模型不仅在自然语言处理和图像识别领域表现优异,而且在广泛的任务中都有应用潜力,比如推荐系统、预测分析等。

有人可能会担心,AI这么强,会不会以后找不到工作了?传统行业的从业者必然会被取代,AI模型加持下带来的工作效率提升是一般传统工作者不能比拟的,传统客服行业将会有一大部分人面临失业;但是AI也并没有发展到完全取代人类的夸张地步,现在的AI也还只是一个更加有用工具,还需要会使用这个工具的使用者让它发挥作用。这个使用者在互联网行业中就是AIGC工程师。

AIGC前端需求激增

在一些生活场景中我们经常能看到一些智能设备具有能够识别物体的功能

接下来将带大家来体验一下谷歌的owlvit-base-patch32图片识别模型,简单地实现从图片中识别目标物体的内容和位置信息。

colaboratory

Colaboratory 简称"Colab",是 Google Research 团队开发的一款产品。在 Colab 中,任何人都可以通过浏览器编写和执行任意 Python 代码。它尤其适合机器学习、数据分析和教育目的

1.我们首先在google中搜索colaboratory,点击第二个

2.进入colaboratory之后,点击新建笔记本,进去后要登录谷歌账号

代码

输入代码咱们入门体验模型使用建议先一步一步输入代码
1.

python 复制代码
!pip install transformers

点击新建代码,输入完成后点击输入框左边的运行键运行代码

这是一个Python命令,用于在Colab环境中安装 Hugging Face 的 Transformers 库。执行 !pip install transformers 会使用 pip 工具安装最新版本的 Transformers 库,让你能够在你的代码中使用 Transformers 提供的预训练模型、模型架构、标记器以及其他 NLP 相关工具和函数。

2.

python 复制代码
from transformers.pipelines import SUPPORTED_TASKS SUPPORTED_TASKS

这段代码使用了Hugging Face的Transformers库,它导入了SUPPORTED_TASKS这个变量,然后打印出其值。SUPPORTED_TASKS包含了Transformers库支持的各种NLP任务,比如文本生成、命名实体识别、情感分析等等。通过打印SUPPORTED_TASKS,你可以查看当前环境下支持的所有任务列表。

3.

python 复制代码
for k, v in SUPPORTED_TASKS.items():
  print(k)
  

这段代码的作用是打印出SUPPORTED_TASKS字典中所有的键值(key)

4.

python 复制代码
from transformers import pipeline
checkpoint = "google/owlvit-base-patch32" #图片识别模型
detector = pipeline('zero-shot-object-detection',model=checkpoint)
  

这段代码使用了Hugging Face的transformers库,首先从中导入了名为pipeline的函数。然后定义了一个名为checkpoint的变量,其值为"google/owlvit-base-patch32",这是一个用于图片识别的模型。

接下来,利用导入的pipeline函数创建了一个名为detector的对象,该对象使用了"zero-shot-object-detection"模型,并指定了使用之前定义的checkpoint作为模型参数。

这段代码的作用是使用Hugging Face的transformers库创建了一个零样本目标检测(zero-shot-object-detection)的模型对象,以便进行后续的目标检测任务。

5.

python 复制代码
for k, v in SUPPORTED_TASKS.items():
  print(k)
  

6.

python 复制代码
import requests #python的http 请求库

from PIL import Image # PIL pthon 图片的专业库

  


url = "https://unsplash.com/photos/oj0zeY2Ltk4/download?ixid=MnwxMjA3fDB8MXxzZWFyY2h8MTR8fHBpY25pY3xlbnwwfHx8fDE2Nzc0OTE1NDk&force=true&w=640"

# 人生苦短, 我用python

# request.get 获取用户需求 同步语言

img = Image.open(requests.get(url,stream=True).raw)

img
  1. 首先,通过import requestsfrom PIL import Image分别导入了requests库和PIL库中的Image模块。
  2. 接着,定义了一个变量url,其值是一个图片的URL链接。
  3. 然后,使用requests.get(url, stream=True).raw向指定的URL发送了一个GET请求,并将获取到的响应内容作为二进制流对象传递给了Image.open()方法。
  4. 最后,利用Image.open(requests.get(url, stream=True).raw)打开了获取到的图片,并将其赋值给了变量img

测试使用的图片

7.

python 复制代码
from PIL import ImageDraw # 写模块
draw = ImageDraw.Draw(img)

for prediction in predictions:
  box = prediction["box"]
  label = prediction["label"]
  score = prediction["score"]
  xmin,ymin,xmax,ymax = box.values() # 解构
  draw.rectangle((xmin,ymin,xmax,ymax),outline="red",width=1)
  draw.text((xmin,ymin),f"{label}:{round(score,2)}",fill="red")
  img

这段代码使用了PIL库中的ImageDraw模块,针对图像进行了一系列的操作,具体解释如下:

  1. 首先,通过from PIL import ImageDraw导入了ImageDraw模块。
  2. 然后,使用ImageDraw.Draw(img)创建了一个用于在图像上绘制的对象draw,其中img是一个图像对象。
  3. 接下来的循环for prediction in predictions:遍历了一个叫做predictions的列表。在每次迭代中,从prediction中获取了box(边界框坐标)、label(标签)和score(置信度)等信息。
  4. 通过box.values()将边界框坐标解构为xminyminxmaxymax,然后利用draw.rectangle((xmin,ymin,xmax,ymax), outline="red", width=1)在图像上绘制了一个红色矩形框,代表检测到的物体;同时,利用draw.text((xmin,ymin), f"{label}: {round(score, 2)}", fill="red")在矩形框的左上角位置写入了标签和置信度。

最终效果

大家对于AIGC方向感兴趣的话可以点点关注,我之后将持续更新这一系列的文章,带你慢慢了解使用各种大模型😘

相关推荐
Captain823Jack22 分钟前
nlp新词发现——浅析 TF·IDF
人工智能·python·深度学习·神经网络·算法·自然语言处理
被制作时长两年半的个人练习生22 分钟前
【AscendC】ReduceSum中指定workLocal大小时如何计算
人工智能·算子开发·ascendc
资源补给站1 小时前
大恒相机开发(2)—Python软触发调用采集图像
开发语言·python·数码相机
Captain823Jack1 小时前
w04_nlp大模型训练·中文分词
人工智能·python·深度学习·神经网络·算法·自然语言处理·中文分词
m0_748247551 小时前
Web 应用项目开发全流程解析与实战经验分享
开发语言·前端·php
Black_mario1 小时前
链原生 Web3 AI 网络 Chainbase 推出 AVS 主网, 拓展 EigenLayer AVS 应用场景
网络·人工智能·web3
PieroPc1 小时前
Python 自动化 打开网站 填表登陆 例子
运维·python·自动化
Aileen_0v01 小时前
【AI驱动的数据结构:包装类的艺术与科学】
linux·数据结构·人工智能·笔记·网络协议·tcp/ip·whisper
数信云 DCloud1 小时前
实力认可 | 通付盾入选《ISC.AI 2024创新能力全景图谱》五项领域
人工智能
itwangyang5202 小时前
AIDD - 从机器学习到深度学习:蛋白质-配体对接评分函数的进展
人工智能·深度学习·机器学习