当前位置: 首页 > news >正文

烟台建设用地规划查询网站wordpress 调用备案号

烟台建设用地规划查询网站,wordpress 调用备案号,青岛的互联网公司,推销产品的万能句子诸神缄默不语-个人CSDN博文目录 本文属于huggingface.transformers全部文档学习笔记博文的一部分。 全文链接#xff1a;huggingface transformers包 文档学习笔记#xff08;持续更新ing…#xff09; 本部分网址#xff1a;https://huggingface.co/docs/transformers/m…诸神缄默不语-个人CSDN博文目录 本文属于huggingface.transformers全部文档学习笔记博文的一部分。 全文链接huggingface transformers包 文档学习笔记持续更新ing… 本部分网址https://huggingface.co/docs/transformers/main/en/accelerate 本文介绍如何使用huggingface.accelerate官方文档https://huggingface.co/docs/accelerate/index进行分布式训练。 此外还参考了accelerate的安装文档https://huggingface.co/docs/accelerate/basic_tutorials/install 一个本文代码可用的Python环境Python 3.9.7, PyTorch 2.0.1, transformers 4.31.0, accelerate 0.22.0 parallelism能让我们实现在硬件条件受限时训练更大的模型训练速度能加快几个数量级。 文章目录 1. 安装与配置2. 在代码中使用 1. 安装与配置 安装pip install accelerate 配置accelerate config 然后它会给出一些问题通过上下键更换选项用Enter确定 选错了也没啥关系反正能改 用accelerate env命令可以查看配置环境。 2. 在代码中使用 用accelerate之前的脚本具体讲解可见我之前写的博文用huggingface.transformers.AutoModelForSequenceClassification在文本分类任务上微调预训练模型 用的是原生PyTorch那一版因为Trainer会自动使用分布式训练。metric部分改成新版并用全部数据来训练 from tqdm.auto import tqdmimport torch from torch.utils.data import DataLoader from torch.optim import AdamWimport datasets,evaluate from transformers import AutoTokenizer,AutoModelForSequenceClassification,get_schedulerdatasetdatasets.load_from_disk(download/yelp_full_review_disk)tokenizerAutoTokenizer.from_pretrained(/data/pretrained_models/bert-base-cased)def tokenize_function(examples):return tokenizer(examples[text], paddingmax_length,truncationTrue,max_length512)tokenized_datasetsdataset.map(tokenize_function, batchedTrue)#Postprocess dataset tokenized_datasetstokenized_datasets.remove_columns([text]) #删除模型不用的text列tokenized_datasetstokenized_datasets.rename_column(label, labels) #改名label列为labels因为AutoModelForSequenceClassification的入参键名为label #我不知道为什么dataset直接叫label就可以啦……tokenized_datasets.set_format(torch) #将值转换为torch.Tensor对象small_train_datasettokenized_datasets[train].shuffle(seed42) small_eval_datasettokenized_datasets[test].shuffle(seed42)train_dataloaderDataLoader(small_train_dataset,shuffleTrue,batch_size32) eval_dataloaderDataLoader(small_eval_dataset,batch_size64)modelAutoModelForSequenceClassification.from_pretrained(/data/pretrained_models/bert-base-cased,num_labels5)optimizerAdamW(model.parameters(),lr5e-5)num_epochs3 num_training_stepsnum_epochs*len(train_dataloader) lr_schedulerget_scheduler(namelinear,optimizeroptimizer,num_warmup_steps0,num_training_stepsnum_training_steps)devicetorch.device(cuda:1) if torch.cuda.is_available() else torch.device(cpu) model.to(device)progress_bar tqdm(range(num_training_steps))model.train() for epoch in range(num_epochs):for batch in train_dataloader:batch{k:v.to(device) for k,v in batch.items()}outputsmodel(**batch)lossoutputs.lossloss.backward()optimizer.step()lr_scheduler.step()optimizer.zero_grad()progress_bar.update(1)metricevaluate.load(accuracy) model.eval() for batch in eval_dataloader:batch{k:v.to(device) for k,v in batch.items()}with torch.no_grad():outputsmodel(**batch)logitsoutputs.logitspredictionstorch.argmax(logits, dim-1)metric.add_batch(predictionspredictions, referencesbatch[labels])print(metric.compute())懒得跑完了总之预计要跑11个小时来着非常慢。 添加如下代码 from accelerate import Acceleratoraccelerator Accelerator()#去掉将模型和数据集放到指定卡上的代码#在建立好数据集、模型和优化器之后 train_dataloader, eval_dataloader, model, optimizer accelerator.prepare(train_dataloader, eval_dataloader, model, optimizer )#训练阶段将loss.backward()替换成 accelerator.backward(loss)添加后的代码我用全部数据集出来预计训练时间是4小时3张卡但我懒得跑这么久了我就还是用1000条跑跑把整个流程跑完意思一下 用accelerate launch Python脚本路径运行 验证部分的情况见代码后面 from tqdm.auto import tqdmimport torch from torch.utils.data import DataLoader from torch.optim import AdamWimport datasets from transformers import AutoTokenizer,AutoModelForSequenceClassification,get_schedulerfrom accelerate import Acceleratoraccelerator Accelerator()datasetdatasets.load_from_disk(download/yelp_full_review_disk)tokenizerAutoTokenizer.from_pretrained(/data/pretrained_models/bert-base-cased)def tokenize_function(examples):return tokenizer(examples[text], paddingmax_length,truncationTrue,max_length512)tokenized_datasetsdataset.map(tokenize_function, batchedTrue)#Postprocess dataset tokenized_datasetstokenized_datasets.remove_columns([text]) #删除模型不用的text列tokenized_datasetstokenized_datasets.rename_column(label, labels) #改名label列为labels因为AutoModelForSequenceClassification的入参键名为label #我不知道为什么dataset直接叫label就可以啦……tokenized_datasets.set_format(torch) #将值转换为torch.Tensor对象small_train_datasettokenized_datasets[train].shuffle(seed42).select(range(1000)) small_eval_datasettokenized_datasets[test].shuffle(seed42).select(range(1000))train_dataloaderDataLoader(small_train_dataset,shuffleTrue,batch_size32) eval_dataloaderDataLoader(small_eval_dataset,batch_size64)modelAutoModelForSequenceClassification.from_pretrained(/data/pretrained_models/bert-base-cased,num_labels5)optimizerAdamW(model.parameters(),lr5e-5)train_dataloader, eval_dataloader, model, optimizer accelerator.prepare(train_dataloader, eval_dataloader, model, optimizer )num_epochs3 num_training_stepsnum_epochs*len(train_dataloader) lr_schedulerget_scheduler(namelinear,optimizeroptimizer,num_warmup_steps0,num_training_stepsnum_training_steps)progress_bar tqdm(range(num_training_steps))model.train() for epoch in range(num_epochs):for batch in train_dataloader:outputsmodel(**batch)lossoutputs.lossaccelerator.backward(loss)optimizer.step()lr_scheduler.step()optimizer.zero_grad()progress_bar.update(1)验证部分是这样的直接用原来的验证部分就也能跑但是因为脚本会被运行2遍所以验证部分也会运行2遍。 所以我原则上建议用accelerate的话就光训练验证的部分还是单卡实现。 如果还是想在训练过程中看一下验证效果可以正常验证也可以将验证部分限定在if accelerator.is_main_process:里这样就只有主进程通常是第一个GPU会执行验证代码而其他GPU不会这样就只会打印一次指标了。
http://www.w-s-a.com/news/509104/

