HuggingFace镜像/text_to_function_v2-openmind
模型介绍文件和版本分析
下载使用量0

text_to_function_v2

该模型是在 None 数据集上对 cointegrated/rubert-tiny2 进行微调得到的版本。 其在评估集上取得了以下结果:

  • 损失:1.0580
  • F1 值:0.7937

模型描述

需要更多信息

在 Openmind 中的使用

from openmind import AutoTokenizer, AutoModelForSequenceClassification, is_torch_npu_available
import torch

import argparse
import time

def parse_args():
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--model_name_or_path",
        type=str,
        help="Path to model",
        default="jeffding/text_to_function_v2-openmind",
    )
    args = parser.parse_args()
    return args

def main():
    args = parse_args()
    model_path = args.model_name_or_path

    if is_torch_npu_available():
        device = "npu:0"
    else:
        device = "cpu"

    # 加载分词器和模型
    tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
    model = AutoModelForSequenceClassification.from_pretrained(model_path, trust_remote_code=True).to(device)
                                              
    start_time = time.time()

    # 文本数据
    text = "Hello, my dog is cute."

    # 将文本编码为模型所需的格式
    inputs = tokenizer(text, return_tensors="pt", padding=True, truncation=True).to(device)

    # 确保模型处于评估模式
    model.eval()

    # 使用torch.no_grad()进行推理,以避免计算梯度
    with torch.no_grad():
        # 进行推理
        outputs = model(**inputs)

    # 获取logits
    logits = outputs.logits

    # 将logits转换为预测类别的ID
    predicted_class_id = logits.argmax(-1).item()

    # 如果你有类别标签与ID的映射,你可以将预测的ID转换为实际的类别标签
    # 例如:
    # class_labels = ['negative', 'positive']
    # predicted_label = class_labels[predicted_class_id]
    # print(f"Predicted label: {predicted_label}")

    print(f"Predicted class ID: {predicted_class_id}")
    
    id2label = model.config.id2label[predicted_class_id]
    print(f"id2label:{id2label}")
                                        
    end_time = time.time()
    print(f"硬件环境:{device},推理执行时间:{end_time - start_time}秒")

if __name__ == "__main__":
    main()

预期用途与局限性

需要更多信息

训练与评估数据

需要更多信息

训练过程

训练超参数

训练过程中使用了以下超参数:

  • learning_rate: 5e-05
  • train_batch_size: 4
  • eval_batch_size: 4
  • seed: 42
  • optimizer: Adam,参数 betas=(0.9,0.999),epsilon=1e-08
  • lr_scheduler_type: linear
  • num_epochs: 5
  • mixed_precision_training: Native AMP

训练结果

训练损失轮次步数验证损失F1
0.90531.029250.85850.7410
0.64032.058500.87560.7693
0.42613.087750.93780.7872
0.33794.0117001.02940.7925
0.23625.0146251.05800.7937

框架版本

  • Transformers 4.27.1
  • Pytorch 2.1.0.dev20230414+cu117
  • Datasets 2.9.0
  • Tokenizers 0.13.3