算法-基于transformers/中文bert的分类fine-turing

本文介绍了使用BERT-base-chinese模型进行中文信息安全分类竞赛的训练环境配置和数据处理。作者在Windows 10环境下,配置了CUDA 11.3和PyTorch 1.10.2,选择了Python 3.8,并详细讲述了数据读取和预处理的步骤。文章旨在通过实际操作加深对NLP任务的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算法-基于bert-base-chinese的中文信息安全分类竞赛实现

前言

学习了nlp一段时间,了解nlp的任务和技术体系,需要写代码练习下常见的nlp任务。找到最为基础分类任务。比赛名称是:面向数据安全治理的数据内容智能发现与分级分类

一、win10 训练环境配置

  1. cuda / cudnn / pytorch 的版本选择
1.cuda 和 cudnn的选择:
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio===0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
2.python版本选择:
在python3.6和python3.8中测试了transformers库下bert-base-chinese的模型,transformers 4.16.2 无法在python3.6上运行
3.本地cuda环境版本:
(py38_pt_common) D:\dev\envs\py38_pt_common>nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Wed_Jun__2_19:25:35_Pacific_Daylight_Time_2021
Cuda compilation tools, release 11.4, V11.4.48
Build cuda_11.4.r11.4/compiler.30033411_0
4.关于cuda和cudnn版本可以搜索得到
  1. 配置命令记录
conda create --prefix=D:\dev\envs\py38_pt_common python=3.8
conda activate D:\dev\envs\py38_pt_common
pip3 install torch==1.10.2+cu113 torchvision==0.11.3+cu113 torchaudio===0.10.2+cu113 -f https://download.pytorch.org/whl/cu113/torch_stable.html
pip install scikit-learn
pip install transformers
pip install sentencepiece

二、数据认识

1.引入库

代码如下(示例):

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import  ssl
ssl._create_default_https_context = ssl._create_unverified_context

2.读入数据

代码如下(示例):

data = pd.read_csv(
    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())

该处使用的url网络请求的数据。


总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

### 关于 sentence-transformers all-MiniLM-L6-v2 模型的使用说明 #### 模型概述 `all-MiniLM-L6-v2` 是由 `sentence-transformers` 提供的一个轻量级句子嵌入模型,适用于多种自然语言处理任务,例如语义相似度计算、聚类分析以及信息检索等。该模型基于 MiniLM 架构并经过微调优化,在保持高性能的同时显著降低了计算复杂度和内存占用。 #### 安装与依赖环境配置 为了顺利运行此模型,需先安装必要的 Python 库。推荐通过 pip 工具完成安装操作: ```bash pip install torch transformers sentence-transformers ``` 上述命令会自动拉取 PyTorch 和 Hugging Face 的 Transformers 库作为基础支持库[^1]。 #### 模型下载方式 可通过官方提供的链接访问预训练权重文件: - **HuggingFace 地址**: [https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2](https://huggingface.co/sentence-transformers/all-MiniLM-L6-v2)[^1] - **镜像站点**: [https://gitcode.com/mirrors/sentence-transformers/all-MiniLM-L6-v2](https://gitcode.com/mirrors/sentence-transformers/all-MiniLM-L6-v2)[^2] 两种途径均可用于本地部署或进一步开发工作。 #### 基本使用示例 以下是加载模型并对输入文本生成向量表示的核心代码片段: ```python from sentence_transformers import SentenceTransformer, util # 加载预训练模型 model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') # 输入待编码的句子列表 sentences = ['This is an example sentence', 'Each sentence is converted'] # 获取对应的句向量 embeddings = model.encode(sentences) print("Embedding shape:", embeddings.shape) ``` 以上脚本展示了如何利用 `SentenceTransformer` 类快速实现从原始字符串到固定长度特征向量的转换过程。 #### 性能评估要点 针对实际应用场景下的表现评测,通常采用余弦相似度衡量两组或多组数据间的关联程度。具体而言,可以参照如下逻辑框架执行定量分析: ```python import numpy as np # 计算两个句子之间的相似度得分 cosine_scores = util.cos_sim(embeddings[0], embeddings[1]) print(f"Cosine similarity score: {float(cosine_scores):.4f}") ``` 此外,还应考虑将其结果同其他同类算法(如 SBERTBERT-base-nli-mean-tokens)做横向比较以便更全面了解优劣之处[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值