通过 Gorilla 入门机器学习

news2024/11/24 14:36:53

机器学习是一种人工智能领域的技术和方法,旨在让计算机系统能够从数据中学习和改进,而无需显式地进行编程。它涉及构建和训练模型,使其能够自动从数据中提取规律、进行预测或做出决策。

我对于机器学习这方面的了解可以说是一片空白,既不懂机器学习,也不懂 python,更不懂算法。

像我这样的人,在短时间内精通机器学习是不可能的。

那么,现在我可以通过哪些渠道来快速了解机器学习呢?或者说,玩一玩?

答案就是通过 Gorilla 这个开源项目来实现机器学习。

Gorilla 简介&使用

Gorilla 是一个基于 LLM 实现的对话模型,可以接收用户提供的需求,然后给出能够实现需求的机器学习模型 API,目前支持的开源模型 API 来源包含:Hugging Face、Torch、and TensorFlow.

我们可以在 Google 的 Colab 上面运行 Gorilla,也可以在本地运行 Gorilla。

这里我使用 Colab 来运行 Gorilla。

Gorilla 提供了两个案例,一个是翻译的案例,一个是图像识别的案例。

这里我选用了图像识别的案例,点击运行。

image

从图中可以看出,我们给出的需求是 构建一个可以识别图片中的物体的机器人,使用的模型来源是 Hugging Face

它的回答是:

  • 步骤:
  1. 引入 PILtransformers 相关依赖, 其中包含的 DetrForObjectDetection 可用于图像识别。
  2. 使用 from_pretrained 方法加载模型,模型可以用来识别图片中的物体。
  3. 从远端下载图片,然后使用 PIL 处理图片。
  4. 使用模型识别图片中的物体,然后将识别结果返回。

最后,它给出了一段代码,我们可以直接复制到本地文件中运行。

运行之前,需要保证本地具备 python3 工作环境,同时需要使用 pip 将代码中使用到的依赖进行安装。

我在简单尝试后,发现这段代码是无法运行的,这也是大多数 LLM 模型的通病,看起来很专业的答案,但是实际代码是无法运行的。

Hugging Face 模型

不过,整体代码逻辑我看了一眼,是可以理解的,那么,我们可以自己动手来实现这个需求。

首先,在网上找到 Hugging Face,在里面发现了很多模型,这里我选择了最多下载的模型 —— 识别车牌。(如下图)

image

点进去可以看到功能介绍及示例代码。(如下图)

image

我把代码放到本地,下载相关依赖后,同时准备了下面这张待处理的图片。

import yolov5

# load model
model = yolov5.load('keremberke/yolov5m-license-plate')
  
# set model parameters
model.conf = 0.25  # NMS confidence threshold
model.iou = 0.45  # NMS IoU threshold
model.agnostic = False  # NMS class-agnostic
model.multi_label = False  # NMS multiple labels per box
model.max_det = 1000  # maximum number of detections per image

# set image
img = 'example.jpg'

# perform inference
results = model(img, size=640)

# inference with test time augmentation
results = model(img, augment=True)

# parse results
predictions = results.pred[0]
boxes = predictions[:, :4] # x1, y1, x2, y2
scores = predictions[:, 4]
categories = predictions[:, 5]

# show detection bounding boxes on image
results.show()

# save results into "results/" folder
results.save(save_dir='results/')

image

使用 py 命令运行代码后,我得到了处理后的图片。(如下图)

image

它成功的将图片中清晰可见的车牌扫描出来了,结果是 2 个。

对于完全没了解过相关知识的我,能做到这一步,我还是觉得有些意外的。

我又尝试了一下 Hugging Face 上的其他免费模型,都挺有意思的,大家感兴趣的可以自己去尝试一下。

小结

Gorilla 目前提供给我的代码,并没有帮助我写出一个可用的项目。

但是,它所提供的思路和方向是正确的,并且相关的模型也是可以使用的。

作为 0 基础选手,通过 Gorilla,确实可以快速的了解到机器学习的相关知识,同时也可以快速的实现一个机器学习的项目。

下面附上一些相关资料,包含 Gorilla 教程:

Gorilla 官方地址

Gorilla Colab

Hugging Face 模型

最后一件事

如果您已经看到这里了,希望您还是点个赞再走吧~

您的点赞是对作者的最大鼓励,也可以让更多人看到本篇文章!

如果觉得本文对您有帮助,请帮忙在 github 上点亮 star 鼓励一下吧!

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

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

相关文章

电商API分享:获取淘宝商品历史价格api调用示例 参数说明

在网络购物中,TAO宝是相信许多人的首选平台之一,而对于一个谨慎的购物者来说,价格的变化是非常重要的。所以获取淘宝商品历史价格,可以帮助购物者更好地作出决策,实现理性消费。获取淘宝商品历史价格主要能帮助到我们做…

PLC信号发生器(SCL+梯形图)

信号发生器的应用请参看下面的博客文章,在演示滤波器的作用时,我们可能也会用到信号的叠加等。 博途PLC滤波指令 Filter_PT1、Filter_PT2、Filter_DT1详细使用说明(含Simulink+博途PLC仿真)_RXXW_Dor的博客-CSDN博客博途S7-1200/1500PLC的PID控制和详细使用说明,请参看下…

自定义ViewGroup实现流式布局

目录 1、View的绘制流程 2、自定义ViewGroup构造函数的作用 3、onMeasure 方法 3.1、View的度量方式 3.2、onMeasure方法参数的介绍 3.3、自定义ViewGroup onMeasure 方法的实现 4、onLayout方法 5、onDraw方法 6、自定义View的生命周期 7、自定义流式布局的实现 扩展&#xff…