相关文章:

  • 做淘宝网站要求与想法大型网站建设推荐
  • 在百度做网站赚钱吗跨境电商网站开发
  • 酒店网站建设策划方案南昌网站建设南昌
  • 临沂罗庄做网站房产cms
  • 五合一网站做优化好用吗网站设计的专业流程
  • 毕业设计论文网站开发需要多少网站seo建设方案
  • h5页面用什么做杭州优化外包哪里好
  • 许昌网站建设百姓国货app下载
  • 什么是建站装修公司做宣传在哪个网站
  • 阿里云虚拟主机多个网站吗大庆油田建设集团网站
  • 坂田公司做网站公司有网站域名后如何建网站
  • 自媒体网站程序淘宝网站维护
  • 凡科网站建设网站wordpress 七牛oss
  • 搬瓦工的主机可以用来做网站吗分类信息网站开发需求方案
  • 上海高端网站开发站霸网络国际网站建设的目的
  • 程序员招聘求职的网站做网站加入广告联盟
  • 网站建设的技术方案模板易做文学网站的logo
  • 建设国家标准官方网站响应式网站切图
  • 网站链接数怎么做wordpress安装网址
  • 沈阳建网站 哪家好如何做旅游网站推销
  • 继续网站建设南通网站建设方法
  • 淮南公司网站建设如果做京东优惠卷的网站
  • 二手房网站平台怎么做项目工程监理公司网站建设方案
  • 秦皇岛做网站公司小说推广平台有哪些
  • php网站做分享到朋友圈天元建设集团有限公司信用代码
  • 邱县做网站在线免费图片编辑器
  • 网站备份网站做网站如何把支付宝微信吧
  • 做网站的怎么获取客户信息晋城建设局网站
  • 新开传奇网站发布网单职业wordpress建站网页无法运作
  • 海南省住房和城乡建设厅官方网站网站开发有哪些语言