自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Tensorflow 两个张量的交集

tensorflow 矩阵/张量对应维度取交集/并集/差集

2022-09-01 17:28:11 1151 1

原创 python移植编译到arm上

交叉编译工具链公开版本使用可以参考这篇博文:一次搞定 Arm Linux 交叉编译定制版本一般配置文件比较齐全,一键配置:将交叉编译工具链文件夹放到对应目录(有的工具链存放目录已写入配置文件,如/opt/,更改存放文件夹可能导致无法使用)进入交叉编译工具链,source environment-xxxx查看交叉编译工具链是否设置成功:arm-xxx-xxx-gcc -varm-xxx-xxx-g++ -v交叉编译python下载python源码: Python解压源码:tar -x

2022-05-20 17:40:15 1534

原创 记录mac下TF-Lite的C++编译过程(cmake编译)及引用示例

下载安装cmake官网:cmake克隆tensorflow官方库git clone https://github.com/tensorflow/tensorflow.git tensorflow_src编译tentsorflow-litemkdir tflite_buildcd tflite_buildcmake …/tensorflow_src/tensorflow/litecmake --build . -j (or make)引用示例新建test项目mkdir te

2022-04-27 17:34:22 943

原创 ES 环境搭建

ES 搭建安装brew install elasticsearch启动elasticsearch访问http://localhost:9200/kibana 搭建安装brew install kibana启动kibana访问http://localhost:5601/elasticsearch head 搭建安装 Node.js下载 elasticsearch headgit clone git://github.com/mobz/elastic

2022-02-28 14:17:53 1068

原创 用Transformers的Trainer做Text-CNN文本分类

Transformers的Trainer这个类做Bert Fine-tuning时比较方便,近期用Text-CNN做文本分类实验提升推理速度时,就直接引用了Trainer的训练流程来训练text-CNN,简化训练步骤import osimport torchimport numpy as npimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom sklearn import met

2022-01-12 10:22:12 1440

原创 Pytorch 多GPU分布式数据并行(DistributedDataParallel)

DistributedDataParallel, 多进程,支持数据并行、模型并行,支持单机多卡、多机多卡;进程间仅传递参数,运行效率高于DataParallel下面是一个文本分类的完整示例import osimport timeimport torchimport torch.nn as nnimport torch.optim as optimimport torch.distributed as distimport torch.multiprocessing as mpfrom da

2021-11-24 10:19:15 997

原创 Pytorch 多GPU数据并行(DataParallel)

利用多个空闲GPU,提高模型训练推理速度import torch from gpuinfo import GPUInfo# 查询空闲GPUgpu_ids = GPUInfo.check_empty()# 设置模型初始化设备device = torch.device(f"cuda:{str(gpu_ids[0])}" if gpu_ids else "cpu")# 数据并行 model = xxxxxxmodel = torch.nn.DataParallel(model, device_

2021-11-11 19:35:04 2003

原创 梯度累加(Gradient Accumulation)

受显存限制,运行一些预训练的large模型时,batch-size往往设置的比较小1-4,否则就会‘CUDA out of memory’,但一般batch-size越大(一定范围内)模型收敛越稳定效果相对越好,这时梯度累加(Gradient Accumulation)就可以发挥作用了,梯度累加可以先累加多个batch的梯度再进行一次参数更新,相当于增大了batch-size,这里记录一下梯度累计的使用(Pytorch)# 截取脚本片段step = 0accum_step = 10for epoch

2021-11-05 10:25:41 3041 2

原创 几种计算文本相似度的方法

import difflibimport Levenshteinfrom sklearn.metrics.pairwise import cosine_similaritya = 'abcd'b = 'ader'# Sorensen Dice s=2 * |x n y| / (|x| + |y|)s = difflib.SequenceMatcher(None, a, b)dice = s.ratio()print('Sorensen Dice Similarity:', dice)

2021-10-09 17:19:16 824

原创 Transformers模型参数平均(bart为例)

from transformers import BartForConditionalGeneration, BertTokenizerdef avg_parameters(model_files, save_model=None): avg_model = BartForConditionalGeneration.from_pretrained(model_files[0]) avg_model_p = avg_model.state_dict() parm_name = []

2021-10-09 17:17:15 702

原创 Docker装Mysql数据挂载在本地

