- 博客(80)
- 资源 (1)
- 收藏
- 关注
原创 大模型数据集融入代码逻辑
大模型的强大通用能力的背后,离不开量级巨大且优质的数据训练集。其中,大模型的推理能力除了得益于刚才提到的大量优质数据集,还可来源于代码逻辑。
2023-12-09 09:25:04 618
原创 data2text范式和text2text范式
在自然语言处理中,常见两种范式:data2text范式和text2text范式。那么它们具体指什么呢?
2023-08-26 10:02:23 461
原创 评价指标lawrouge
Rouge是文本自动摘要领域摘要评价技术的通用指标之一,通过统计模型生成的摘要与人工摘要之间重叠的基本单元,评判模型生成摘要的质量。总之,中文lawrouge和ROUGE在算法原理和目的上基本一致,但是在匹配项的处理以及数据集的选择等方面有所不同。,通常用于评估中文文本摘要的质量。与ROUGE相比,中文lawrouge改变了匹配未知词汇和处理中文字符等方面,更适用于中文语言处理的评估。中文lawrouge对中文字符和未知词汇的处理更加合理,可以对中文文本进行分词和字符级别的处理。
2023-08-26 09:21:25 372
原创 评价指标BLUE了解
BLEU指标根据生成的句子与人工参考句子之间的词、短语和n-gram匹配来计算模型的性能。因此,实际中通常使用bleu-1,bleu-2,bleu-3和bleu-4等四个BLEU指标来计算短语匹配的精度。然而,它存在着一些缺点,比如可能会倾向于短而不是长的句子,不能很好地衡量语法和语义问题,因此,通常需要结合其他评估指标一起使用来评估模型性能。BLEU指标具有较好的可解释性,直接基于n-gram重叠度来衡量生成文本和参考文本之间的相似度。获取参考文本中每个n元组的最大数量,并视为生成文本的最多可能匹配数。
2023-08-26 09:14:28 1842
原创 调用chatGML-6B原始模型报错:RuntimeError: Internal: src/sentencepiece_processor.cc(1101) [model_proto->ParseF
根据chatGML-6B官网提示,准备做简单的预训练,样本数据用的也是官方提供的。这个可以根据本地模型大小判断是否真正被clone下来,如果没用采用以下方式。
2023-07-15 09:43:49 2709
原创 安装TensorFlow时报错 zsh: illegal hardware instruction python
下载地址:https://driver.google.com/drive/folders/1oSipZLnoeQB@Awz8U68KYeCPsULy_dQ7T。如果是安装TensorFlow 1.x版本,一般不会出现这个问题,可以直接使用pip安装。下载tensorflow-2.4.1-py3-none-any.whl文件。
2023-07-15 09:22:48 984
原创 安装openai环境 步骤及问题解决
安装openai环境,使用大模型。解决报错:ERROR: No matching distribution found for pandas>=1.2.3、 解决报错AttributeError:module 'openai' has no attribute'Chatcompletion'
2023-05-24 22:06:25 8016
原创 pyspark报错:ValueError: object of IntegerType out of range
pyspark报错:ValueError: object of IntegerType out of range,长整型LongType
2023-02-04 19:48:41 284
原创 GLUE 数据集介绍
来自纽约大学、华盛顿大学等机构创建了一个多任务的自然语言理解(NLU)基准和分析平台,也就是GLUE(General Language Understanding Evaluation),自然所有数据集均为英文,包含 CoLA、SST-2、MRPC、STSB、QQP、MNLI、QNLI、RTE、WNLI
2022-11-30 21:15:03 610
原创 pyspark中DataFrame之间的join操作
在pyspark中加载sql之后,会经常遇到各DataFrame之间的join操作,以下给出集中join的调用方式。
2022-11-23 20:37:02 1810
原创 pyspark 并行调用udf函数
中我们使用pyspark定义好的udf逐条处理数据(dataframe)。这篇文章提供一种“并行”调用udf的方法。使用这种方式,会大大减少数据计算时间。其他补充,以下是几个常见的类型。
2022-11-22 20:36:54 711
原创 【pytorch报错】If you tried to load a PyTorch model from a TF 2.0 checkpoint, please set from_tf=True
说来解决办法有点水,参考之前有效的机器,发现torch的版本是1.11,后来将原始版本升级到1.11。加载torch的huggingface的bin模型,未使用复杂处理逻辑,但是出现异常,详细报错内容。发现机器上并没有安装TF。...
2022-08-28 20:46:03 10185 3
原创 pyspark中udf写法及其使用
这里的不需要参数,是指udf不需要传入公共的参数(这个里的公共是对udf中多个参数模块而言的),且该参数非dataframe中的字段。udf是处理dataframe比较常见且便捷的功能模块,用户自定的处理功能封装在udf中,使得dateframe的处理变得通俗可控。...
2022-07-25 22:08:57 1329
原创 pyspark 中dataframe 按指定字段拆分为多列或者多行
在使用dataframe时,我们常常需要依据应用场景,需要将原来一条record拆分为多行(字段数增加1个,record增加),或者在一个record中根据已有字段拆分为多列(仍是1个record,字段数增加)这里还有另外一个问题,如果我们原始数据并没规律的以@分割的固定格式字段,或者原始数据中并没有事先准备好的array格式的字段,如何生成呢?这里个functions.explode和hive中的explode作用类似,可参考。中的explode使用。udf的使用,可以参见。......
2022-07-25 21:50:17 4073
原创 概率题 —— 某公路1小时有车概率为0.96
某段公路上1小时有车通过的概率是0.96,半小时有车通过的概率是多少?P(1小时有车)= 1 - P(1小时没车)= 1 - p(前半小时没车) * P(后半小时没车)= 1 - P(半小时没车) * P(半小时没车)= 0.96那么可以计算出P(半小时没车) = 1−0.96\sqrt{1 - 0.96}1−0.96 = 0.2继而得到:P(半小时有车)= 1 - P(半小时没车)= 1 - 0.2= 0.8在题干以及解答答案的过程,其实都有个默认的假设:假设任意1小时/半小时有车
2022-07-06 22:19:15 811
原创 动态规划--跳跃问题
给出一个非负整数数组,你最初在数组第一个元素的位置数组中的元素代表你在这个位置可以跳跃的最大长度判断你是否能到达数组最后一个元素的位置例如A =[2,3,1,1,4], 返回 true.A =[3,2,1,0,4], 返回 false.A =[3,4,1,0,4], 返回 true.有了记录数组之后,要解决的就剩下,如何计算当前位置可以到的最原位置。分析完之后可动手写代码了...
2022-07-06 22:07:00 703
原创 conda更新问题
conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。有时候安装包的时候会提示conda需要更新,但是当执行conda update conda会出现更新失败。 比如conda版本自带的是py3.6, 当更新的时候其实需要py3.7 这个时候就需要找个新版本的conda试试了如果失败,试试以下方式conda update -n base -c defaults conda ...
2022-05-10 16:43:45 4661
原创 将模型参数打印出来——checkpoint模型、pb模型及其savemodel格式模型
背景有时候我们需要探查模型参数,或者在调用模型提示参数错误时,也需要查看模型参数来定位问题,以下是针对不同存储格式的模型,对参数做读取操作checkpoint模型#!/usr/bin/env python# -*- coding: UTF-8 -*-import tensorflow as tffrom tensorflow.python import pywrap_tensorflowdef show_ckp_params(): model_dir = "./output/cho
2022-05-09 21:03:38 1506
原创 报错提示:wandb.errors.error.UsageError: api_key not configured (no-tty)
wandb是什么wandb是Weights & Biases的缩写,这款工具能够帮助跟踪你的机器学习项目。 它能够自动记录模型训练过程中的超参数和输出指标,然后可视化和比较结果,并快速与同事共享结果。怎么解决使用github账号登录https://wandb.ai/authorize,然后创建完之后,会有一个码,在终端使用wandb init,然后输入刚才的码(注意当你输入码的时候,不可见),就OK了延伸更多其他信息参见 https://docs.wandb.ai/guides/track
2022-04-28 10:51:03 3394
原创 TensorFlow使用keras报错ImportError: cannot import name ‘get_config‘ from ‘tensorflow.python.eager.contex
报错在使用TensorFlow keras中的如下方法时,报错:ImportError: cannot import name ‘get_config‘ from ‘tensorflow.python.eager.context‘from keras.preprocessing.sequence import pad_sequences原因from keras.preprocessing.sequence import pad_sequences这个import调用到了…/site-packa
2022-02-20 18:05:40 3355
原创 tensorflow 加载模型时 报错: ValueError: No variables to save
背景加载训练好的checkpoint原因在定义graph之后,当前graph没有任何变量,所以会在saver = tf.train.Saver()代码出报错.解决办法我们定义saver的原因,就在于加载已训练好的ckpt模型,所以可以不用定义变量。所以save应该被如下初始化saver = tf.train.import_meta_graph('ckpt_mata_file')...
2022-02-20 18:02:40 2324
原创 python报错: ValueError: zero length field name in format
报错报错如题,背景是python中使用了format方法原因平时开发机和线上环境总是会有差别,甚至有时候都不确定线上环境具体是哪个。这个问题就在于线上环境python不仅是2,还是2.6! python2.7相对于2.6基本是跨越式的改进,稍不注意就掉坑里了。问题很简单 python2.6只支持str = '{0}\t{1}\t{2}\t{3}'.format(var1, var2, var3, var4)不支持str = '{}\t{}\t{}\t{}'.format(var1, var2
2022-02-20 18:00:43 2636
原创 pyspark中dataframe 转化问题(panda、list等)
背景dataframe是pyspark中常见的数据类型,一般从load的sql中读取。有时候输入数据源并非sql,这时如何处理呢?具体转化示例list转化为dataframe先将list转化为 dataframeimport pandas as pddata_list = [['wer', 1], ['asd', 2]]panda_df = pd.DataFrame(data_list, columns=['col_name1', 'col_name2'])# 此处要注意panda和pand
2022-02-20 17:25:42 3941
原创 hive中常见的sql函数(持续更新中...)
背景sql中会常用到一些小函数,用于处理字符串、字段等,该文档用于记录一些可能用到的函数及场景函数及示例split将字符串,按照指定字符分割split(str, 'separator')sql中array 类型取下标元素-- 这里以上面介绍的split得到的array为例讲解】split(str, 'separator')[idx] -- idx 为下标,但是需要注意的是:不同的系统下标的其实位置不同,有的以0,有的以1......
2022-02-20 16:50:43 1111
原创 同一个项目中创建多个jieba对象
背景我们分词时,有时候会遇到不同的逻辑,需要分词的场景不一样。比如不同场景需要加载的自定义用户词典不同,比如医疗领域需要加载医疗词典,体育领域需要加载体育词典等。但是又都在一个项目中,这是我们就需要几个相互独立的jieba分词对象。使用Tonkenizer解决解决方案如下:import jiebajieba_obj1 = jieba.Tonkenizer() # 定义第一个jieba对象jieba_obj2 = jieba.Tonkenizer() # 定义第二个jieba对象jieb
2022-02-20 16:22:31 602 2
原创 tensor和ndarray(一般由numpy生成)互转,tensorflow版 vs. torch版
TensorFlow和Torch的对比可以参考 TensorFlow vs. Pytorch在做网络处理时,经过预测处理之后的数据经常是numpy生成的数据格式,有时候和网络层交互时需要和tensor互转,以下提供几个tensor和ndarray之间互转的样例import tensorflow as tfimport numpy as npimport torch# 生成ndarraya_n = np.arange(10)# ==> TensorFlow 版本# ndarray -
2022-02-20 16:02:25 2302
原创 sql中 如何暂存临时表 —— with as的用法
在写sql时(这是主要指hive应用场景),比较复杂的sql会写的比较长,有时候是几百行的sql,可读性差且不易debug问题。所以,如果把中间结果保存到临时表里则逻辑相对清晰。样例如下:-- 临时表with alias_tbl1 as(select col1, col2from table_name1where condition in ()), -- 注意此处如果需要接着定义其他临时表,则需逗号隔开 alias_tbl2 as -- 连续定义,这里不需“with”(select c
2022-02-20 15:50:23 4057
原创 按照指定字段做聚合(partition by),随机(row_number)取指定数量的数据
举个????,有以下表内数据name |scorea |10a |11b |9b |10b |8a |3a |7c |4c
2021-11-07 18:03:29 481
原创 hive 按照某列值合并多行
按照指定字段的值做多行合并涉及到的功能函数concat_ws、collect_list(用于决定以哪种形式组织多个值)select id, concat_ws(',', collect_list(val)) as info from table_name group by id/* 效果如下---------------------------------------id |val---------------------------------------1
2021-11-07 11:05:06 1838
原创 hive中json格式字段解析及map使用
如果hive表中有扩展字段,那么扩展字段格式最常见的就是json格式,所以如何解析json字符串相对繁琐(虽然没啥技术????)用到的hive功能函数有:get_json_object、explode、split、regexp_replace、regexp_extract-- json字段样式:[{'a':1, 'b':2}, {'a':3, 'b':4}], 字段名称为json_strselect col_id, get_json_object(json_item, '$.a') as new
2021-11-07 10:55:11 4307
原创 hive依据指定条件设置别名 (case ... when )
使用case… when 语法来操作,when后的条件可以是某个值,也可以是表达式-- 条件是具体的值select case col_name1 when 1 then '别名1' when 2 then '别名2' else '别名3' end col_name1, col_name2from table_name-- 条件是表达式select case col_name1 when col_name1 <1000 then '别名1' when col_name
2021-11-07 10:37:30 2414
原创 Longformer: The Long-Document Transformer
前言:《Longformer: The Long-Document Transformer》于2020年4月发表,相较于Transformer,Longformer利用local attention和global attention在长文本任务的处理上大大减低了时间负责度和空间负责度。论文:https://arxiv.org/pdf/2004.05150.pdf源码:https://github.com/allenai/longformer摘要基于Transformer的模型不能处理长文本,因为其
2021-07-25 22:09:05 503
原创 tensorflow v1.x 和v2.x之间的差别
随着TensorFlow的版本升级,版本相关的各种各样问题还是不断出现,之前写过一个关于应对升级问题的文章TensorFlow版本迁移问题,发现在具体操作的时候还是会出现文章不能cover的问题。以下是解决部分tf接口的常见方法,供参考~# 对于顶层的一些接口,比如placeholder,truncated_normal,get_variable等使用如下方法tf.random_uniform ===> tf.randomztf.placeholder ===> tf.c
2021-04-18 20:12:50 559
原创 中文正则识别
以下正则表达式源于jieba源码中的正则定义 ,在预处理中可能会用到,供参考~re_han_detail = re.compile("([\u4E00-\u9FD5]+)")re_skip_detail = re.compile("([\.0-9]+|[a-zA-Z0-9]+)")re_han_internal = re.compile("([\u4E00-\u9FD5a-zA-Z0-9+#&\._]+)")re_skip_internal = re.compile("(\r\n|\s)")
2021-04-18 20:07:40 283
原创 pyspark中where条件使用,单一匹配及多条件匹配
pyspark where各种条件书写 等于、与或非多个匹配条件 isindf_data = df_sql.where(column_1.isin('aaa', 'bbb'))
2021-04-17 22:04:48 6394
原创 vi编辑中自动插入行号
前言:之前有文本处理的需求,给文本自动编入行号,写个简单的python脚本可以很容易的解决,但是如果是频繁预处理一些文本,还是shell操作更有成就感。命令如下::let i=0 | g/^/s//\=i | let i=i+1当然如果只是显示文本行号用下面就可以:set nu # 显示行号# 以下为可有可无的扩展,如果有帮助,不胜荣幸:set nonu # 不显示行号:set ic # 忽略大小写:set noic # 不忽略大小写:sp ${file_name} # 并
2021-04-17 21:57:21 459
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人