Transformers集成SwanLab实现AI训练可视化监控

🤗HuggingFace Transformers

Hugging Face 的 Transformers 是一个非常流行的开源库,它提供了大量预训练的模型,主要用于自然语言处理(NLP)任务。这个库的目标是使最新的模型能够易于使用,并支持多种框架,如 TensorFlow 和 PyTorch。

在这里插入图片描述

你可以使用Transformers快速进行模型训练,同时使用SwanLab进行实验跟踪与可视化。

1. 引入SwanLabCallback

from swanlab.integration.huggingface import SwanLabCallback

SwanLabCallback是适配于Transformers的日志记录类。

SwanLabCallback可以定义的参数有:

  • project、experiment_name、description 等与 swanlab.init 效果一致的参数, 用于SwanLab项目的初始化。
  • 你也可以在外部通过swanlab.init创建项目,集成会将实验记录到你在外部创建的项目中。

2. 传入Trainer

from swanlab.integration.huggingface import SwanLabCallback
from transformers import Trainer, TrainingArguments...# 实例化SwanLabCallback
swanlab_callback = SwanLabCallback(project="hf-visualization")trainer = Trainer(...# 传入callbacks参数callbacks=[swanlab_callback],
)trainer.train()

3. 完整案例代码

import evaluate
import numpy as np
import swanlab
from swanlab.integration.huggingface import SwanLabCallback
from datasets import load_dataset
from transformers import AutoModelForSequenceClassification, AutoTokenizer, Trainer, TrainingArgumentsdef tokenize_function(examples):return tokenizer(examples["text"], padding="max_length", truncation=True)def compute_metrics(eval_pred):logits, labels = eval_predpredictions = np.argmax(logits, axis=-1)return metric.compute(predictions=predictions, references=labels)dataset = load_dataset("yelp_review_full")tokenizer = AutoTokenizer.from_pretrained("bert-base-cased")tokenized_datasets = dataset.map(tokenize_function, batched=True)small_train_dataset = tokenized_datasets["train"].shuffle(seed=42).select(range(1000))
small_eval_dataset = tokenized_datasets["test"].shuffle(seed=42).select(range(1000))metric = evaluate.load("accuracy")model = AutoModelForSequenceClassification.from_pretrained("bert-base-cased", num_labels=5)training_args = TrainingArguments(output_dir="test_trainer",# 如果只需要用SwanLab跟踪实验,则将report_to参数设置为”none“report_to="none",num_train_epochs=3,logging_steps=50,
)# 实例化SwanLabCallback
swanlab_callback = SwanLabCallback(experiment_name="TransformersTest")trainer = Trainer(model=model,args=training_args,train_dataset=small_train_dataset,eval_dataset=small_eval_dataset,compute_metrics=compute_metrics,# 传入callbacks参数callbacks=[swanlab_callback],
)trainer.train()

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

Topogun 3 for Mac——您的专业三维模型处理利器

Topogun 3 for Mac,无疑是三维模型处理领域的翘楚。该软件不仅功能全面,而且操作简便,能够满足您对于三维模型处理的各种需求。 导入高模、视图操作、新建拓扑层,一切都在您的掌控之中。Topogun 3强大的自动拓扑功能,…

小猪APP分发:一站式免费应用推广的理想平台

在日益拥挤的移动应用市场中,对于独立开发者和新兴应用而言,找到一个高效且成本效益高的分发渠道至关重要。这正是小猪APP分发平台www.appzhu.cn脱颖而出的原因,它不仅提供了一个全面的解决方案,帮助开发者免费推广他们的应用程序…

前端基础入门三大核心之JS篇:解锁「穷举法」算法的奥秘【含代码示例】

前端基础入门三大核心之JS篇:解锁「穷举法」算法的奥秘【含代码示例】 穷举法基本概念及其作用什么是穷举法?作用说明 穷举法实战演练示例1:找出1到100之间的所有质数示例2:经典的数独求解性能优化与安全考量 实际工作中的技巧遇到…

家政预约小程序06服务展示

目录 1 首页展示2 团购详情总结 在家政小程序中,最重要的信息就是各项服务的内容。顾客通过服务的信息,了解家政公司可以提供什么样的服务以及相关的收费。本篇我们介绍一下服务展示功能如何开发。 1 首页展示 在首页我们已经开发了活动展示、服务分类展…

月入25000,因何焦虑?

遇到一位铁粉经常给我点赞评论,没勾兑之前还以为他赋闲在家,没想到收入很高,要是放在5年前相比很多人都不会这么焦虑,那个时候大环境很好,随便跳个槽收入至少能增长30%。 这位铁粉从事java开发,目前就职于某…

C++ 程序的基本要素

一 标识符 程序中变量、类型、函数和标号的名称称标识符。 a,b,name,int,char,main,void等。 系统已有的标识符称为关键字。 常见关键字 using,namespace,void,return; int,float,double,char,bool,signed,unsignex, long,short,const,true,false,sizeof if,else,for,do,whil…

Ollama + (Anythingllm / Open WebUI / MaxKB)搭建本地大模型

