首页 > 其他分享 >whystea5

whystea5

时间:2024-07-29 19:19:44浏览次数:6  
标签:help -- parser default add whystea5 model

加载模型及量化 from modelscope import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained(model_dir, trust_remote_code=True) model = AutoModelForCausalLM.from_pretrained(model_dir, trust_remote_code=True).quantize(4).half().cuda() 构造数据集 #id,attention,label from datasets import load_dataset #构造input_id attention_mask labels def process_dataset(data): max_len=256 input_ids,attention_mask,labels=[],[],[] instruction=tokenizer(f"user:{data['instruction']}Assistant",add_special_token=False]) response=tokenizer(f"user:{data['response']}Assistant",add_special_token=False]) input_ids=instruction['input_ids']+response['input_ids'] attention_mask=instruction['attention_mask']+response['attention_mask'] labels=[-100]len*(instruction['input_ids'])+response['input_ids'] if len(input_ids)>max_len: input_ids=input_ids[:max_len] attention_mask=attention_mask[:max_len] labels=labels[:max_len] return { 'input_ids':input_ids, 'attention_mask':attention_mask, 'labels':labels } dataset=load_dataset('json',data_files='',split='train') dataset=dataset.map(process_dataset,remove_columns=dataset.column_name) dataset=dataset.shuffle() 微调 from peft import (LoraConfig,get_peft_model,TaskType) from transformers import TrainingArguments,Trainer,DataCollatorForSeq2Seq #加载lora配置 config=LoraConfig(task_type=TaskType.CAUSAL_LM,r=8,target_modules="all-linear") #模型+配置 model=get_peft_model(model,config) #训练配置 train_args=TrainingArguments(output_dir='checkpoints/qlora',run_name='', per_device_train_batch_size=10,num_train_epochs=6,save_steps=6,report_to="none" ,optim="paged_adamw_32bit") #训练 trainer=Trainer(model=model,args=train_args,train_dataset=dataset,data_collator=DataCollatorForSeq2Seq((tokenizer=_tokenizer,padding=True))) trainer.train() 合并 from transformers import pipeline, AutoModelForSeq2SeqLM from peft import PeftModel #加载预训练模型+微调 model = AutoModelForCausalLM.from_pretrained(model_dir, trust_remote_code=True).quantize(4).half().cuda() #modelid参数指定微调配置的ID peft_ model = PeftModel.from_pretrained(model= model, model_id="checkpoints/qlora/checkpoint-188") #合并 peft model= peft model.merge and unload() #保存 peft model.save pretrained("myqwen2-0.5b") 使用 #pipeline model = AutoModelForCausalLM.from_pretrained("myqwen2-0.5b",, trust_remote_code=True).quantize(4).half().cuda() pipe = pipeline("text-generation", model= model, tokenizer= tokenizer) pipe(f"user:你是谁?Assistant:") labelme2yolo --json_dir="" --val_size=0.2 --test_size=0 --output_format="bbox" train parser.add_argument("--weights", type=str, default=ROOT / "pretrain/yolov5s.pt", help="initial weights path") #修改class parser.add_argument("--cfg", type=str, default="models/yolov5s.yaml", help="model.yaml path") parser.add_argument("--data", type=str, default=ROOT / "data/coco128.yaml", help="dataset.yaml path") parser.add_argument("--epochs", type=int, default=10, help="total training epochs") parser.add_argument("--batch-size", type=int, default=4, help="total batch size for all GPUs, -1 for autobatch") parser.add_argument("--device", default="0", help="cuda device, i.e. 0 or 0,1,2,3 or cpu") detect.py parser.add_argument("--weights", nargs="+", type=str, default=ROOT / "runs/train/exp2/weights/best.pt", help="model path or triton URL") parser.add_argument("--source", type=str, default=ROOT / "data/images", help="file/dir/URL/glob/screen/0(webcam)") #data 主要提供标签作用 parser.add_argument("--data", type=str, default=ROOT / "data/coco128.yaml", help="(optional) dataset.yaml path") parser.add_argument("--conf-thres", type=float, default=0.25, help="confidence threshold") parser.add_argument("--iou-thres", type=float, default=0.45, help="NMS IoU threshold") parser.add_argument("--device", default="0", help="cuda device, i.e. 0 or 0,1,2,3 or cpu") val.py parser.add_argument("--data", type=str, default=ROOT / "data/coco128.yaml", help="dataset.yaml path") parser.add_argument("--weights", nargs="+", type=str, default=ROOT / "runs/train/exp2/weights/best.pt", help="model path(s)") parser.add_argument("--batch-size", type=int, default=32, help="batch size") parser.add_argument("--conf-thres", type=float, default=0.6, help="confidence threshold") parser.add_argument("--iou-thres", type=float, default=0.6, help="NMS IoU threshold") parser.add_argument("--device", default='0', help="cuda device, i.e. 0 or 0,1,2,3 or cpu") export.py parser.add_argument("--data", type=str, default=ROOT / "data/coco128.yaml", help="dataset.yaml path") parser.add_argument("--weights", nargs="+", type=str, default=ROOT / "runs/train/exp2/weights/best.pt", help="model.pt path(s)") parser.add_argument("--device", default="0", help="cuda device, i.e. 0 or 0,1,2,3 or cpu") default=["onnx"], 1.labelme 2.labelme2yolo train.py weight -预训练 data -yaml- cfg -yaml-class个数 python val.py --weight .oonx --ddn

标签:help,--,parser,default,add,whystea5,model
From: https://www.cnblogs.com/whystea/p/18330841

相关文章