- 博客(76)
- 资源 (28)
- 收藏
- 关注
原创 Keras求Mask后的Embedding均值
记录下,用tensorflow很容易实现,但Keras稍微麻烦点,基本思路就是先标记出输入序列中0和非0得到这样的序列:mask=[0,0,1,1,1],其中0代表padding或者需要排除计算的位置,然后用这个序列跟Embedding结果进行乘积,将Embedding对应输入为0的向量置0,最后统计非0 位置向量的和除以mask的和即可。代码如下:import numpy as npimport keras.backend as Kfrom keras.layers import...
2022-05-04 16:26:08
1089
原创 Keras-DSSM之in-batch余弦相似度负采样层
定义余弦相似度层,并在batch内进行负采样NEG, batch_size = 20, 128class NegativeCosineLayer(): """ 自定义batch内负采样并做cosine相似度的层 """ def __call__(self, inputs): def _cosine(x): query_encoder, doc_encoder = x doc_encoder_fd = doc_encod
2021-10-20 15:00:00
1279
1
原创 tensorflow查看op性能
训练时添加tf.train.ProfilerHook记录各个op的计算资源。hook = tf.train.ProfilerHook( save_steps=1000, output_dir=os.path.join("./ckpt/", "tracing"), show_dataflow=True, show_memory=True) hooks = [hook] train_spec = tf.estimator.Tr
2020-09-30 14:49:57
828
原创 Git日常使用
记录一下git的常用命令。一、remote master的代码合并到自己分支上1. 切换到master分支 git checkout master2. 将remote master同步到local master git pull origin master3. 切换到的local开发分支 git checkout dev_xxx4. 合并 local master 到 local的开发分支 git merge master5.推送更新到g
2020-09-11 14:26:43
283
原创 saved_model_cli的使用
使用saved_model_cli命令可对导出的pb模型查看模型输入输出和直接运行得到预测结果。假设我们保存的模型为:1597977225|saved_model.pb |variables |variables.data-00000-of-00001 |variables.index 1. 查看模型输入输出:saved_model_cli show --dir1597977225 --all ...
2020-08-21 10:59:54
3428
原创 DSSM深度语义匹配原理与Tensorflow实现
在工业界DSSM(Deep Structured Semantic Models)已经演化成一种语义匹配框架,不仅用于文本的匹配,也用于推荐系统的User-Item的匹配,本文描述与实现DSSM在文本匹配上的应用,主要内容如下:DSSM原理 数据预处理 模型实现 模型训练 模型预测DSSM原理 DSSM的主要结构如下: 主要分为表示层和匹配层,表示层可使用全连接、RNN、Transformer等等网络得到query和d...
2020-07-28 16:55:37
4696
1
原创 tensorflow定义多个优化器加速Embedding的训练
在遇到大规模推荐算法训练时,我们常常会有不同种类的特征,大体上可分为稀疏特征和稠密特征两类。稀疏特征一般会经过Embedding转为稠密特征再传入全连接层。然而,当稀疏特征中包含大量ID类特征时,由于其原始维度非常高(如UserID几乎都是千万级以上),训练如此庞大的Embedding时会非常缓慢。一种解决方案是增大学习率,但学习率过大又会影响稠密特征(如一些向量特征)的训练,所以可以设计两个优化器分别以不同的学习率去优化稀疏Embedding和稠密特征。这里以tf.estimator + tf.f
2020-07-10 11:13:32
3061
1
转载 多任务学习在推荐算法中的应用
转载自:https://blog.csdn.net/hellozhxy/article/details/103979929
2020-07-07 15:54:09
255
转载 从FM推演各深度CTR预估模型(附代码)
转载自:https://blog.csdn.net/longxinchen_ml/article/details/81031736
2020-07-01 14:46:59
297
原创 如何查看TFRecod数据详情
使用以下代码直接查看TFRecord里面的数据情况,无需解析。import sysimport tensorflow as tf def main(): filepath = './train.tfrecord' with tf.Session() as sess: filenames = [filepath] # 加载TFRecord数据 ds = tf.data.TFRecordDataset(filenames) # 读取N条
2020-06-29 15:49:46
1126
原创 tensorflow读取hdfs上的文件
1. 确保服务器能访问hdfs2. 在~/.bashrc中加入以下脚本:export JAVA_HOME=/usr/local/jdk1.8.0_131export HADOOP_HDFS_HOME=/usr/local/hadoop-2.7.3export PATH=$PATH:$HADOOP_HDFS_HOME/libexec/hadoop-config.shexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JAVA_HOME/jre/lib/amd64/
2020-06-04 15:02:03
4200
2
原创 利用predictor预测tensorflow导出的pb模型
导出的pb模型可使用tf.contrib.predictor很方便的进行预测,仅限于tensorflow 1.x,代码如下:import numpy as npimport tensorflow as tffrom tensorflow.contrib import predictor# 加载模型,使用estimator导出的模型、tf.saved_model保存的模型都可以使用该...
2020-05-08 11:47:17
2157
原创 利用hadoop streaming分布式生成TFRecord文件
原理:在集群上每个机器生成TFRecord文件然后推送到指定的HDFS位置,并删除源TFRecord(这步可以不用,会自动删除)。1. map阶段import sys, randomsys.path.append("./")# 产生随机数,用以shuffle数据# 如果输入的rcfile格式的文件,则需要删除下标0的数据for line in sys.stdin: lin...
2020-05-08 11:36:48
1056
原创 利用tensorflow estimator API实现双塔推荐算法
Tensorflow estimator实现分布式训练很简单,只需要将数据进行相应的切分丢给模型就可以很方便的完成分布式训练了。以下代码是一个完整的推荐算法模板,可根据自己的需要修改数据读取和模型结构部分,tensorflow==1.13.1。1. 特征处理部分,feature_processing.py#coding:utf-8import tensorflow as tffrom...
2020-05-06 16:21:17
2440
2
原创 利用tf.saved_model导出keras模型
keras一般保存为h5py格式的模型,当然也可以直接使用tf.saved_model保存为pb模型,那如果想将保存的h5py模型导出为pb模型该怎么办呢?以下代码就可以完成该项功能。假设我们保存了keras的模型为model.json(结构)和weights.h5(权重),首先读取keras模型:# tensorflow == 1.13.1import tensorflow as...
2020-05-06 15:30:50
2307
3
原创 利用tensorboard查看pb模型图
1. 模型图和参数全保存在一个pb文件里(即freeze出来的模型),查看模型图代码如下:import tensorflow as tfwith tf.Session() as sess: model_filename ='model/freezon.pb' with tf.gfile.GFile(model_filename, 'rb') as f: gr...
2020-04-29 10:39:59
3161
1
原创 利用小trick加速tensorflow的训练
tensorflow ==1.13.11. tf.data并行读取tfrecord数据def parse_exp(example): features = {} """ tfrecord解析代码 """ return featuresdef input_fn(filenames = "./train_data/*.tfrecord", batch_size=1...
2020-04-15 11:31:37
394
原创 利用hadoop streaming对tensorflow模型进行分布式预测
0. python打包并上传到hdfs# 安装Pythonmkdir Pythonexport PYTHON_ROOT=~/Pythontar -xvf Python-3.6.8.tgzpushd Python-3.6.8./configure --prefix="{PYTHON_ROOT}" --enable-unicode=cs4make && make in...
2019-12-16 18:52:12
1423
1
转载 推荐系统遇上深度学习(十八)--探秘阿里之深度兴趣网络(DIN)浅析及实现
推荐系统遇上深度学习系列:推荐系统遇上深度学习(一)--FM模型理论和实践推荐系统遇上深度学习(二)--FFM模型理论和实践推荐系统遇上深度学习(三)--DeepFM模型理论和实践推荐系统遇上深度学习(四)--多值离散特征的embedding解决方案推荐系统遇上深度学习(五)--Deep&Cross Network模型理论和实践推荐系统遇上深度学习(六)--PNN模...
2019-04-12 17:10:54
886
转载 Linux无root权限安装cuda9.1和cudnn7.05以及编译框架时无lcuda.so的问题
转载自:https://blog.csdn.net/Cowry5/article/details/80630037无root权限centos 7cuda 9.1cudnn 7.05 for cuda 9.11 下载安装cudacuda下载 https://developer.nvidia.com/cuda-downloads.在选择linux及对应的系统之后,选择 runfile...
2019-03-05 15:14:32
488
原创 anaconda4.5在centos7环境下tensorflow-gpu1.10+cuda8.0+cudnn6
pip安装tensorflow1.5以后版本默认需要cuda9支持,但是我的服务器只安装了cuda8+cudnn6,要么用源码安装,要么用anaconda安装,这里记录下用anaconda安装tf。1.conda create -n tensorflow pip python=3.6在anaconda中创建一个新环境(虚拟环境)2.source anaconda/bin/activat...
2018-10-15 18:51:16
543
转载 TensorFlow和Keras解决大数据量内存溢出问题
转载自:https://blog.csdn.net/liukx940818/article/details/80168574内存溢出问题是参加kaggle比赛或者做大数据量实验的第一个拦路虎。以前做的练手小项目导致新手产生一个惯性思维——读取训练集图片的时候把所有图读到内存中,然后分批训练。其实这是有问题的,很容易导致OOM。现在内存一般16G,而训练集图片通常是上万张,而且RGB图,...
2018-09-01 11:49:48
2187
原创 golang调用tensorflow/keras训练的模型
1. 安装tensorflow和golang(参考https://tensorflow.google.cn/install/install_go)2. python训练模型,这里以keras example的imdb_cnn.py为例:# coding:utf-8import tensorflow as tffrom keras.models import Sequential...
2018-08-17 11:13:21
11129
7
原创 Nginx配置PHP步骤
组内实习生用ThinkPHP写了个服务需要部署到服务器上,由于从未写过PHP折腾了两天才搞定Nginx的部署,记录下步骤。1. 安装PHP大礼包LNMP: wget http://soft.vpser.net/lnmp/lnmp1.5.tar.gz -cO lnmp1.5.tar.gz && tar zxf lnmp1.5.tar.gz && cd lnm...
2018-08-05 15:40:43
425
原创 jieba并行分词
jieba并行分词每次都要重新写,这次记下来。# coding:utf-8import codecsfrom multiprocessing import Poolimport jiebafin = "news.txt"fout = "news.seg"def read_data(): fr = codecs.open(fin, "r", "utf-8") ...
2018-07-31 17:25:25
3803
转载 Keras之文本分类实现
转载自:https://zhuanlan.zhihu.com/p/29201491写在前面从优达DLND毕业后,一直想自己动手做点什么来着,互助班的导师也鼓励自己动手写点心得体验啥的。之前一直没怎么观看Youtube网红Siraj老师的课程视频,他每个视频最后都会有一个编程挑战。于是,想着先从自己熟悉的内容着手吧,Siraj老师第三周的编程挑战是做一个多类别的文本分类器,链接在此:Github,那...
2018-05-24 14:25:22
25494
4
转载 PageRank 算法详解
转载自:https://blog.csdn.net/m0_37786726/article/details/79864012参考文献:https://blog.csdn.net/androidlushangderen/article/details/43311943链接分析在链接分析中有2个经典的算法,1个是PageRank算法,还有1个是HITS算法,说白了,都是做链接分析的。具体是怎么做呢,继...
2018-04-10 16:45:38
6362
1
转载 Windows7 下python3和python2同时 安装python3和python2
1、下载python3和python2 进入python官网,链接https://www.python.org/选择Downloads--->Windows,点击进入就可以看到寻找想要的python版本本文选择的是:Python3.5.2,点击后面链接可直接下载,https://www.python.org/ftp/python/3.5.2/python-3.5.2rc1-amd64.exe...
2018-04-02 14:14:36
297
转载 深度| 百度副总裁王海峰:百度在NLP领域都做了什么?
思考和获得知识的能力成就了今天的人类,这种能力需要通过语言来找到思考的对象和方法,并外化为我们看、听、说和行动的能力。而语音、视觉、行为和语言等正是现在AI领域的重要研究内容。相对于看、听和行动的能力,语言是人类区别于其他生物最重要的特征之一。语言是人类思考的载体,通常我们的思考语言是母语。当我们学习外语时,老师希望我们要努力使用外语来思考。另一方面,从人类历史之初,知识就以语言的形式进行
2018-01-26 21:53:22
383
转载 阿里自然语言处理部总监分享:NLP技术的应用及思考
本文整理自阿里巴巴iDST自然语言处理部总监郎君博士的题为“NLP技术的应用及思考”的演讲。本文从NLP背景开始谈起,重点介绍了AliNLP平台,接着分享了NLP相关的应用实例,最后对NLP的未来进行了思考。背景介绍阿里巴巴的生态系统下面有很多的计算平台,上面有各种各样的业务层,最中间是买家和卖家之间包括销售、支付等等之间的关系,外面建了一圈从娱乐到广告到金融到购物到物流等
2018-01-26 21:52:27
1490
原创 python代理ip抓取大众点评
抓大众点评才抓了几页就被屏蔽,找到如下方法解决。第一步:获取代理ip在http://www.xicidaili.com/nn获取代理,命名为proxy_ip.py,代码如下:# coding:utf-8import requestsfrom bs4 import BeautifulSoupimport reimport os.pathuser_agent = 'Mozi
2017-12-16 18:04:48
18853
转载 Windows下Python3.5安装Numpy、Scipy
转载自:http://blog.csdn.net/u014206910/article/details/60571325一、安装环境Windows 8, Win 32, 官方纯净版Python3.5。二、Numpy安装1、下载Numpy:首先,寻找适合的Numpy,一般上numpy官网https://pypi.python.org/pypi/nu
2017-10-18 17:41:23
693
转载 中文分词的python实现-基于HMM算法
隐马尔科夫模型(HMM)模型介绍HMM模型是由一个“五元组”组成:StatusSet: 状态值集合ObservedSet: 观察值集合TransProbMatrix: 转移概率矩阵EmitProbMatrix: 发射概率矩阵InitStatus: 初始状态分布将HMM应用在分词上,要解决的问题是:参数(ObservedSet, TransProbMatrix, Em
2017-07-21 12:40:04
3927
原创 python多任务及返回值处理
废话不多说,直接上代码!# coding:utf-8from multiprocessing import Poolimport timedef keywords(title, content, top_n=5): print u'关键词提取...' print title, content, top_n time.sleep(3) return 0,
2017-07-07 11:19:11
1939
原创 openfst的python接口安装
0. root权限下1. 下载openfst_1.6.2.tar.gz并解压2. ./configure --enable-python --enable-far3. make && make install4. pip install openfst5. whereis libfst.so.1将得到的目录(一般为/usr/local/lib/)添加到/etc/ld.so.co
2017-06-15 15:24:55
2296
转载 基于kaldi的在线中文识别,online的操作介绍
最近研究了下kaldi,也看了好多文章,感觉这方面的有用文章太少! 大多停留在编译和深层理论方面。对于我们这种没有基础的人,除了看完编译,就只能很茫然的看哪些高高在上的理论了。本文章,适合那些。刚刚编辑完kaldi。想试试手,找找感觉的人来看的。如果你还没有编辑过,可以查查相关文章。有好多。声明一下,本文章,只适合在windows下装虚拟机UBuntu的机器上玩。你的虚拟机内存要大
2017-05-05 13:41:48
11370
6
原创 利用cython将python转为c代码
1. 安装cython2. cython test.py --embed3. gcc `python-config --cflags` `python-config --ldflags` test.c -o test
2017-03-31 20:28:38
40136
3
转载 注意力机制(Attention Mechanism)在自然语言处理中的应用
转载自:http://www.cnblogs.com/robert-dlut/p/5952032.html近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展。基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,本人最近也学习了一些基于attention机制的神经网络在自然语言处理(NLP)领域的论文,现在来对attention在NLP中的
2017-01-01 12:06:41
986
转载 【中文分词系列】 5. 基于语言模型的无监督分词
迄今为止,前四篇文章已经介绍了分词的若干思路,其中有基于最大概率的查词典方法、基于HMM或LSTM的字标注方法等。这些都是已有的研究方法了,笔者所做的就只是总结工作而已。查词典方法和字标注各有各的好处,我一直在想,能不能给出一种只需要大规模语料来训练的无监督分词模型呢?也就是说,怎么切分,应该是由语料来决定的,跟语言本身没关系。说白了,只要足够多语料,就可以告诉我们怎么分词。看上去很完美,
2016-12-27 10:56:23
8363
1
转载 【中文分词系列】 4. 基于双向LSTM的seq2seq字标注
转载:https://spaces.ac.cn/archives/3924/关于字标注法上一篇文章谈到了分词的字标注法。要注意字标注法是很有潜力的,要不然它也不会在公开测试中取得最优的成绩了。在我看来,字标注法有效有两个主要的原因,第一个原因是它将分词问题变成了一个序列标注问题,而且这个标注是对齐的,也就是输入的字跟输出的标签是一一对应的,这在序列标注中是一个比较成熟的问题;第二个
2016-12-27 10:28:21
2668
HTK孤立词语音识别系统所有文件
2013-12-23
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人