个人体验MaxKB做知识库效果最好 一、Ollama 1、下载Ollama 地址:Download Ollama on macOS curl -fsSL https://ollama.com/install.sh | sh 2、下载指定的模型 地址:library # Llama3 ollama run llama3:8b # 这个模型可以将文本内容转换成向量数…

统信UOS专业版操作系统如何安装惠普打印机驱动

通用集成驱动安装方法 以惠普P1566激光打印机为例介绍一下,在打印机管理器中选择打印机,手动选择安装驱动,找到品牌:惠普,型号:1566,安装驱动后测试打印;LaserJet Pro P1566 Foomati…

单细胞 10X 和seurat对象学习

单细胞seurat数据的基础知识 rm(list ls()) library(Seurat) #注意这个报错 #Warning: Feature names cannot have underscores (_), replacing with dashes (-) folderslist.files(./,pattern[123]$) folders scList lapply(folders,function(folder){ CreateSeuratObject(…

Docker打包之后如何将进行变成压缩包进行传输和使用?

假设现在有一个命令需要进行打包 docker build --platformlinux/amd64 -t md-cloud:24.05.27.2 . 下面详细解释一下 docker build: 这是 Docker 的命令,用于根据 Dockerfile 构建一个 Docker 镜像。 --platformlinux/amd64: 这个选项指定了构建镜像的目标平台。在这…

系统安全扫描扫出了:可能存在 CSRF 攻击怎么办

公司的H5在软件安全测试中被检查出可能存在 CSRF 攻击,网上找了一堆解决方法,最后用这种方式解决了。 1、问题描述 CSRF 是 Cross Site Request Forgery的缩写(也缩写为也就是在用户会话下对某个 CGI 做一些 GET/POST 的事,RIVTSTCNNARGO一这…

【VsCode】通过tasks.json中的problemMatcher属性的fileLocation子属性设定问题的输出内容

前言 这个问题是起因在我想把代码指向的相对路径更改为使用宏的绝对路径便于编译调试,但是在一次调试过程中有一个编译时报错,点击报错内容项时,却显示找不到路径文件。报错详细内容显示是 即:代码路径绝对路径。 "resourc…

Transformer详解(4)-前馈层残差连接层归一化

1、前馈层 前馈层接收自注意力层的输出作为输入。 from torch import nn import torch.nn.functional as Fclass FeedForward(nn.Module):def __init__(self, d_model512, d_ff2048, dropout0.1):super().__init__()# d_ff 默认设置为2048self.linear_1 nn.Linear(d_model,…

CentOS 7安装prometheus

说明:本文介绍如何在CentOS操作系统上安装prometheus Step1:下载安装包 访问Github仓库,下载对应版本的prometheus安装包 https://github.com/prometheus/prometheus/releases 操作系统的版本信息,可通过下面这两个命令查看&am…

C\C++语言中求由字符串构建的字符数组长度及所占字节数代码

【知识点】 在 C\C 语言中,由字符串构建的字符数组,以不可见字符 \0 作为结尾。\0 是字符串结束标志,不计入串长,但要占内存空间。 例如,若由字符串构建的字符数组为 s,则命令 strlen(s) 可得字符数组长度…

【UE Slate】 虚幻引擎Slate开发快速入门

目录 0 引言1 Slate框架1.0 控件布局1.1 SWidget1.1.1 SWidget的主要作用1.1.2 SWidget的关键方法1.1.3 使用SWidget创建自定义控件1.1.4 结论 1.2 SCompoundWidget1.2.1 SCompoundWidget的主要作用1.2.2 SCompoundWidget的使用示例1.2.3 SCompoundWidget的关系1.2.4 总结 1.3 …

Linux 磁盘管理命令tune2fs mkisofs cfdisk sfdisk parted

文章目录 3.Linux 磁盘管理命令3.26 tune2fs:文件系统调整案例练习 3.27 mkisofs:建立ISO9660 映象文件案例练习 3.28 cfdisk:磁盘分区案例练习 3.29 sfdisk:硬盘分区工具程序案例练习 3.30 parted:磁盘分区工具案例练习 3.Linux 磁盘管理命令 3.26 tune2fs:文件系统调整 作用…

Python语法篇

文章目录 数据类型字符串整数浮点数列表元组字典 条件语句if语句while语句 函数类文件异常JSON库unittest Python中非常重视缩进,这点与Java很不一样,需要注意 冒号在python里很重要 数据类型 字符串 单引号,双引号,三引号都可…

2024经济管理、社会科学与教育国际会议(ICEMSSE 2024)

2024经济管理、社会科学与教育国际会议(ICEMSSE 2024) 会议简介 2024年国际经济管理、社会科学和教育会议(ICEMSSE 2024)专注于经济、社会发展和教育。会议旨在为专家、学者和社会人士提供一个交流平台。通过讨论科学研究成果和前沿技术,我…

如何解包 Python 恶意可执行文件

使用 Python 编写的程序通常以源码的形式发布,也可以将所有依赖都打包到一个可执行文件中。那么如何解包 Python 恶意可执行文件呢? 打包 打包与加壳不同,打包 Python 程序的目的是创建一个可以在操作系统上独立运行的可执行文件。使用例如 …