自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(205)
  • 资源 (1)
  • 收藏
  • 关注

原创 GraphFrames路径边多值字段过滤

spark多值字段过滤

2024-03-15 09:55:53 921

原创 PaddleOCR实现对表格的提取

paddleocr, 图像识别,表格提取

2024-01-21 20:23:44 1599

原创 基于spark的Hive2Pg数据同步组件

行是只读的,因此您无法更新行的值。: prep是一个PrepareStatement对象,这个对象无法序列化,在标1的地方执行,而传入map中的对象是需要分布式传送到各个节点上,传送前先序列化,到达相应机器上后再反序列化,PrepareStatement是个Java类,如果一个java类想(反)序列化,必须实现Serialize接口,PrepareStatement并没有实现这个接口,对象prep在driver端,collect后的数据也在driver端,就不需prep序列化传到各个节点了。

2024-01-05 10:37:57 1178

原创 大模型做实体识别任务的原理

对于每个位置的embedding进行T转化生成起始位置的概率分布,同理可生成终止位置的概率分布,在起始的概率分布中找到概率最大对应的位置,作为起始位置,在终止的概率分布中找到概率最大对应的位置,作为终止位置,根据起始位置和终止位置对应的embedding,拼接后进行二分类判断是否为span,整体的loss包含了位置的loss是否是起点和终点以及span的loss是否是对应的起点和终点。将目标词(实体类型)当成一个自然语言的查询query,对于给定的上下文句子,以回答问题的方式将实体值识别出来。

2023-12-25 18:02:04 1185

原创 python3.6解决ModuleNotFoundError: No module named ‘_bz2‘

在python的安装目录下/usr/local/python3.6.5/lib/python3.6/lib-dynload/下缺少_bz2.cpython-36m-aarch64-linux-gnu.so文件。链接: https://pan.baidu.com/s/1xr71ZKj9VX789K51VxQXyA?pwd=fb8j 提取码: fb8j。

2023-12-24 16:22:41 600 1

原创 xgb模型json转pmml

需要改变加载模型的方式,首先创建 XGBClassifier或XGBRegressor类对象,创建Booster对象加载模型,将booster对象赋值给模型对象的_Booster属性,然后把模型对象传入PMMLPipeLine的创建参数里,模型对象实现了fit方法,因此上面的问题解决。总结:(1)对xgb模型的加载,可以通过booster的方式,但是该类没有实现fit方法,也可以创建具体的分类或回归的模型对象,将booser赋值给模型对象的_Booster, 通过模型对象进行predict。

2023-11-03 10:46:23 312

原创 pg数据表同步到hive表数据压缩总结

pg同步hive

2023-09-22 17:40:01 547

原创 本地CPU部署运行ChatGLM2-6B模型

大模型技术

2023-08-22 19:08:03 898

原创 LouvainMethod分布式运行的升级之路

该代码依赖的spark-core和spark-graphx、scala-lang是2.10版本,采用的gradle的进行打包,也可以采用maven进行打包,解决相关的依赖问题之后,本地模式可以很快跑通。但是转向集群的时候,发现集群的spark的scala版本是2.12,我采用的是maven的scala编译的版本是2.10, 编译用到的scala和运行环境的scala版本不一致,结果无法进行spark集群模式的运行。Louvain是大规模图谱的谱聚类算法,引入模块度的概念分二阶段进行聚类,直到收敛为止。

2023-08-07 18:47:57 399

原创 在离线环境下安装python的第三方包

我们核心的问题是要获取到对应的编号和兼容匹配的版本,通过上网的机器模拟安装来获取依赖关系及版本号,下载适合服务器要求后缀的whl,就可以快速完成安装。(2)在一个能上网的环境下,首先安装跟服务器版本一致的python环境,比如服务器安装的是3.6.5,在能上网的电脑上也安装一个同样版本3.6.5的python环境。(3)通过(2)拿到了对应的版本号,可制作成requirement.txt, 根据对应的版本号,结合(1)获取的后缀名,到。获取兼容的版本号,为后续获取对应的whl文件做准备。

2023-05-17 19:16:08 990

原创 linux arm下安装xgboost方法及问题解决

原因:在linux环境下,没有相应的指令集,需要下载此指令转换包(sse2neon-master-6a6a03c204cdc33e7c221a8e8a048f740ffd7f7e.zip),将其放在工程文件夹下,并将解锁后的 sse2neon.h文件与工程文件放在同一文件夹下/usr/local/include。4、报错 immintrin.h:no such file or directory。6、重新执行python set_up.py install。

2023-05-13 23:02:38 508 1

原创 linux下安装高版本的python

本地系统有python2.7,python3.7,如果有需要,还要安装python3.8,在python安装的过程需要openssl。跟openssl的交互需要在编译的时候配置好。通过whereis openssl 检查openssl是否存在,不存在需要安装openssl。修改 Python-3.8.13/Module/Setup下的内容。安装 make && make altinstall。(2)源码安装python3.8。(1)首先安装openssl。建立 python3的软连接。

2023-05-13 22:52:30 670

原创 linux arm系统安装tensorflow

