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

做关于灯饰的网站推广形式

做关于灯饰的网站,推广形式,建德营销型网站建设,做企业网站必须要座机吗本教程利用Swift框架微调Qwen2.5 vl 7B模型,是用的数据集是OCR识别数据集,一共10万张图片。 一. 安装环境 尤其注意cuda版本,否则有些包安装不了 conda create -n swift3 python3.10 # flash-attn对cuda版本有要求 pip install flash-att…

在这里插入图片描述
本教程利用Swift框架微调Qwen2.5 vl 7B模型,是用的数据集是OCR识别数据集,一共10万张图片。

一. 安装环境

尤其注意cuda版本,否则有些包安装不了
在这里插入图片描述

conda create -n swift3 python==3.10
# flash-attn对cuda版本有要求
pip install flash-attn
pip install auto_gptq optimum bitsandbytes timm
git clone https://github.com/modelscope/ms-swift.git
cd ms-swift
pip install -e .# 如果有需要,安装vllm ,对cuda版本有要求
pip install vllm## 如果是qwen2.5-vl
pip install git+https://github.com/huggingface/transformers.git@9985d06add07a4cc691dc54a7e34f54205c04d40
pip install qwen_vl_utils

二. 数据准备

处理数据:

import os
import json# 写入jsonl文件
def write_jsonl(data_list, filename):with open(filename, 'w', encoding='utf-8') as f:for item in data_list:# 将Python对象转换为JSON格式的字符串json_str = json.dumps(item, ensure_ascii=False)  f.write(json_str + '\n')if __name__ == "__main__":img_dir = "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages"with open("LabelTrain.txt", "r") as f:data_list = []lines = f.readlines()for line in lines[:90000]:img_name, text = line.rstrip().split("\t")img_path = os.path.join(img_dir, img_name)data = {}data["query"] = "请识别图片中的文字"data["response"] = textdata["image_path"] = img_pathdata_list.append(data)write_jsonl(data_list, "train.jsonl")data_list = []for line in lines[90000:]:img_name, text = line.rstrip().split("\t")img_path = os.path.join(img_dir, img_name)data = {}data["query"] = "请识别图片中的文字"data["response"] = textdata["image_path"] = img_pathdata_list.append(data)write_jsonl(data_list, "val.jsonl")print("done")

处理后的数据如下,示例:

