pytorch中,设置随机种子,适用于NER实验

博客围绕Pytorch在深度学习和机器学习领域的应用展开。Pytorch是重要工具,在这两个信息技术热门领域发挥着关键作用,能帮助开发者更高效地进行模型构建与训练等操作。
部署运行你感兴趣的模型镜像
import random
import numpy as np
import torch
def setup_seed(seed):
	torch.manual_seed(seed)				#为cpu分配随机种子
	if torch.cuda.is_available():
		torch.cuda.manual_seed(seed)	#为gpu分配随机种子
		torch.cuda.manual_seed_all(seed)#若使用多块gpu,使用该命令设置随机种子
	random.seed(seed)
	np.random.seed(seed)
	torch.backends.cudnn.deterministic = True
	torch.backends.cudnn.benchmark = False

setup_seed(seed)

您可能感兴趣的与本文相关的镜像

PyTorch 2.5

PyTorch 2.5

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

一、规则引擎:确定性映射规则落地实现 (一)核心目标 覆盖80%以上高频“指标-方法”匹配场景,输出直接可用的确定性推荐结果,作为AI推荐的基础保障。 (二)具体实现步骤 1.规则来源与梳理 行业标准接入:收集航天、汽车、电子等试验领域的国标(如GB/T系列)、行标及企业内部标准,提取“试验指标-推荐方法”的明确对应关系。 历史数据挖掘:分析系统历史试验任务数据,统计“指标+任务场景”组合下的方法选择频次,将选择率≥90%的组合纳入规则库。 专家经验录入:邀请试验领域专家梳理特殊场景规则(如高温环境下的“可靠性”指标,优先推荐“长时间驻留测试法”)。 2.规则结构设计 核心规则字段:指标名称(精确匹配+模糊匹配)、任务场景、推荐方法ID、方法优先级(1-3级)、规则生效状态。 规则示例: 精确匹配:指标=“操作效率”→方法=“测量法”(优先级1) 模糊匹配:指标包含“可用性”→方法=“打分法”(优先级1) 场景关联:指标=“可靠性”+场景=“高温环境”→方法=“长时间驻留测试法”(优先级1) 3.规则存储与检索 采用关系型数据库(如MySQL)存储规则,建立“指标名称-任务场景”联合索引,提升检索效率。 检索逻辑:先按“指标精确匹配+场景匹配”查询,无结果则按“指标模糊匹配+场景匹配”查询,最后按“指标精确匹配”查询。 4.规则维护机制 系统后台提供规则新增、编辑、停用功能,支持按指标、场景批量导入/导出规则。 每月统计规则覆盖度(规则匹配成功的推荐次数/总推荐次数),当覆盖度低于80%时,触发专家审核补充规则。 二、语义匹配模型:BERT-based潜在适配方法补充 (一)核心目标 覆盖规则引擎未命中的长尾场景,通过语义理解推荐潜在适配方法,提升推荐召回率。 (二)具体实现步骤 1.数据预处理 文本清洗:去除“任务描述+指标名称”“方法说明”中的特殊字符、冗余词汇(如“的”“进行”),统一格式(如日期、单位标准化)。 文本融合:将“任务描述”与“指标名称”拼接为“[任务]:XXX[指标]:XXX”的固定格式文本,作为模型输入文本A;“方法说明”作为输入文本B。 分词与编码:采用中文分词工具(如jieba)对文本A、B分词,使用BERT中文预训练模型(如bert-base-chinese)进行词嵌入编码,生成768维向量。 2.模型选型与微调 基础模型:选用bert-base-chinese预训练模型,无需从零训练,降低开发成本。 微调数据集构建: 正样本:从历史数据中筛选“用户选择的方法+对应的任务描述+指标名称”组合,标注为匹配样本。 负样本:随机组合“任务描述+指标名称”与非适配方法,标注为不匹配样本(正样本:负样本=1:3)。 数据集规模:初始阶段采集1万条样本,按8:2划分训练集与验证集。 微调训练: 冻结BERT前8层参数,仅训练后4层与输出层,避免过拟合。 损失函数采用交叉熵损失,优化器使用AdamW,学习率设置为2e-5,训练轮次为5轮。 3.相似度计算与筛选 计算文本A与文本B的余弦相似度,相似度阈值设为0.7(初始值,可根据实际效果调整)。 筛选逻辑:取相似度≥0.7的前3个方法,按相似度降序排列,作为规则引擎的补充推荐结果。 冲突处理:若补充推荐方法与规则引擎推荐方法重复,保留规则引擎结果(优先级更高)。 4.模型部署与推理 采用TensorFlowServing部署模型,将模型推理延迟控制在100ms以内,满足实时推荐需求。 支持模型版本管理,新模型上线前通过灰度测试(5%流量)验证效果,无异常后全量切换。 三、方法说明生成:结构化信息→自然语言转化 (一)核心目标 将试验方法库中的结构化数据(操作步骤、数据采集要求)转化为通俗易懂的自然语言说明,降低用户使用门槛。 (二)具体实现步骤 1.试验方法库结构化设计 方法核心字段:方法ID、方法名称、操作步骤(有序列表,含步骤描述、操作工具、注意事项)、数据采集要求(采集项、采集频率、精度要求)、适用场景。 示例(方法=“测量法”): 操作步骤:[1.准备秒表等计时工具;2.记录试验人员开始操作的时间;3.记录操作完成的时间;4.计算两次时间差] 数据采集要求:[采集项=操作耗时;采集频率=1次/任务;精度要求=精确到秒] 2.说明生成模板设计 通用模板:按“方法名称+适用场景+操作步骤+数据采集要求”的逻辑组织文本,使用口语化表述(避免专业术语堆砌)。 模板示例: “推荐方法:{方法名称}(适用场景:{适用场景})。操作步骤:1.{步骤1};2.{步骤2};…数据采集要求:需采集{采集项},采集频率为{采集频率},精度需达到{精度要求}。” 场景适配:针对复杂方法(如“分析法”),增加“方法优势”字段,模板中补充“该方法优势:{方法优势},适合{场景描述}场景”。 3.生成逻辑与优化 数据提取:根据推荐方法ID,从方法库中提取结构化字段数据,自动填充至对应模板。 自然语言优化:使用简单句拆分长文本,通过连词(如“首先”“其次”“最后”)优化步骤连贯性,避免生硬罗列。 异常处理:若方法库中部分字段缺失(如无适用场景),自动跳过该字段,不影响整体说明的完整性。 4.说明展示形式 在线预览:在推荐方法列表中,鼠标悬浮可查看简要说明,点击“查看详情”展示完整说明。 导出支持:生成的方法说明可随试验大纲一同导出至Word/PDF,格式与大纲模板保持一致。 四、模型目标达成与优化:准确率提升路径 (一)核心目标 初始阶段(上线后3个月)推荐准确率≥85%,长期(上线后1年)稳定≥90%。 (二)具体实现步骤 1.准确率定义与评估 准确率计算公式:准确率=(用户选择的推荐方法数/总推荐次数)×100%(用户选择前3个推荐方法中的任意一个,均计为准确)。 评估频率:每周统计一次准确率,每月生成详细评估报告(含规则覆盖度、模型相似度分布、用户反馈情况)。 2.初始阶段 规则引擎强化:上线前完成核心场景规则梳理,确保规则覆盖度≥80%,直接贡献大部分准确推荐。 模型快速迭代:每2周根据新产生的用户行为数据(推荐结果+用户选择)更新微调数据集,重新训练模型,优化相似度阈值。 人工干预兜底:对于未命中规则且模型相似度低于0.7的场景,推荐“专家咨询”入口,由专家手动推荐方法,同时将该场景纳入规则库或模型训练集。 3.长期阶段 (1)用户反馈闭环: 系统在推荐结果后增加“是否适配”反馈按钮(适配/不适配),用户点击“不适配”时需选择原因(如“方法不适用场景”“说明不清晰”)。 每月收集反馈数据,将“不适配”且原因明确的场景,补充为规则或模型训练样本。 (2)模型持续优化: 每季度扩大微调数据集(新增至少5000条样本),调整模型参数(如学习率、训练轮次),提升语义匹配精度。 引入迁移学习:若新增试验领域(如航空航天→汽车电子),基于原有模型微调领域专属数据,快速适配新场景。 规则动态更新:结合用户反馈和新行业标准,每季度更新规则库,提升规则覆盖度和准确性。 4.异常监控与应急处理 实时监控:设置准确率预警阈值(初始85%,长期90%),当连续3天准确率低于预警阈值时,触发系统告警。 应急方案:告警后自动切换为“规则引擎优先+人工审核”模式,暂停语义匹配模型推荐,待技术人员排查优化后恢复。
最新发布
11-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值