首先要找跟python版本对应的tensoflow版本,在网上找了很久,没有找到跟2.7相关的aarch64的tf版本whl文件,可以通过编译源码,也可以通过whl进行安装。本篇介绍在python3.7下选用whl文件安装方法。OS为Linux version 4.19.71-arm64-desktop,安装tensorflow,安装通过编译好的whl二进制包进行安装。有些说后面配置环境变量,结果发现并没有生效,因此通过建立软链接的方式,识别。(2)下载配套的tensorflow的版本。

2023-05-13 22:35:54 911

原创 Bert的NSP任务的loss原理

对一个句子的表征可以用CLS的embedding,bert的NSP任务,NSP 是一个预测两段文本是否在原文本中连续出现的二元分类损失。NSP 是一种二进制分类损失,用于预测原始文本中是否有两个片段连续出现,如下所示:通过从训练语料库中。正样本和负样本均以相同的概率 (概率各自为 0.5)采样。NSP任务在单个任务中融合了主题预测和连贯性预测,同一篇文档里的句子,更侧重是一个主题,前后两个句子的连贯更有利于连贯性的学习,不同文章中的句子很大概率表达的是不同的主题,学习起来难度比较小。

2023-04-09 19:58:58 1012

原创 Bert的MLM任务loss原理

bert的MLM任务loss

2023-04-08 10:08:34 2731

原创 mysqlimport 将数据上传到 MySQL 表

文件导入mysql

2023-02-17 15:33:38 188

原创 hivesql中对decimal的注意事项

hive sql, decimal

2023-02-08 18:51:54 408

原创 shell并行执行程序脚本

shell并发

2023-02-06 20:31:32 812

原创 shell将指定的字符串日期转成其他格式

linux日期处理

2023-02-01 11:47:36 4373

原创 pip install 安装指定版本的包

pip安装指定版本号

2022-12-26 17:35:47 9987

原创 mac配置socket免密登陆服务器方法

mac配置服务器免密登陆

2022-09-29 14:07:09 448

原创 mac解决iterm2 lrzsz问题

mac iterm2配置

2022-07-19 21:16:25 228

原创 mac安装低版本的php

mac安装php

2022-07-13 11:41:05 905

原创 mac 设置ll命令始终生效

对mac的命令行进行配置

2022-07-11 15:58:54 1616

原创 二分查找找单个字母出现的位置