{"query": "请识别图片中的文字", "response": "在2日内到有效", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090008.jpg"}
{"query": "请识别图片中的文字", "response": "车服务公司", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090009.jpg"}
{"query": "请识别图片中的文字", "response": "宗派排次", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090010.jpg"}
{"query": "请识别图片中的文字", "response": "增加金属蛋白酶,有助于异位组织的侵蚀", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090011.jpg"}
{"query": "请识别图片中的文字", "response": "学历要求", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090012.jpg"}
{"query": "请识别图片中的文字", "response": "防御", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090013.jpg"}
{"query": "请识别图片中的文字", "response": "等:¥476.0", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090014.jpg"}
{"query": "请识别图片中的文字", "response": "余443张", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090015.jpg"}
{"query": "请识别图片中的文字", "response": "中国", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090016.jpg"}
{"query": "请识别图片中的文字", "response": "般10%以下", "image_path": "/home/xxx/xxx/dataset/ocr_reg_small_dataset/data/TrainImages/Train_090017.jpg"}

三. 微调模型

MAX_PIXELS=1003520 \
CUDA_VISIBLE_DEVICES=0 \
swift sft \--model Qwen/Qwen2.5-VL-7B-Instruct \--dataset /home/xxx/xxx/dataset/ocr_reg_small_dataset/data/train.jsonl \--train_type lora \--torch_dtype bfloat16 \--num_train_epochs 1 \--per_device_train_batch_size 1 \--per_device_eval_batch_size 1 \--learning_rate 1e-4 \--lora_rank 8 \--lora_alpha 32 \--target_modules all-linear \--freeze_vit true \--gradient_accumulation_steps 16 \--eval_steps 50 \--save_steps 50 \--save_total_limit 5 \--logging_steps 5 \--max_length 2048 \--output_dir output_ocr \--warmup_ratio 0.05 \--dataloader_num_workers 4

模型训练中,正常收敛,如下图所示,内存占用18G左右:

{'loss': 4.36318054, 'token_acc': 0.32325581, 'grad_norm': 5.01398468, 'learning_rate': 9.725e-05, 'memory(GiB)': 16.51, 'train_speed(iter/s)': 0.178871, 'epoch': 0.15, 'global_step/max_steps': '840/5568', 'percentage': '15.09%', 'elapsed_time': '1h 18m 15s', 'remaining_time': '7h 20m 31s'}
{'loss': 4.03473396, 'token_acc': 0.34009009, 'grad_norm': 4.07742596, 'learning_rate': 9.72e-05, 'memory(GiB)': 16.51, 'train_speed(iter/s)': 0.179055, 'epoch': 0.15, 'global_step/max_steps': '845/5568', 'percentage': '15.18%', 'elapsed_time': '1h 18m 38s', 'remaining_time': '7h 19m 35s'}
{'loss': 4.13988152, 'token_acc': 0.3490566, 'grad_norm': 3.48686051, 'learning_rate': 9.715e-05, 'memory(GiB)': 16.51, 'train_speed(iter/s)': 0.179242, 'epoch': 0.15, 'global_step/max_steps': '850/5568', 'percentage': '15.27%', 'elapsed_time': '1h 19m 1s', 'remaining_time': '7h 18m 40s'}
Train:  15%|███████████████████████▏                                                                                                                                | 850/5568 [1:19:01<5:59:45,  4.58s/it]

将训练好的模型与loar融合

# checkpoint-5568-merged  融合会生成这样一个文件夹,和Qwen2.5-vl-7b的使用方式完全相同 
# 这里`--adapters`需要替换生成训练生成的最后一个检查点文件夹。 由于adapters文件夹中包含了训练的参数文件因此,不需要额外指定`--model`:
CUDA_VISIBLE_DEVICES=0 swift export \--adapters  ./output_ocr/vx-xxx/checkpoint-5568 \--merge_lora true             

四. 模型测试

# pt推理
NPROC_PER_NODE=1 MAX_PIXELS=1003520 swift infer \--ckpt_dir ./output_ocr/vx-xxx/checkpoint-5568-merged \--max_new_tokens 300 \--temperature 0 \--val_dataset val_dataset.jsonl \--result_path output_5568.jsonl \--max_batch_size 1 \--infer_backend pt

参考:
ms-swift
多模态模型实践——swift3框架使用
Qwen2.5 VL! 重要的模型说三遍!

http://www.dtcms.com/wzjs/309719.html

相关文章:

  • 兰州新区城乡建设局网站电商运营数据六大指标
  • c2c模式成功案例分析网站seo优化技能
  • 购买服务器做网站百度推广做二级域名
  • 网站建设服务协议书关键词优化快速
  • 福建微网站建设价格苏州seo关键词优化排名
  • 上海住房城乡建设网站品牌策划的五个步骤
  • 源码建站和模板建站区别seo公司系统
  • 网站开发 为什么要用缩略图网站推广优化流程
  • 怎么看网站哪个公司做的信息流优化师简历模板
  • 做民宿的网站今晚比赛预测比分
  • 广州网站推广找哪里网页制作平台有哪些
  • 怎么把自己做的网站传网上宁波seo推荐推广平台
  • 合肥做淘宝网站建设2022好用值得推荐的搜索引擎
  • 住建设部官方网站如何进行seo搜索引擎优化
  • 烟台哪儿有可以做淘宝网站的视频号直播推广二维码
  • 网站建设中如何使用字体网络营销团队
  • 常德生活网关键词怎样做优化排名
  • 网页制作与网站建设自考网站整站优化
  • 黄冈公司网站推广软件首选网络服务提供者不履行法律行政法规规定
  • 做网站4核是什么意思网站接广告
  • 什么网站做一件代发图片外链上传网站
  • 快速做网站公司怎样做搜索引擎推广
  • 淘宝有做钓鱼网站的吗谷歌seo服务公司
  • 怎么制作手机网站关键词分析工具
  • 网站建设管理工作总结报告超级外链
  • 厦门网站建设公司免费网站 推广网站
  • 建设银行租房网站湖北360关键词指数查询
  • 网站有了备案号之后能做什么sem是什么测试
  • 西安幼儿园网站制作网络营销公司哪家好
  • 网页网站的区别是什么微信seo排名优化软件