使用VBA在单元格中快速插入Unicode符号

Unicode 符号 Unicode 符号在实际工作中有着广泛的应用,比如用于制作邮件签名、文章排版、演示文稿制作等等。在 Excel 表格中,插入符号可以让表格的排版更加美观,同时也能够帮助用户更清晰地表达意思。 Dingbats Dingbats是一个包含装饰符…

龙蜥白皮书精选:开源 RISC-V 技术支持软硬件全栈平台

文/RISC-V ARCH SIG 01 背景介绍 RISC-V 是一套开源指令集为拥抱更加开放的芯片生态,指令集标准和扩展标准采用全球共享共治的模式,于 Arm 和 x86 有很大不同,因此也受到了业内人士的普遍关注,再未来有着很大应用潜力。龙蜥社区…

奇富科技语音论文入选国际顶会INTERSPEECH 2023

近日,奇富科技机器人团队论文《Eden-TTS:一种简单高效的非自回归“端到端可微分”神经网络的语音合成架构》(Eden-TTS: A Simple and Efficient Parallel Text-to-speech Architecture with Collaborative Duration-alignment Learning&#…

【LeetCode】HOT 100(3)

题单介绍: 精选 100 道力扣(LeetCode)上最热门的题目,适合初识算法与数据结构的新手和想要在短时间内高效提升的人,熟练掌握这 100 道题,你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

1.Hive系列之简介

1. Hive简介 1.1 Hive是什么 Hive是一个基于Hadoop的数据仓库工具,它提供了类似于SQL的查询语言HiveQL,以及用于将查询转换为MapReduce任务的引擎。Hive的主要目的是使数据分析师和开发人员能够轻松地查询和分析存储在Hadoop集群中的数据,而…

如果我们使用大字符串作为 MySQL 索引键会发生什么

背景 正如我之前的文章里所解释的那样,B树的深度决定了MySQL在仅考虑使用索引的情况下的最坏查询性能。在SSD的帮助下,拥有一个比4层更深的B树应该是可以接受的。 那么下一个问题是:性能可能有多糟糕?在这里,我有意设…

elasticsearch中文分词使用以及疑问

最近用到elasticsearch作为知识库底层搜索引擎,开发反馈中文查询有问题,所以引用ik分词解决此问题。 一、安装 根据自己的版本找到github仓库下载,我此处使用为7.9.3版本 v7.9.3 Releases medcl/elasticsearch-analysis-ik GitHub 解压到…

git pull 和push讲解:016

pull 和push大致流程:(将远程仓库同步到本地仓库)>(在本地仓库修改并提交)>(推送修改内容到远程仓库) 1. 首先创建一个文件夹, 打开Git Bash终端, cd到这个文件夹内 2. 将(远程仓库)的克隆到这个文件夹内:git clone 远程仓库…

史上最难HelloWorld

文章目录 TomcatServlet创建一个项目引入依赖创建目录编写代码打包部署验证 优化一下打包和部署-Smart TomcatServlet常见的问题 Tomcat Tomcat就是一个HTTP服务器,HTTP协议是前后端交互的桥梁,前端就是浏览器,后端就是一个HTTP服务器&#…

设计模式之~访问者模式

简述: 访问者模式表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。 访问者模式(Vistor Pattern)是一种将数据结构与数据操作分离的的设计模式。 结构图: 实例: 示例代码&#x…

Linux系统下C语言的编程技巧

Linux系统能够为人们提供更加安全实用的效果,保证计算机系统能够稳定的运行。利用Linux系统下首先要进行C语言的编程,掌握编程的技巧能够更好的发挥计算机的作用。如何掌握Linux系统下计算机C语言的编程技巧是计算机发展的关键要素。本文对Linux系统下计算机C语言的编程技巧进行…

【复习笔记】FreeRTOS(三)任务挂起和恢复

本文是FreeRTOS复习笔记的第三节,任务挂起和恢复,使用的开发板是stm32f407VET6,创建两个任务,task1负责闪烁LED,task2负责按键控制,当按键按下时控制任务挂起,按键再次按下恢复任务,…

【数据结构】经典排序法

欢迎来到Cefler的博客😁 🕌博客主页:那个传说中的man的主页 🏠个人专栏:题目解析 🌎推荐文章:题目大解析2 目录 👉🏻 直接插入排序👉🏻 选择排序&…

微信支付(小程序)-java

微信支付开发者文档微信支付是腾讯公司的支付业务品牌,微信支付提供公众号支付、APP支付、扫码支付、刷卡支付等支付方式。微信支付结合微信公众账号,全面打通O2O生活消费领域,提供专业的互联网行业解决方案,微信支付支持微信红包…

访问github网络问题解决

查看wsl可用镜像列表时产生如下访问github的网络问题 C:\Users\jiangcheng> wsl --list --online 无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分发。无法与服务器建立连接 Error code: Wsl/WININET_…

hive任务reduce步骤卡在99%原因及解决

我们在写sql的时候经常发现读取数据不多,但是代码运行时间异常长的情况,这通常是发生了数据倾斜现象。数据倾斜现象本质上是因为数据中的key分布不均匀,大量的数据集中到了一台或者几台机器上计算,这些数据的计算速度远远低于平均…

Vulkan Tutorial 9 模型加载Mipmaps

目录 28 加载模型 Sample mesh 加载顶点和索引 ​编辑 顶点去重 28 加载模型 我们将使用tinyobjloader库来从OBJ文件中加载顶点和面。它的速度很快,而且很容易集成,因为它是一个像stb_image一样的单文件库。将包含tiny_obj_loader.h的目录添加到Add…