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

相关推荐
JIngJaneIL2 分钟前
篮球论坛|基于SprinBoot+vue的篮球论坛系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·篮球论坛系统
闲人编程41 分钟前
自动化文件管理:分类、重命名和备份
python·microsoft·分类·自动化·备份·重命名·自动化文件分类
Jonathan Star1 小时前
用Python轻松提取视频音频并去除静音片段
开发语言·python·音视频
AKAMAI2 小时前
Fermyon推出全球最快边缘计算平台:WebAssembly先驱携手Akamai云驱动无服务器技术新浪潮
人工智能·云计算·边缘计算
程序猿阿伟2 小时前
《首屏加载优化手册:Vue3+Element Plus项目提速的技术细节》
前端·javascript·vue.js
云雾J视界2 小时前
TMS320C6000 VLIW架构并行编程实战:加速AI边缘计算推理性能
人工智能·架构·边缘计算·dsp·vliw·tms320c6000
想ai抽2 小时前
基于AI Agent的数据资产自动化治理实验
人工智能·langchain·embedding
刘火锅3 小时前
Java 17 环境下 EasyPoi 反射访问异常分析与解决方案(ExcelImportUtil.importExcelMore)
java·开发语言·python
fruge3 小时前
Vue Pinia 状态管理实战指南
前端·vue.js·ubuntu
小马过河R3 小时前
AIGC视频生成之Deepseek、百度妙笔组合实战小案例
人工智能·深度学习·计算机视觉·百度·aigc