自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 智能语音指令解析

第一步,在语音报销工单信息录入的场景下,模型的输入为报销工单相关的音频文件。可以根据设备类型,选取合适的录音软件来录制音频文件,保存格式应为``.wav``数据格式。若音频文件格式不符,可以调用脚本转换格式。第二步,然后在BaiduAI开放平台创建语音识别应用以获取API Key和Secret Key。其实就是构建个模型,能把声音数据转换成文本数据,之后用信息提取模型根据schema提取需要的信息。第三步,对上面提取的数据进行预处理,转换成prompt数据集,之后训练模型。

2024-08-16 16:33:03 121

原创 基于百度paddle检索系统的召回

所谓召回,无非就是用一段不规则文本模拟用户query查询,而要召回的是标准的title+key,这些是要构建索引库的,所有相似文本对的第二个文本必须要在索引库里存在,不然就没法评估,因为标记都是0,还有召回1,召回5等,并不是什么狗屁的查全率,说的子虚乌有的,更精确的是像图像分类中的top1,top5这样的,就是精确率,召回5就是5次召回有一次召回到,就设置标记为1,这其实就是top5精确率,依次类推,其他事top10,top20。但是准确率高,损失未必低,知道这意味 着啥吗?

2024-07-29 20:11:43 365

原创 文本分类动转静预测错误分析和挖掘稀疏数据和建立新数据集.ipynb

get_sparse_data(analysis_result, sparse_num)函数根据某种标准(如特征相似度评分的分布。def get_sparse_data(analysis_result, sparse_num): # 获取稀疏数据。# digits=4参数指定了在输出报告中保留的小数位数。# 基于analysis_result,使用get_sparse_data函数选择稀疏数据。# 返回三个主要元素:稀疏数据的索引(sparse_indexs)、稀疏度评分(sparse_scores)

2024-07-27 19:52:43 576

原创 诗歌模型训练transformer

在嵌入256后,这是嵌入512,就是一个token对应512维向量,这个向量就 表示了这个token的 各种信息。

2024-07-26 07:28:36 110

原创 中文诗歌生成

这是在500批次内训练的,我遵循从数据集的一部分到越来越大的训练方式。这是在1500个批次上训练,每个批次64个诗歌样本。用transformer在诗歌集上训练出的模型。上面是贪婪搜索,topk等搜索得到的生成结果。上面是各种生成方式的结果。

2024-07-21 23:37:57 196

原创 问百度文心一言 下三角矩阵

[1, 0, 0, 0, 0], [1, 1, 0, 0, 0], [1, 1, 1, 0, 0], [1, 1, 1, 1, 0], [1, 1, 1, 1, 1]] ,我把之前说的对齐,你看看是下三角不是,明明是下三角,定义上说,主对角线以上全是0,以下不全是0就是下三角。,因为主对角线上方的元素(在这个例子中,除了第二行第一列的元素外,其他都是零)可以是非零的(尽管在这个特定例子中,除了第二行第一列外,其他都是零),而主对角线下方的元素(在这个例子中,全部是非零的)也符合上三角矩阵的定义。

2024-07-19 17:08:18 1144

原创 基于语义的法律问答系统

第六步,构建前端用户访问页面,构建web处理用户访问请求,调用模型,返回语义向量,之后查询milvus库,返回json数据,html页面用jquery异步调用,无刷新访问。第五步,静态模型转serving,写webservice启动服务脚本,启动服务。第三步,构建dataloader,选择优化器训练模型,之后召回评估。第四步,模型动转静,之后用静态模型抽取索引库语义向量到milvus。第二步,构建索引数据集,问答对数据集,训练数据集,召回评估数据集。最后完成的法律问答系统界面如下。

2024-07-11 12:19:27 219

原创 使用现代 MLP 模型进行图像分类