拉取镜像docker pull mysql本地创建配置文件夹和数据存储文件夹mkdir /mysql/configdirmkdir /mysql/datadir启动容器docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v /mysql/confdir:/etc/mysql/conf.d -v /mysql/datadir:/var/lib/mysql mysql注:这里当时报.

2021-08-16 15:08:16 463

原创 TF-IDF关键词提取

import jiebaimport jieba.analysefrom tqdm import tqdmfrom sklearn.feature_extraction.text import TfidfVectorizer# data : 文本list# jieba 关键词提取def key_words1(data): text = ' '.join(data) kwds = jieba.analyse.extract_tags(text, topK=20, withWei

2021-08-13 17:52:56 560

原创 基于Prompt的MLM文本分类-v2

自动寻找Prompt实验版本好多参数可调import osimport torchimport loggingimport datasetsimport transformersimport numpy as npimport torch.nn as nnfrom sklearn import metricsfrom datasets import Datasetfrom torch.nn import CrossEntropyLossfrom sklearn.model_selec

2021-04-02 15:44:09 2048 19

原创 基于Prompt的MLM文本分类

简介常规NLP做文本分类时常用Transfer Learning的方式,在预训练bert上加一个分类层,哪个输出节点概率最大则划分到哪一类别。而基于Prompt的MLM文本分类是将文本分类任务转化为MLM( Masked Language Modeling)任务,通过[MASK]位置的输出来判断类别。例如通过文本描述判定天气好坏,类别【好、坏】:常规方式:今天阳光明媚! 【好】基于Prompt的MLM: 天气[MASK],今天阳光明媚!【天气好,今天阳光明媚!】Prompt的设定可以有多种方式

2021-03-31 20:09:48 7797 36

原创 斯皮尔曼(Spearman)\ 皮尔逊(Pearson)相关系数计算

