------当Hugging Face遇上.ipynb,连蜡烛都能听懂人话了
本人是搞js的,对机器学习当然是一窍不通,但是这也没事,有了Colab,你也能玩转社区大模型
什么是Colab呢?
Google Colaboratory,通常简称为Colab,是一个基于云端的开发环境,主要用于机器学习、数据科学和教育目的。它允许用户编写和执行Python代码直接在浏览器中,并且不需要进行任何设置。Colab特别适合于以下用途:
- 机器学习与深度学习实验:Colab支持流行的机器学习库如TensorFlow、Keras、PyTorch等,使得研究人员和开发者可以轻松地进行模型训练和测试。
- 免费GPU和TPU:提供免费访问GPU(图形处理单元)和TPU(张量处理单元),这对于加速机器学习模型的训练过程非常有用。
- 协作功能:如同Google文档一样,Colab允许实时分享notebook并协同工作,这使得团队合作变得容易。
- 教育资源:对于教育工作者和学生来说,Colab是一个极好的工具,用于教学和学习编程、数据分析、机器学习等内容。
- 易于分享:Colab notebooks可以很容易地分享为链接或导出为不同的格式,如.ipynb或.pdf,方便展示和发布研究结果。
通过Colab,任何人都可以快速开始探索数据、实现算法或学习新的技能,而无需担心计算资源的问题。
简单来说就是一个帮我们安装好环境的云开发环境
Colab 当然是需要魔法上网的
第一章:欢迎来到"赛博炼丹房"
我们只需要新建云文件,就能得到基于云端的运行环境
当我们进来后就是这样的界面,我们可以在这边输入我们的代码
今天我的键盘没敲代码,改行当"魔法师"了!打开Colab(在线炼丹炉),掏出Hugging Face(魔搭社区的魔法书),发现只需一行咒语:
yaml
!pip install transformers # 安装来自霍格沃茨...不对,Hugging Face的魔法库
安装来自huggingface的 机器学习库 transforms 里面有许多机器学习库,可以让我们免费使用
就召唤出了能读懂人话的AI精灵!这里没有坩埚和烟雾,只有.ipynb
文件------它的绝技是边写边运行(像吃火锅边涮边吃),特别适合科学计算(又名"炸厨房不赔钱实验")。
那么Hugging Face
又是什么呢,简单来说就是集合许多开源大模型的社区,相信很多人会和我有一样的疑惑,有了OpenAI
deepseek
为什么还需要这种大模型社区呢?
相信大家一定听过术业有专攻
这句话,不同的大模型擅长的地方肯定有所不同,比如在医疗方面我们需要专属的医疗大模型,而不是这种综合大模型,所以为什么要有这么多大模型了
第二章:情感分析の读心术
场景:想测试AI能否看懂老板的"谢谢"是真心还是阴阳?
sql
from transformers import pipeline
classifier = pipeline('sentiment-analysis') # 加载情绪扫描仪(引入情感分析大模型)
result = classifier('thank you') # 输入老板的问候
# 结果:[{'label': 'POSITIVE', 'score': 0.9998}] → "是真爱!"
pipeline
是一个高级API,可以快速调用预训练模型来执行常见的NLP任务,如情感分析、文本生成、问答系统等。
但中文更刺激!当我祭出华为梗:
ini
classifier = pipeline('sentiment-analysis', model="uer/roberta-base-Chinese")
result = classifier('遥遥遥遥遥遥领先') # 余承东直呼内行
# 结果:[{'label': 'POSITIVE', 'score': 0.98}] → AI认证:遥遥领先不是吹牛!
原理 :模型像吃货尝菜------"微调"(finetune)就是给预训练大模型(五星大厨)喂专业数据集(比如大众点评中文评论),让它变成川菜特级厨师!
在这里由于是中文,我们需要使用专门与我们中文相关的大模型,这样才能更准确,这也就是我们上述提到的术业有专攻
第三章:摘要生成の废话粉碎机
痛点 :读论文像啃压缩饼干?试试facebook/bart-large-cnn
牌榨汁机:
ini
summarizer = pipeline('summarization') #引入总结大模型
description = """美国工程教育衰退...(此处省略800字)""" # 原文像老太太裹脚布
summary = summarizer(description, max_length=100) # 启动废话粉碎模式!
# 输出:"美国工程毕业生减少,中印反超,传统工程学科没落。" → 精准如微博摘要!
这相当于让AI玩 "大家来找茬" :从长篇大论中揪出核心句,比人类写年终总结还利索!
第四章:视觉识别の跨次元通灵
突然想搞点刺激的------让AI看图算命!
Step1:用Python版"魔法水晶球"(PIL库)召唤网络图片:
python
引入 requests 模块 类似 js的 fetch
import requests
# PIL 是数据可视化 python 库
# 自动驾驶 纯视觉 需要不断地识别 画框框 也就要有图像识别地能力
# 举个例子 车子进入地下车库 车牌识别
from PIL import Image
url = "https://img.huxiucdn.com/article/cover/202506/19/212701954319.jpg?imageView2/1/w/1070/h/640/|imageMogr2/strip/interlace/1/quality/85/format/webp"
# JS 和 其它语言地区别 重要 异步
# JS 不一样 网页端语言,JS 单线程,一但卡住 页面无法交互,js还要负责页面交互
im = Image.open(requests.get(url,stream=True).raw)
im
- 使用
requests.get()
向指定的 URL 发送 HTTP 请求。 - 设置
stream=True
表示不立即下载整个响应内容,而是以流的方式处理,适用于大文件(如图片、视频等)。 .raw
属性返回的是一个类似文件的原始响应内容(raw response content),可以被PIL.Image.open()
直接读取。
Step2 :祭出零样本检测神器OwlViT
(猫头鹰之眼):
ini
from transformers import pipeline
# 模型
checkpoint = 'google/owlvit-base-patch32'
detector = pipeline(model=checkpoint,task='zero-shot-object-detection')
predictions = detector(
im,
candidate_labels=['girl','candle'] # 告诉大模型我们需要寻找的元素,美女和蜡烛
)
predictions
说实话,其实我也不懂这些代码,但是我们有AI不是呢嘛 嘿嘿
-
这里导入了
pipeline
函数,它是 Hugging Face 提供的一个便捷接口,用于快速加载和使用预训练模型。 -
定义了一个变量
checkpoint
,其值为'google/owlvit-base-patch32'
,这是指定使用的预训练模型名称。 -
使用
pipeline
函数加载模型,并设置任务类型为'zero-shot-object-detection'
,这表示我们希望执行零样本目标检测任务。这个特定的模型是基于 OWL-ViT 架构的,适用于从图片中检测出未见过的对象类别。 -
在这一部分,
detector
函数被调用来对输入的图像进行预测。这里的im
应该是一个已经加载好的图像对象(例如,使用 PIL 或 OpenCV 加载)。 -
candidate_labels
参数指定了我们感兴趣的标签列表,即我们想要检测的物体类别,在此例中为['girl', 'candle']
。这意味着模型会尝试在图像中找到与"美女"和"蜡烛"相匹配的对象。
结果:
css
[{'score': 0.2375478744506836, 'label': 'girl', 'box': {'xmin': 47, 'ymin': 140, 'xmax': 389, 'ymax': 590}}, {'score': 0.23061232268810272, 'label': 'girl', 'box': {'xmin': 370, 'ymin': 142, 'xmax': 771, 'ymax': 589}}, {'score': 0.14005112648010254, 'label': 'girl', 'box': {'xmin': 408, 'ymin': 146, 'xmax': 654, 'ymax': 496}}, {'score': 0.11767616122961044, 'label': 'girl', 'box': {'xmin': 11, 'ymin': 15, 'xmax': 450, 'ymax': 584}}, {'score': 0.10929922759532928, 'label': 'girl', 'box': {'xmin': 21, 'ymin': 15, 'xmax': 444, 'ymax': 571}}]
第五章:为什么Colab+魔搭=黄金搭档?
-
Colab绝技:
.ipynb
文件像乐高说明书:代码块可独立运行(拼错一块不用拆整个城堡)- 免费GPU加持,炼丹速度堪比高铁(前提:别手滑断网)
-
Hugging Face宝藏:
- 模型动物园:从
roberta
中文模型到bart
摘要专家,像自助火锅任选 - Pipeline设计:三行代码召唤任务,比泡面还快
- 模型动物园:从
终章:踩坑警示录
-
网络玄学:
iniImage.open(requests.get(url, stream=True).raw) # 必须加stream=True!
否则下载大图时,Colab会以为你卡死并抛出
Timeout
(像外卖小哥等不及你下楼) -
模型暗号 :
中文情感分析务必指定
model="uer/roberta-base-Chinese"
,否则AI会把"领先"翻译成"lead poisoning"(铅中毒)🙃 -
零样本≠零翻车 :
若检测图片时输入
candidate_labels=["奥特曼","小怪兽"]
,可能收获一堆空盒子------AI表示:"这届人类标签太难!"
总结:今天在Colab的奇幻之旅证明------
想玩转NLP?记住三板斧:
!pip install transformers
(开库)→pipeline(task=...)
(选技能)→ 喂数据(开炼!)