im_part = keras.ops.zeros_like(inputs) #形状和inputs一样的全0数据。x = keras.ops.fft2((real_part, im_part))[0]#傅里叶变换,有实部和虚部。x = mlp1_outputs + inputs #感知机前后的数据做残差(b,p,h)x = x + x_ffn#残差连接可以让网络学习残差前后的差异,这里是感知机前后的差别。x_ffn = self.ffn(x)#前馈层,感知机。x = x + inputs#前后做残差。

2024-07-08 18:22:54 499

原创 Duee信息提取句子级预测结果后处理

t_ret = extract_result(d_json["text"], d_json["pred"]["labels"])#提取触发词位置,文本。role_ret[role_type].append("".join(r["text"]))#把提取的标签文本加进去。sent_role_mapping[d_json["id"]] = role_ret#句子id到角色论元对的映射。elif _type!role_data = read_by_lines(role_file)#读取句子论元角色预测。

2024-07-06 22:29:01 533

原创 duee句子级论元提取模型训练预测

loss_fn = paddle.nn.loss.CrossEntropyLoss(ignore_index=ignore_label)#对于-1标签值不计算损失。label_one = [id2label[pid] for pid in p_ids[1:seq_len - 1]]#转换索引为真实标签。#p_list:(50,27),是一个样本中各个token的预测概率,p_ids是模型预测的样本中各个token的标签索引。labels = labels[:(max_seq_len - 2)]#截断。

2024-07-06 20:48:08 879

原创 duee句子级触发词模型训练预测

loss_fn = paddle.nn.loss.CrossEntropyLoss(ignore_index=ignore_label)#对于-1标签值不计算损失。label_one = [id2label[pid] for pid in p_ids[1:seq_len - 1]]#转换索引为真实标签。#p_list:(50,27),是一个样本中各个token的预测概率,p_ids是模型预测的样本中各个token的标签索引。labels = labels[:(max_seq_len - 2)]#截断。

2024-07-06 20:18:51 551

原创 Duee1.0信息提取句子级数据预处理

start = event["trigger_start_index"]#触发词起始索引。start = arg["argument_start_index"]#论元起始。output = ["text_a"] if is_predict else ["text_a\tlabel"]#文本,标签。event_type = event["event_type"]#事件类型。suffix = "B-" if i == start else "I-" #前缀。labels = []#存放事件类型标签或角色标签。

2024-07-06 19:27:48 952

原创 duee篇章级预测结果后处理

doc_pred[d["id"]] = {"id": d["id"], "event_list": []}#没有就创建id到样本的映射字典。doc_pred[d["id"]]["event_list"].extend(d["event_list"])#这个会合并id相同的事件列表。arg_str = "{}-{}".format(arg["role"], arg["argument"])#角色论元组。label = d_json["pred"]["label"]#模型预测的类别。

2024-07-06 18:12:23 685

原创 duee篇章级enum分类模型训练预测

apply_decay_param_fun=lambda x: x in decay_params)#刨除"bias", "norm"logits = model(input_ids,token_type_ids)#模型预测置信度。probs_ids = paddle.argmax(probs, -1).numpy()#预测的标签索引。logits = model(input_ids, token_type_ids)# 分值。probs = F.softmax(logits, axis=-1)#概率。

2024-07-06 15:26:19 354

原创 duee篇章级论元抽取模型训练预测

metric = ChunkEvaluator(label_list=label_map.keys(),suffix=False)# 用于指定是否在某些输出或结果中添加后缀。loss_fn = paddle.nn.loss.CrossEntropyLoss(ignore_index=ignore_label)#对于-1标签值不计算损失。probs_ids = paddle.argmax(probs, -1).numpy()#预测的标签索引。#seq_len:某一个样本序列长度。

2024-07-06 12:43:33 455

原创 duee篇章级触发词模型训练预测

metric = ChunkEvaluator(label_list=label_map.keys(),suffix=True)# 用于指定是否在某些输出或结果中添加后缀。loss_fn = paddle.nn.loss.CrossEntropyLoss(ignore_index=ignore_label)#对于-1标签值不计算损失。label_one = [id2label[pid] for pid in p_ids[1:seq_len - 1]]#去除开始结束符号。

