- 博客(59)
- 收藏
- 关注
原创 小白Bert系列-albert
albert https://arxiv.org/pdf/1909.11942.pdf主要几点:1.词嵌入部分进行矩阵分解减少参数量2.block参数共享较少参数,更好鲁棒性3.改用sop学习句子顺序关系4.去掉dropout,增加数据源还有一点 ngram masking 意思就是之前任务中都是masking单个字,ngram相当于是短语,任务更难了。1.矩阵分解在bert模型中,词嵌入向量部分通过全连接方式学习, 设词汇量为V,词向量维度和隐藏层维度H是一样。那词嵌入矩阵大小为VH。例如
2021-10-09 19:19:20 425
原创 bert源码解析-modeling.py
bert源码解析-modeling.pybert是transformer的encoder部分,以google-bert源代码为例。由两个重要的class组成:1.BertConfig 大多时候改动的参数并不多,知晓这些参数可以便于推算模型的大小,比如隐藏层大小768class BertConfig(object): def __init__(self, vocab_size, hidden_size=768,
2021-10-09 19:14:40 1561
原创 小白Bert系列-生成pb模型,tfserving加载,flask进行预测
bert分类模型使用tfserving部署。bert模型服务化现在已经有对应开源库部署。例如:1.https://github.com/macanv/BERT-BiLSTM-CRF-NER 该项目支持三种不同的任务2.使用已有的包pip install bert-serving-server # 服务端pip install bert-serving-client # 客户端,与服务端互相独立本文主要记录通过bert预训练的模型如何使用tfserving进行加载,这样在已有的tfserving
2020-05-31 16:42:26 2589 3
原创 小白bert参数计算
针对上图分别从每个部分进行计算。BERT-Base, Uncased 12层,768个隐单元,12个Attention head,110M参数BERT-Large, Uncased 24层,1024个隐单元,16个head,340M参数BERT-Base, Cased 12层,768个隐单元,12个Attention head,110M参数BERT-Large, Uncased 24层,1024个隐单元,16个head,340M参数。bert base 12层 768隐藏单元 12个head.
2020-05-29 20:31:21 2506 4
原创 小白gpu概述
GPU之前看到一个用画师的比喻感觉蛮好的。GPU架构 一般来说越新性能越好,架构越好水平越好,类比画师的水平。流处理器 渲染管,流处理器数量越多,显卡画图的能力越强,速度也越快。一般是同型号比较流处理器个数。类比画师的个数。核心频率 频率越高,效率越高,功耗也越大,画师工厂的运画到仓库的搬运人员其运输的速率。容量 提供临时的存储功能,当然要配合带宽等,不然大了也浪费。类比画师工厂仓库。显存带宽 显存位宽×显存频率,显存位宽类比成公路,公路越宽,一次能通过的车辆越多;显存频率类别汽车速度,频率
2020-05-29 20:28:21 1590
原创 小白循环神经网络RNN LSTM 参数数量 门单元 cell units timestep batch_size
小白循环神经网络RNN LSTM 参数数量 门单元 cell units timestep batch_sizeRNN循环神经网络 timestep batch_sizeLSTM及参数计算keras中若干个Cell例如LSTMCell1.RNN循环神经网络先来解释一下 batch_size timestep样本数据:小明爱学习小王爱学习小李爱学习小花爱学习通常样本数据会以(batch_size, time_step, embedding_size)送入模型,对应的可以是(4
2020-05-24 15:09:50 3402
原创 从零搭建一个tf2.0的web服务,包含mysql redis操作
从零搭建一个tf2.0的web服务,包含mysql redis使用anaconda 来管理https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/找一个使用自己环境的安装包安装已mac为例,下载对应版本后设置环境变量echo "export PATH=\" xxx你的安装路径xxx \">>~/.bash_profileso...
2020-04-25 13:14:46 170
原创 小白来看:linux 下CPU && GPU && 磁盘信息查看
linux 下CPU && GPU && 磁盘信息查看cpucat /proc/cpuinfo获取全部cpu信息,其中physical id是物理cpu个数,也就是实际CPU个数。core id cpu的核idcpu cores 线程上述3个去重之后就是对应的个数,例如cat /proc/cpuinfo |grep "physical id" | un...
2020-04-08 11:32:31 346
原创 小白来看:cpu核数、逻辑处理器及java和python如何跑满CPU
cpu的四核 八逻辑处理器这样的处理器使用了超线程技术,所以每个核心是两个线程,所以4个物理核心就是8个线程。所以在操作系统的设备管理器里面看到的CPU数量是实际物理CPU数量的两倍例如八个逻辑处理器 ,出去系统主线程。以windows为例,当前是10%左右如果跑满,按照8个逻辑算,100/8=1.25 1.25*7=8.75 也就是再增加7个线程 87.5%接近占满java跑满cp...
2020-04-07 21:43:21 1760
原创 GBDT+LR 入门+实例
GBDT-LR思想利用GBDT生成特征在利用LR对特征值进行拟合。GBDT是梯度提升决策树,由多棵树组成。构造一个决策树,根据已有的模型和实际样本输出的残差上再构造一颗决策树,不断地进行迭代。每一次迭代都会产生一个增益较大的分类特征,因此GBDT树有多少个叶子节点,得到的特征空间就有多大,并将该特征作为LR模型的输入。下面通过一个实例说明这个过程。1.准备数据使用sklearn 数据集...
2020-03-17 22:38:15 809
原创 小白来看:java反射与注解
1.反射获取对象的变量和方法等信息。Class c = user.getClass();Field field = c.getDeclaredField("id");Method method = c.getDeclaredMethod("say", String.class);method.invoke(user, "great!");c 获取Class对象。Field getDe...
2020-03-07 23:39:39 146
原创 java工程读取文件方式及文件加载方式File ResourceUtils ClassPathResource jar加载失败处理
java工程读取文件方式及文件加载方式File ResourceUtils ClassPathResource jar加载失败处理文件读取方式(按行或全部读取)文件记载方式 File1.读取方式按行读取 BufferedReaderInputStream inputStream=new FileInputStream(file);BufferedReader buffered...
2020-02-28 15:48:27 1076
原创 文本分类模型处理流程
文本分类模型处理流程1.样本整理2.数据预处理直接按照字符处理可以使用keras的apiTokenizer(char_level=True) 建立字符数字索引text_to_sequences() 将句子转成数字pad_sequences() 将句子填充到相同长度分词 jieba hanlp等(对于项目里特殊的词汇,可以手动加到分词词库里)用其他公司训练的词向量自定义词...
2020-02-16 12:24:31 660
原创 图片分类常见处理流程
图片分类常见处理流程样本来源竞赛官方提供爬虫(selenium+urllib2+可以搜图的网站)初始化webdrive,设置代理初始urllib2 设置代理driver =webdrive.FireFox()找到翻页按钮属性,模拟点击翻页解析页面提取图片链接元素,保存图片样本处理 归一化模型建立conv2->MaxPool->Conv2-&g...
2020-02-16 12:24:02 659
原创 深度学习常见概念和keras网络
深度学习常见概念和keras网络梯度下降loss function优化keras主要网络keras建立model1.梯度下降随机梯度下降小批量梯度下降带动量梯度下降 (更快的梯度下降)adagrad (调整学习率)rmsprop (优化adagrad学习率越来越低的问题)adam(优化rmsprop)2.深度学习中的loss functionmse 均方误差...
2020-02-16 12:23:24 172
原创 机器学习问题处理流程
1.加载数据,查看总体情况pandas。如果文件过大则用chunck分块head()info()describe() 注意缺失值2.数据预处理离群点 根据数据说明判断是否要去除数据是否符合正态分布。如果用回归模型则考虑转换数据之间关联性 使用corr如果数据有id这样的自增数据,删除 。抽取label字段3.特征工程丢失值填充0 或者None看数据说明Coun...
2020-02-15 23:21:57 188
原创 mybatis插入单个对象 多个对象 key冲突更新操作
在mybatis操作过程中会有插入对象,批量插入表格等情况。下面对常见几种情形进行示例://根据id批量获取一批用户信息List<User> queryByIds(List<Integer> Ids);//批量插入user对象int insertBatch(List<User> userList);//插入单个对象int insert(@Para...
2020-02-15 21:57:49 1085
原创 关键词提取-TFIDF 自定义逆文档IDF的值
TF-IDF用于提取关键词,那么如何从多个文档中提取出关键词。文章的关键词可能有什么规律,表示文章主要意思,那这个词应该在该文章中出现多次,但是在其他文章中出现次数不多。TF 词频 (Term Frequency)表示w在文档Di中出现的频率TF=count(w)DiTF = \frac {count(w)}{Di}TF=Dicount(w)IDF 逆文档频率(Inverse Doc...
2020-02-14 23:58:04 474
原创 keras模型部署 flask & tfserving
keras训练后的模型可以用两种方法实现。利用keras的save方法保存模型成h5格式。利用python web框架加载h5模型并利用api请求对外提供http请求生成pb格式,利用tfserving加载pb模型。提供http请求。keras模型训练之后保存成h5格式部署。模型是一个文本分类模型1.模型保存# tb_callback = TensorBoard(log_dir='....
2020-01-02 20:34:26 1316
原创 模型实践(二)bert 中文语料分类
1.下载bert源代码和中文预训练模型bert代码模型下载Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters2.准备样本依旧采用上一节中使用的ai挑战赛用户评论信息。对于自己使用的场景按照对应的格式处理好即可。例如这边样本格式如下(正文+标签):(说明 此处用的标签...
2019-11-02 17:51:59 1449 1
原创 模型实践(一)RNN LSTM 中文分类
对之前一节部分进行实践,使用keras进行实现,keras关于循环神经网络有多个方法。https://keras.io/zh/layers/recurrent/SimpleRNNLSTM+CNN样本使用ai挑战赛用户评论信息,这里仅用验证集的数据(数据量少一些,运行快一些)标签取了用户消费后感受字段。该字段标签有2'正面情感', 1'中性情感', -1'负面情感', 0'情感倾向未提...
2019-10-13 21:06:32 737
原创 自然语言几个重要的模型
自然语言几个重要的模型。循环神经网络 (序列模型序列依赖问题)双向循环神经网络(输入序列正向和反向依赖问题)深度双向循环神经网络LSTM(梯度消失问题)GRUtext CNN(一维卷积和池化)seq2seq(序列到序列问题)Attention(decoder对encoder输入序列注意力问题,从输入获取可用信息)Transform(对输入的序列分成q检索项 k键项 v值项进行计...
2019-10-07 15:41:22 740
原创 BIO 伪异步IO NIO 说明示例
网络IO编程基本模型是C/S,即客户端服务端通信。但对于传统通信方式服务会被阻塞。下面介绍几种非同步通信方式。BIO 开启单独线程进行端口监听,对每个请求开启一个线程进行相应伪异步IO 服务端开启一个线程池,请求从线程池中随机取出一个可用线程进行处理。NIO 使用seletor选择器对通道进行监听,通道负责和缓存区进行数据的读写。1. 传统方式示例:final Socket so...
2019-05-24 15:46:57 177
原创 spring之入门 bean生命周期
spring bean生命周期主要分为初始化创建、使用、销毁。下面详细介绍这个过程。1实例化bean 通过加载xml文件。2设置bean属性值3调用BeanNameAware setBeanName4调用BeanFactoryAware setBeanFactory5调用ApplicationContextAware setApplicationContext6BeanPostPr...
2019-05-18 18:12:25 279
原创 spring之入门ioc(控制反转)di(依赖注入)
spring是一个容器管理框架。重点:ioc 控制反转,以往对象的创建式通过new方式,现在对应都由spring管理通过反射形式将对象初始化放在spring容器中。di 依赖注入,bean与bean之间根据依赖关系进行引用,之所以引入这个名词,应该是bean之间相互依赖的关系更能体现spring容器管理的特点。例如在下面例子中UserInfoService对象需要初始化User对象。ap...
2019-05-18 13:21:39 161
原创 conda install & pip install区别 & 查看当前环境下包的情况
conda可以方便开发管理python环境,包可以conda 安装有时使用pip整理一下不同点。conda 创建环境conda create --name a_conda_env python=3.6名为a_conda_env python 版本3.6激活环境 conda activate b_conda_env conda deactivate #linux环境 source ...
2019-04-14 18:22:47 19316 1
原创 机器学习实战(基于Sklearn和tensorflow)第三章 分类 学习笔记
机器学习实战 书籍第三章例子学习笔记书中源码,here本文地址,here要分为Mnist数据处理、交叉验证、混淆矩阵、精度、多分类问题等。加载数据 可以从本地下载fetch_mldata下载较慢,可以下载到本地链接:https://pan.baidu.com/s/1fAInuofJ_MJJfvNjY1djsg提取码:e462在当前工程目录下新建并拷贝自己下载文件datasets...
2019-04-14 12:22:18 1180
原创 机器学习实战(基于Sklearn和tensorflow)第二章学习笔记
机器学习实战 书籍第二章例子学习笔记书中源码,here文中还有很多扩展知识和更新方法,很值得学习本文地址here注:1.增加CustomLabelBinarizer转换器解决参数传递问题(出现args参数数量错误)2.在评估数据集some_data报错 因为选取数据object那个对象进行稀疏向量表示时会出现长度不是样本的5维,例如选择了5组数据,原本第一组属性是object应该是[1...
2019-04-10 16:14:09 784
原创 python基础笔记之绘图
修改标签文件和线条粗细 plot散点图 scatter柱状图保存图表随机漫步示例%matplotlib inline import matplotlib.pyplot as pltdata = [x*x for x in range(0, 10)]x_values = range(0, 10)y_values = [x*x for x in x_values]修改标签文件...
2019-04-07 14:56:42 195
原创 python基础笔记之列表操作
列表简介索引 [0]查找第一个 [-1]查看最后一个增删 append(“test”) 追加 insert(0, “test”)插入 del删除 pop出栈又返回 remove排序 sort(reverse=False)原始数据操作 sorted(args, reverse=False)返回值被排序 reverse()翻转长度 len列表操作for循环遍历range max m...
2019-04-05 11:23:50 183
原创 python基础笔记之变量和基本类型
字符串基本操作strip 去掉前后空格lstrip 去掉左空格rstrip 去掉右空格str()转字符串title() 首字母大写upper() 转成大写lower() 转成小写\t 制表符 \n 换行注释 # 多行注释’’’ ‘’’+ - * / ** (平方) // (取整除)data = ' good go...
2019-04-05 10:34:06 115
原创 pandas清洗数据常用笔记
read_csvread_csv header 如果为None 则使用默认列名(指定names)import pandas as pddata = pd.read_csv("data/test.csv", header=None)data.head()data = pd.read_csv("data/simple.csv", header=None, names=["用户id", "...
2019-03-31 16:14:43 434
原创 springboot cron定时任务配置
前一篇文章记录springboot配置mybatis。在基础上增加cron定时任务配置。开启定时任务任务代码实现开启定时任务开启定时任务比较简单,在入口出打开**@EnableScheduling**@SpringBootApplication@MapperScan("com.hiro.demo.db")@EnableSchedulingpublic class DemoApp...
2019-03-25 23:17:14 225
原创 springboot mybatis使用xml方式配置方式
1.创建一个maven项目完整文件目录格式:pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:s...
2019-03-25 23:04:58 187
原创 深度学习笔记之RCNN、Fast-R-CNN、Faster-R-CNN
利用神经网络进行目标检测,目前已经有很多方法,从RCNN到Fast-R-CNN再到Faster-R-CNN。YOLO SSD等等。本文主要记录一下RCNN、Fast-R-CNN、Faster-R-CNN的学习。RCNN在原始图片上利用RIO(Regions of Interest )进行处理。在原始图片上使用selective search 搜索待检测区域,第一步是提取到2000个区域。...
2019-03-23 19:42:54 386
原创 深度学习之Dropout层
Dropout层过程相当于在一个大的网络模型中每次随机小模型,类似在模拟集成学习。避免过拟合例如在图示中,通过Dropout层,每次选择网络中的一部分继续计算传递。实现可以使用keras Dropout层实现,这里自定义一个方法。import numpy as np#X输入 drop_probability丢失的概率def dropout(X, drop_probability...
2019-03-16 22:38:16 3007
原创 机器学习之集成算法 随机森林 sklearn
集成算法目的:简单来说就是构建并结合多个学习分类器来完成学习任务,也称为多分类器系统。例如:有分类任务,使用A分类器和B分类器分别做分类,再结合结果输出。当然有多种模式。1.Bagging...
2019-03-06 23:41:38 383
原创 机器学习之决策树
决策树是一个递归的过程,每层使用不同判断标准。熵信息增益信息增益率GINI系数剪枝策略举例1.熵熵表示随机变量不确定性的度量(即内部混乱程度,分布越混乱熵值越大。)E(x)=−∑(p)∗log(p)i=1,2,3......E(x) = -\sum (p)*log(p) i = 1,2,3......E(x)=−∑(p)∗log(p)i=1,2,3......例如...
2019-03-06 00:00:26 182
原创 linux crontab使用笔记
crontab 在/etc目录下有五个目录:cron.hourly,cron.daily,cron.weekly,cron.monthly,cron.d#cron.daily是每天执行一次的job#cron.weekly是每个星期执行一次的job#cron.monthly是每月执行一次的job#cron.hourly是每个小时执行一次的job#cron.d是系统自动定期需要做的任务...
2019-03-05 19:44:22 137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人