一个序列,字母两两连续,只有一个单独出现,如:aabbcdd,找到单字出现的位置,要求时间复杂度O(logN)public static int binarySearchSingle(String s) { char [] chars = s.toCharArray(); if(chars.length==0||chars==null) return ' '; int first = 0; int last = ch...

2022-04-25 11:39:56 141

原创 双指针去掉字符串中的空格

字符串去掉空格,空间复杂度o(1),时间复杂度o(n),输入"ab c d",输出“abcd”public static char[] gridBlank(String s) {char [] chars = s.toCharArray();if(chars.length==0||chars==null)return null;int left = 0;for(int right= 0;right < chars.length;right++){while(char.

2022-04-25 11:14:18 293

原创 python等距分箱

按最小最大值,指定的区间个数,将连续的dense值进行分箱。",".join([str(round(e,4)) for e in np.linspace(0.0412093,1.0,100)]);0.0412,0.0509,0.0606,0.0703,0.0799,0.0896,0.0993,0.109,0.1187,0.1284,0.1381,0.1477,0.1574,0.1671,0.1768,0.1865,0.1962,0.2059,0.2155,0.2252,0.2349,0.2446,.

2021-11-18 16:12:35 1857

原创 hive sort_array实现字符串从大到小排序的方法

sort_array默认是从小到大排序的,为了实现能够从大到小排序,需要做两个变换:(1)将字符串映射成数字:ROW_NUMBER() OVER(PARTITION BY user_id, cate_level1ORDER BY date desc)(2)基于数字保持大小序映射到小数:1-1/rnk(采用sigmoid变换会存在一个问题:当数字大于36以后,几乎都等于1.0,无法区分大小,对于小于36以下的数字管用)(3)添加辅助列,置于串头排序后,借助于REGEXP_REPLACE做替换,..

2021-04-06 13:47:15 7799

原创 配置tomcat项目本机ip访问

1、配置tomcat的conf/server.xml: (1) 将8080端口修改为80端口 <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" /> (2)<Host></Host>里添加: <Context docBase="tomcat下项目的绝对路径" path="" debug="0"...

2021-03-25 14:38:51 1206

原创 腾讯词向量使用

腾讯词向量腾讯词向量主页:https://ai.tencent.com/ailab/nlp/zh/embedding.html词向量下载地址:https://ai.tencent.com/ailab/nlp/zh/data/Tencent_AILab_ChineseEmbedding.tar.gz腾讯词向量(Tencent AI Lab Embedding Corpus for Chinese Words and Phrases)提供了预训练好的800万中文词汇的word embedding(20

2021-02-02 15:28:58 2242

原创 tensorflow中sess.run执行原理及常见问题

1、执行原理:首先:对于sess.sun(fetch), 只有fetch里的图元素, 才会被执行, 不在fetch中的图节点是不会执行的;其次:sess.run()里面的执行顺序是按fetch列表中的元素,在计算图中的出现的先后顺序执行一次完后,最后统一输出,不会重复执行 即:fetch列表中的节点打乱时, 取出来的值依然是一次流程图计算出来的结果,不是按照fetch列表中出现的先后顺序执行。2、常见问题分析及解决: 当sess.run([a])一个元素,出...

2021-01-29 21:08:47 2415

原创 字符串hash分桶方法

利用hashlib的md5算法作为分桶基数,md5的字符串位数长度是固定的,这样很方便进行下一步的输出再分桶操作:import randomimport stringimport hashlibfrom operator import addfrom functools import reducefrom collections import defaultdictdef md5(key): return hashlib.md5(key.encode()).hexdigest(

2020-12-24 15:38:46 2862 1

原创 python2安装tensorflow

环境:mac10.13.6python2.71.安装依赖库pip install scipypip install matplotlibpip install numpy --ignore-installed numpy #若已安装则更新到最新版本2.下载tensorflow包下载地址 https://pypi.org/simple/tensorflow安装:sudo pip install tensorflow==13.1...

2020-12-22 07:44:53 916

原创 tensorflow分布式训练原理

TensorFlow从15年10月开源至今,可谓是发展迅猛,从v0.5到如今的v2.0.0-alpha,经历了无数个功能特性的升级,性能、可用性、易用性等都在稳步提升。相对来说,对于我们工业界,大家可能更关注分布式TensorFlow的发展,本文尝试梳理下分布式TensorFlow从问世到现在经历过的变迁。分布式TensorFlow运行时基本组件用户基于TensorFlow-API编写好代码提交运行,整体架构如下图所示。 Client 可以把它看成是TensorFlow前端,它支持多语.

2020-07-09 19:37:54 739

原创 tensorflow中的Hooks方法调用顺序

初始化:在创建一个MonitoredSession时,会按顺序执行以下操作:调用[Hooks]列表中每一个Hook的begin()函数 通过scaffold.finalize()完成图graph的定义 创建会话 用Scaffold提供的初始化操作(op)来初始化模型 如果给定checkpoint_dir中存在checkpoint文件,则用checkpoint恢复变量 启动队列线程 调用hook.after_create_session()Run:当调用run()函数时,按顺序执...

2020-06-24 14:09:41 1009

原创 Jupyter调试tensorflow多模块代码技巧

背景: 现在有一个main模块,main模块引用了不同文件夹下的其他模块,如何在jupyter下快速调试。解决办法:1、将main,引用的其他模块,可以作为单独的cell,复制进去,然后从main入口,run all。2、将main模块在jupyter中重新生成对应的.ipynb文件,可以在jupyter里直接运行,将其他模块可以upload进jupyter里, ...

2020-04-24 15:48:28 410

原创 利用tensorflow的VocabularyProcessor增量更新词汇表

1、背景在初版模型,基于训练数据集,利用VocabularyProcessor构建了词汇表,存储文件为old_vocab.pickle。在以后的增量更新中如何把已经保存的上版词汇加载上,同时加入增量中的新词汇,最终形成一版新的词汇。而tf中的VocabularyProcessor没有提供增量更新的api。2、解决办法利用VocabularyProcessor已经提供的接口,vo...

2020-02-27 11:14:59 619

原创 tensorflow读取数据的方式

1、第一种方式通过占位符feed_dict的方式读入;2、通过dataset的方式读入:1)导入数据:从一些数据中创建一个Dataset实例;2)创建一个迭代器:通过使用创建的数据集来制作一个迭代器实例迭代遍历数据集;3)使用数据:通过使用创建的迭代器,我们可以得到数据集的元素馈送给模型;1 从numpy导入数据常见的情况下,我们有一个numpy数组,我们想通过它传送到te...

2019-12-27 14:42:09 262

原创 求无序数组的第K大的数

1、利用快排的思想,只在满足要求的片段上进行排序,求解,这样时间复杂度由O(nlogn)变为O(n)。 按从大到小的进行排序,将大的都放在左边,经过第一次迭代划分结束后,枢轴的位置左侧均比枢轴原始大,如果枢轴的位置first刚好等于k-1(数组下标从0开始计),则枢轴元素即为第k大,如果first比k-1大,说明第k大的元素在左侧,这样只排左侧就可以,右侧抛弃;如果枢轴位置first...

2019-11-05 16:05:30 195 1

原创 xlnet中传统transform失效的原因分析

xlnet中为了看到上下文信息,引入了PLM(排列组合的语言模型),即原始的x1,x2, x3, x4序列,通过排列组合可以分解出16种方式,可以认为预料变为了: x1,x3, x2,x4 x1,x3, x4,x2 等16种按标准的softmax的话,那么对于除了x1和x3之外的一个比如:词x4...

2019-10-16 21:01:25 867

aopalliance

aop 面向切面编程,通过此工具包,实现面向切面的编程,部署及维护

2012-11-20

空空如也

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

TA关注的人

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