斯皮尔曼(Spearman)相关斯皮尔曼(Spearman)相关是衡量两个变量的依赖性的 非参数 指标。 它利用单调方程评价两个统计变量的相关性。 如果数据中没有重复值, 并且当两个变量完全单调相关时,斯皮尔曼相关系数则为+1或−1。scipy.stats.spearmanrscipy.stats.spearmanr(a, b=None, axis=0, nan_policy=‘propagate’)from scipy import statsstats.spearmanr([1,2,3,4

2021-03-24 10:35:12 7549

原创 pytorch低版本环境加载高版本(1.6+)模型报错(xxx is a zip archive (did you mean to use torch.jit.load()?))

问题描述transformers 4.0+版本训练出来的模型,在3.0的Model.from_pretrained中加载会报错,pytorch_model.bin is a zip archive (did you mean to use torch.jit.load()?)这是因为pytorch1.6及之后,更换了保存模型文件的方式解决方法将高版本的,模型文件重新保存一下,加上参数_use_new_zipfile_serialization=False,这样模型就可以在1.6以下的环境中运行了i

2021-03-17 14:58:22 5711 6

原创 Adapter Transformers 模型训练

from transformers import BertForSequenceClassificationfrom transformers import AdapterType, MultiLingAdapterArguments, HfArgumentParser, AdapterConfigmodel = BertForSequenceClassification.from_pretrained(model_name, num_labels=n_label)parser = HfArgumen

2021-02-26 16:30:24 1690 1

原创 Transformers预训练bert文本分类DEMO

简单应用Transformers的预训练模型做文本分类import osimport loggingimport numpy as npimport transformersfrom datasets import Datasetfrom sklearn import metricsfrom sklearn.model_selection import train_test_splitfrom sklearn.metrics import accuracy_score, precision_

2021-02-26 16:16:55 1043 3

原创 python 程序监控 钉钉消息

问题描述程序执行结束后,可通过钉钉消息将程序执行结果通知监控人参考:https://developers.dingtalk.com/document/app/custom-robot-access?spm=ding_open_doc.document.0.0.6d9d28e1QYQzAD#topic-2026027import jsonimport requestsdef dingding_msg(self): try: msg = '消息通知' url = "https:

2021-02-03 16:43:11 1360 1

原创 python 程序监控 邮件发送

问题描述程序执行结束后,可通过邮件将执行结果发送给程序监控人程序参考:https://www.runoob.com/python/python-email.htmlmy_sender='******@***.com' # 发件人邮箱账号my_pass = 'password' # 发件人邮箱密码my_user='******@***.com' # 收件人邮箱账号def mail(): try: msg=MIMEText('邮件内容','p

2021-02-03 16:33:21 408 1

原创 Hive操作

创建外表备注:外表:创建表的时候指定了EXTERNAL,外表在删除分区后,hdfs中的数据还存在,不会被删除内表:创建表的时候未指定,直接使用drop就能把hdfs里的数据删掉)create external table wechat_msg_sentiment (id bigint comment 'id',text string comment 'call coontent')partitioned by (dt string)row format delimited fi

2020-12-23 14:26:36 150

原创 定时远程执行脚本

文章目录定时执行任务远程执行脚本定时执行任务crontab -e0 12 * * * cd ./path/ bash run.sh#分 时 日 月 周 执行命令远程执行脚本#!/bin/bashssh root@***.***.***.*** << remotessh # 远程服务器上命令cd /user/mkdir testecho "Hello world !"#执行结束exit #退出远程机器remotes

2020-12-21 20:40:43 529

原创 解析wiki数据(带标点,保留格式)

Wiki数据数据下载下载地址 https://dumps.wikimedia.org/kowiki/下载其他语种数据可更改语种代码,如:kowiki 改为 zhwiki下载数据文件:kowiki-20201001-pages-articles.xml.bz2数据解析安装python 扩展包 Wikiextractor, pip install wikiextractor(github地址:https://github.com/attardi/wikiextractor)解析数据,pyt

2020-10-23 10:52:20 1273

原创 远程服务器端启动jupyter

安装jupyterpip install jupyter生成配置文件jupyter notebook --generate-config生成密码In [1]: from notebook.auth import passwdIn [2]: passwd()Enter password: Verify password: Out [2]: 'sha1:******************************'修改配置文件vi ~/.jupyter/jupyter_note

2020-08-25 17:23:11 504

原创 Tensorflow 2.x 卷积层(Convolution)中间结果可视化

模型构建过程省略,直接看下模型结构:model.summary()卷积中间过程可视化:import matplotlib.pyplot as pltimport numpy as npimport randomfrom tensorflow.keras.preprocessing.image import img_to_array, load_img# 定义新的模型,将原模型的中间过程当作输出successive_outputs = [layer.output for layer in

2020-05-26 16:45:45 1660 3

原创 Tensorflow 2.x accuracy和loss曲线

TF2.x版本,画出accuracy和loss曲线,便于查看模型拟合程度import matplotlib.image as mpimgimport matplotlib.pyplot as plthistory = model.fit(****) # 模型构建及训练过程就不在这里展示acc=history.history['accuracy']val_acc=history.history['val_accuracy']loss=history.history['loss']val_lo

2020-05-26 15:41:23 3701 2

原创 Tensorflow 2.x 嵌入层(Embedding)可视化 & Embedding Projector

将模型的Embedding层投影到三维空间,实现可视化模型结构,一个简单的分类示例,构建过程就不在这里展示了model.summary()history = model.fit(x, y, epochs=5)获取Embedding层参数emb = model.layers[0] #embedding层是模型第一层weights = emb.get_weights()[0]print(weights.shape)# (1000, 16) vocab_size=1000写入文

2020-05-25 10:25:40 3162 1

原创 tensorflow_Trax_transformer使用示例

数据准备Trax中没有写好的数据数据预处理脚本,所以要自己写数据预处理的过程,这里我就直接使用tensorflow_official_nlp_transformer使用示例中生成TTRecoard数据# 获取训练语料batch_size = 8max_length = 100static_batch = Truemodel_dir = './data_dir/trax_nlp/train_dir/'_READ_RECORD_BUFFER = 8*1000*1000def _load_rec

2020-05-14 11:08:05 909

原创 tensorflow_official_nlp_transformer使用示例

github链接https://github.com/tensorflow/models/tree/master/official/nlp/transformer安装pip install tf-models-nightly (readme有介绍,也可以源码安装)使用说明用自有数据训练预测,没有严格按照官方教程走流程,有些步骤解耦出来处理的1. 导入必要的包import osimport loggingimport numpy as npimport tensorflow as tff

2020-05-11 16:16:53 1195 1

原创 python 常用NLP开源项目

fastNLP:https://github.com/fastnlp/fastNLP简介:fastNLP是一款轻量级的自然语言处理(NLP)工具包,目标是快速实现NLP任务以及构建复杂模型。fairseq:https://github.com/pytorch/fairseq简介:Fairseq(-py) is a sequence modeling toolkit that allows...

2020-05-07 17:33:06 1087

原创 git 远程仓库版本回滚

git 一些不常用否操作记录拉取远程仓库到项目: git clone http://git.***********.gitcd 到项目目录查看拉取的全部分支:git brach -a(此时git branch 只能看到master分支)在本地新建分支并与远程仓库的分支进行关联:git checkout -b <branch> origin/<branch>(...

2020-04-26 18:59:49 980

原创 python docx 一种文档缩略语提取方案

问题描述提取word文档中的缩略语,并将文档内的缩略语替换为全称解决方案首先观察数据,缩小问题范围发现文档内缩略语基本都以表格方式呈现,一般是两列,有时也有四列,所以只考虑解决缩略语为表格且为2、4列的情况,其他特殊情况(段落等非表格形式,列数不为2、4)不考虑缩略语判断逻辑主要就是单元格内文本是大写字符串的比例代码里我写了两种逻辑,V1是判断大写单元格占总的单元格比例,V2是,奇数...

2020-04-23 17:15:54 1000

原创 python docx文件读取失败(XMLSyntaxError: xmlParseCharRef: invalid xmlChar value 16, line 2, column 193)

问题描述使用python-docx打开文件时报错:import docxfile_path = './测试.docx'file = docx.Document(file_path)错误信息:XMLSyntaxError: xmlParseCharRef: invalid xmlChar value 16, line 2, column 193这里应该是word文档解析成xml...

2020-04-23 15:27:43 2004 1

原创 python re.sub注意事项

问题描述:import rer'(((^figure)|(^table)|(^图)|(^表)) ?([0-9]|.|-)* ?)。'a = '图26图13图13图13图17图27图14图27图27图27图27图13图13图17图27图14图27图27图27图27'b = re.sub(pattern, r'\1.', a)本想写个正则将特定条件下但句号改为点(图3.2。处理成图2.3...

2020-04-14 18:15:25 451

原创 GPU 使用持续监控

nvidia-smi这是经常用到的GPU监控命令,如果我们想实时监控GPU使用情况,可用nvidia-smi -l n数值n指间隔时间(s)缺点是监控图表是不断更新出来的,如果命令窗口还有上下文要看就不太方便(个人感受)gpustat这个命令也可以查看GPU使用情况它可以通过pip 安装:pip install gpustatgpustat 可以单次查看GPU使用情况gpusta...

2020-04-08 17:27:07 858 1

原创 Tensorflow2.0 tf.keras.Model.load_weights() 报错处理

错误描述:保存模型:model.save_weights(’./model.h5’)脚本重启加载模型:model.load_weights(’./model.h5’)模型报错:ValueError: You are trying to load a weight file containing 12 layers into a model with 0 layers.问题分析:模型...

2020-04-05 17:22:45 7378 5

原创 深度学习库 trax 简单事例Trax Quick Intro

Google 的深度学习库Trax,其简版教程(Trax Quick Intro)需要通过翻墙才能看,这次当个搬运工,这是一个关于transformer训练和预测的简要介绍:导入包:! pip install -q -U trax! pip install -q tensorflowimport osimport numpy as npimport trax模拟训练数据:#...

2020-03-25 16:43:47 1114 4

原创 python 特殊字符写入MySQL

问题描述将\t, \n, ’ 等特殊字符写入mysql数据库而不将其转义解决方案导入 pymysql 包将要写入mysql 的字符串先用pymysql.escape_string()处理,再写入如:sql = """INSERT INTO task (id, text) VALUES (%s, '%s')""" % (12, pymysql.escape_string("hello \...

2020-03-12 14:51:01 990 1

原创 python pdf获取页面大小(高度、宽度)

问题描述如题,获取PDF页面的高度和宽度,这里仅获取首页的高度和宽度解决方案两种解决方案,分别通过 pdfplumber 和 PyPDF2 两个包来实现方案1import timeimport pdfplumberpath = 'E:/data/DT_test/PDF_test/all_type.pdf'def run(path): with pdfplumber.op...

2020-03-05 14:51:12 9089 3

原创 python docx文档内容提取与写入(汇总)

通过python 提取docx文件中的文本内容,包括:段落、文本域、页眉页脚、目录、超链接、脚注等各处文本import osimport reimport docximport lxmlimport shutilimport loggingfrom io import BytesIOfrom lxml import etreefrom pydocx import PyDocXf...

2020-01-07 14:55:18 7158 3

空空如也

空空如也

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

TA关注的人

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