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方向感兴趣的话可以点点关注,我之后将持续更新这一系列的文章,带你慢慢了解使用各种大模型😘

相关推荐
Python大数据分析@6 分钟前
python操作CSV和excel,如何来做?
开发语言·python·excel
黑叶白树7 分钟前
简单的签到程序 python笔记
笔记·python
北京搜维尔科技有限公司8 分钟前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
说私域11 分钟前
基于开源 AI 智能名片 S2B2C 商城小程序的视频号交易小程序优化研究
人工智能·小程序·零售
YRr YRr11 分钟前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
qq_3901617712 分钟前
防抖函数--应用场景及示例
前端·javascript
知来者逆16 分钟前
研究大语言模型在心理保健智能顾问的有效性和挑战
人工智能·神经网络·机器学习·语言模型·自然语言处理
Shy96041820 分钟前
Bert完形填空
python·深度学习·bert
云起无垠25 分钟前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型
上海_彭彭31 分钟前
【提效工具开发】Python功能模块执行和 SQL 执行 需求整理
开发语言·python·sql·测试工具·element