2024-07-06 06:29:37 451

原创 duee信息提取篇章级数据预处理

sent_mapping_event[cur_sent]["event_list"] = []#添加一个空的。if len(d_json.get("event_list", [])) == 0:#过滤掉没有event_list的。if len(d_json.get("event_list", [])) == 0:#过滤掉没有event_list的。if len(d_json.get("event_list", [])) == 0:#过滤掉没有event_list的。

2024-07-06 03:04:23 894

原创 msra_ner命名实体识别训练评估预测

apply_decay_param_fun=lambda x: x in decay_params)# 刨除 "bias", "norm"preds =paddle.argmax(logits,axis=-1)#模型预测标签索引。id2label = dict(enumerate(label_list))#转换list为dict。pred = paddle.argmax(logits, axis=-1)#预测的标签索引。", ".join(sum(a,[]))#列表内必须也是列表,才能sum。

2024-07-05 16:24:34 415

原创 保险问答系统提前特征,插入milvus

if not self.has_collection(collection_name):#没有集合就创建。if (len(examples) >= self.batch_size):#够一个批次就做下面的事。if (len(examples) > 0):#处理最后一个批次数据。if (partition_tag #没有分区就创建。all_embeddings = []#存放所有数据。examples = []#用来临时存放一个批次数据。

2024-07-04 04:26:57 955

原创 语义检索系统排序阶段使用PaddleInference进行模型推理

sim_score = output_handle.copy_to_cpu()#本来这个处理就是概率了。examples = []#保持每个样本的token和token_type,数字形式。if not is_test:#非测试,评估返回。else:#测试返回。

2024-07-03 20:58:55 475

原创 语义检索系统召回阶段in_batch_negative训练语义模型

, cls_embedding = self.ptm(input_ids, token_type_ids, position_ids,#池化输出。query_embedding = inner_model.get_semantic_embedding(query_data_loader)#查询向量。final_index = build_index(corpus_data_loader, inner_model)#构建索引库。yield text_embeddings#返回的事输入的向量表示(n,d)

2024-07-03 14:40:36 308

原创 抽取语料库索引语义向量并建milvus库

corpus_list_embed[j][:text_max_len - 1] for j in range(i, cur_end, 1)],#文本。x=[corpus_list_embed[j][:1000]for j in range(10000, 15000,1)]#[:200]文本切片操作。batch_emb = embeddings[np.arange(i, cur_end)]#一个批次的嵌入向量。[j for j in range(i, cur_end, 1)],#索引。

2024-07-02 23:03:34 737

原创 语义索引系统召回模块之模型动转静,静态模型推理

title_ids, title_segment_ids = convert_example({idx: text[1]}, tokenizer)#文本对的第二个文本,title。examples.append((input_ids, segment_ids))#用来添加每个样本数据(tokens,token_types)input_handles[1].copy_from_cpu(segment_ids)#1号处理token_types。predictor.run()#推理。

2024-07-02 16:33:44 699

原创 用召回模型预测查询文本向量和预测文本对语义相似度

axis=-1)#(相当于对应向量做内积),(n,1),又因为是单位向量,相当于向量夹角余弦值。cosine_sims = np.concatenate(cosine_sims, axis=0)#在样本轴合并。valid_ds = load_dataset(read_text_pair,#用方法读取文件为dataset。text_pairs=load_dataset(read_text_pair,#用方法读取文件为dataset。

2024-07-02 09:28:42 479

原创 语义索引系统召回阶段之召回模型训练评估

cls_embedding = F.normalize(cls_embedding, p=2, axis=-1)#语义向量单位化(n,d)cosine_sim = cosine_sim - paddle.diag(margin_diag)#余弦相似。text, similar_text = line.rstrip().split("\t")#文本,相似文本。if avg_loss < best_loss:#avg_loss< best_loss才会更新保存模型。#(n,1),余弦相似。

2024-07-02 08:01:19 298

原创 语义索引系统排序模型之训练评估预测

, pos_cls_embedding = self.ptm(pos_input_ids, pos_token_type_ids,#正样本嵌入(n,d)_, neg_cls_embedding = self.ptm(neg_input_ids, neg_token_type_ids,#负样本嵌入(n,d)# 一个损失函数(如margin_ranking_loss),模型可以学会将正样本的相似度最大化,同时将负样本的相似度最小化。# 正样本相似度是指模型计算出的正样本对之间的相似度。

2024-06-22 14:25:50 413

原创 重装系统,以及设置 深度 学习环境

第三步,设置bios u盘首启动,之后一路傻瓜式安装,刻录wins10和刻录普通的ubantu不一样,刻录ubantu只需要dd一个命令就行。双系统后如果报错,就进入分区,把挂载卸了。第一步:下载win10镜像,之后在系统用gparted新建个分区,格式化成ntfs,用来装win10系统。第二步,制作win10启动盘,这个需要先把u盘用disks格式化,之后用下面的命令刻录系统到u盘。创建conda环境 安装nvidia驱动,cuda,cudnn。下载anaconda bash 安装它。

2024-06-14 17:28:31 188

原创 政务问答系统模型动转静,插入milvus

dropout is not None和dropout是不一样的,dropout=0.时,dropout是False,dropout is not None是True。这是最常用的精度类型,cls_embedding = F.normalize(cls_embedding, p=2, axis=-1)#向量单位化(b,d)#(b,d)@(d,b)=(b,b),得到的是query中的每个语义向量和title的每个语义向量的余弦值.。yield text_embeddings#获取文本语义嵌入(b,d)

2024-06-13 03:09:16 1126

原创 政务问答系统构建语义模型和构建索引库和召回评估

1.0 - cosine_sims[row_index][idx]范围0-2,越大越不相似,因为cosine_sims[row_index][idx]范围-1-1。#每一行都是query和当前批次中的title的余弦相似度,按理对角线上更相似,因为对角线上是对应的query和title。#(b,d)@(d,b)=(b,b),得到的是query中的每个语义向量和title的每个语义向量的余弦值.。#(b,d)@(d,b)=(b,b),得到的是query中的每个语义向量和title的每个语义向量的余弦值.。

2024-06-12 19:48:38 788

原创 保险问答系统之模型训练召回评估

cosine_sim = paddle.sum(query_cls_embedding * title_cls_embedding, axis=-1)#query和title的余弦相似度。query_cls_embedding = self.get_pooled_embedding(#query向量表示(b,d)title_cls_embedding = self.get_pooled_embedding(#title向量表示(b,d)best_loss=float('inf')#最好的损失。

2024-06-12 08:16:57 1029

原创 通用信息提取数据预处理

type_role_map = {event_type: list(event_map[event_type]["参数"].keys()) for event_type in event_map}zb_instances = load_jsonlines_file(f"{output_folder}/金融信息_中标/train.json")zy_instances = load_jsonlines_file(f"{output_folder}/金融信息_质押/train.json")

2024-06-10 22:34:33 1003

原创 msra_ner实体识别

Pad(axis=0, pad_val=tokenizer.pad_token_type_id,dtype="int32"), # token_type_ids, 填充0。id_label = dict(zip(label_vocab.values(), label_vocab.keys()))#idx-->label字典。Pad(axis=0, pad_val=tokenizer.pad_token_id,dtype="int32"), # input_ids,填充0。

2024-05-28 20:26:28 770

原创 快递单命名实体识别

Pad(axis=0, pad_val=tokenizer.pad_token_type_id,dtype="int32"), # token_type_ids, 填充0。Pad(axis=0, pad_val=tokenizer.pad_token_type_id,dtype="int32"), # token_type_ids, 填充0。Pad(axis=0, pad_val=tokenizer.pad_token_id,dtype="int32"), # input_ids,填充0。

2024-05-27 21:04:13 969

原创 深度学习感悟

我觉得万事万物都逃不过y=f(x)这个关系,输入在某种法则作用下变成了输出,这个用来理解宇宙,就是我们知道宇宙的现状,就是y,知道自然法则,就是f,我们不知道的是x,其实深度学习也是如此,模型要找的是f,通过不断减小预测和真实值的 损失来找最好的w和b,而这个就是f,最好的f应该是方之四海而皆准的,而且深度学习中很多都是分类问题,图像分类,文本分类是分类,图像分割也可以看成分类,是对像素的分类,还有翻译,就是预测下一个字的概率分布,也是分类,看这个词元属于词汇表中的哪一个,图片可以看成序列,因为它是由像素值

2024-05-15 14:11:48 158

原创 英语到西班牙语翻译

val_pairs = text_pairs[num_train_samples : num_train_samples + num_val_samples]#验证集。spa_vocab = train_word_piece(spa_samples, SPA_VOCAB_SIZE, reserved_tokens)#西班牙词汇。stop_token_ids=[spa_tokenizer.token_to_id("[END]")],#结束标记,3。

2024-05-12 03:41:54 612

原创 可视化3个10分类

keras.callbacks.EarlyStopping(monitor="val_loss", patience=5),#超过四次验证损失不减少就停止。x = layers.Rescaling(scale=1.0 / 255)(inputs)#0-1归一化。

2024-05-09 18:02:32 691

原创 类激活可视化

last_conv_layer_output = last_conv_layer_output[0]#特征图(10,10,2048)#tf.maximum(heatmap, 0),会把heatmap中小于0的值变成0,大于0的值不变。#最后一层特征图的输出是确定的,不同的是不同图片获取的预测类别,pooled_grads。#获取类别分值对卷积特征图的梯度,梯度形状和特征图形状一样(1,10,10,2048)#构造热力图,参数:图片数据,模型,最后的卷积层,预测的类别。#图片路径,加权特征图。

2024-05-08 23:25:18 962

原创 集成梯度解释模型

integrated_grads = (img_input - baseline) * avg_grads#(1,299,299,3)*(299,299,3),对应元素相乘。baseline = np.random.random(img_size) * 255#获取0-1之间的随机数,形状(299,299,3)orig_img = np.copy(img[0]).astype(np.uint8)# (299, 299, 3),原图。integrated_grads.append(igrads)#两次。

2024-05-08 20:05:29 915

原创 可视化卷积网络

loss, img = gradient_ascent_step(img, filter_index, learning_rate,model)#梯度上升,loss,img。def compute_loss(input_image, filter_index,model):#参数:输入(四维张量),滤镜索引,特征提取模型。def gradient_ascent_step(img, filter_index, learning_rate,model):#图函数。

2024-05-08 16:37:06 581 1

原创 BaseNet图像分割

只训练10次,模型太大,而且我电脑硬件不太好,显存有些低

2024-05-06 00:21:24 940 1

COCO2017 数据集

目标检测数据集

2024-05-10

Oxford Pets 数据集 掩码

Oxford Pets 数据集 掩码

2024-05-06

fashion-mnist

fashion-mnist

2024-05-06

处理wiki9标签的脚本

处理wiki9标签的脚本

2024-03-21

NLP10大标准数据集

NLP10大标准数据集

2024-03-21

enwik9和wikfill.pl在里面

NLP需要的enwik9,维基百科的一些词汇素材,还有wikifil.pl处理标签的脚本

2024-03-21

fastText和cooking测试验证集

fastText和cooking测试验证集

2024-03-21

NLP10个数据集glue-data

CoLA,MNLI等,在这个py文件的文件夹路径的终端输入Python 这个文件的名称就行,我自己改的,原先别人的那个脚本有点bug

2024-03-19

卷积神经网络学习用到的猫狗图片

在卷积神经网络学习,借用别人模型的使用中用到的猫狗图片,分为训练集,验证集和测试集

2024-03-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除