![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深度学习
文章平均质量分 93
马苏比拉米G
这个作者很懒,什么都没留下…
展开
-
推荐系统召回模型之YouTubeNet
召回的主要工作是从全体视频库中筛选出用户感兴趣的视频,此过程要求检索速度快,并且所检索出的视频与用户的历史行为和偏好相关。所以召回模型和特征都较为简单2.1 问题建模我们把推荐问题建模成一个“超大规模多分类”问题。即在时刻ttt,为用户UUU(上下文信息CCC)在视频库vvv中精准的预测出视频iii的类别(每个具体的视频视为一个类别,iii即为一个类别),用数学公式表达如下:很显然上式为一个softmax多分类器的形式。向量是<user, context>信息的高纬“embedding”原创 2021-06-02 14:44:47 · 439 阅读 · 1 评论 -
tensorflow三种模型的加载和保存的方法(.ckpt,.pb,SavedModel)
工作中尝试用的是.ckpt,最近在研究tensorflow serving所以需要将模型转化为SavedModel格式。而有时模型平台调用又需要.pb模型,所以对这三种文件进行了解。一、ckpt文件的保存和加载1、模型保存文件格式checkpoint文件:用于告知某些TF函数,这是最新的检查点文件.data文件:包含训练变量的文件.index文件:描述variable中key和value的对应关系.meta文件:保存完整的网络图结构使用这种方法保存模型时会保存成上面这四个文件,重新加载模型时通原创 2020-07-20 11:18:03 · 11549 阅读 · 3 评论 -
Tensorflow模型的保存、加载、finetune
超详细的Tensorflow模型的保存和加载(理论与实战详解)转载 2020-07-20 10:30:44 · 202 阅读 · 0 评论 -
TensorFlow Serving模型部署
一、启动docker容器1、使用gRPC接口进行调用docker run -p 8500:8500 --mount type=bind,source=/data/anniegu_home/serving-master/tensorflow_serving/servables/tensorflow/testdata/simnet_servable_model,target=/models/simnet -e MODEL_NAME=simnet -t tensorflow/serving &2原创 2020-07-15 15:20:50 · 438 阅读 · 0 评论 -
TensorFlow Serving模型转换
Tensorflow训练的模型,如果想使用TensorFlow Serving进行部署,需要将ckpt模型转换为pb模型。一、模型格式转变1、原文件格式:2、新文件格式:二、模型转化代码:做3个地方修改即可。1、需要结合自己网络结构的输入输出参数进行修改2、定义模型的输入输出,建立调用接口与tensor签名之间的映射3、设置原模型目录、新模型目录、版本号#coding:utf-8import sys, os, ioimport tensorflow as tfdef resto原创 2020-07-15 10:34:45 · 690 阅读 · 0 评论 -
使用docker创建tensorflow serving
一、Docker介绍Docker包含Image(镜像)、Container(容器)、Repository(仓库)。镜像是 Docker 运行容器的前提,Docker 的核心,是只读的;仓库是存放镜像的场所;容器与镜像的唯一区别在于容器的最上面那一层是可读可写的。容器 = 镜像 + 读写层。二、拉取tensorflow serving镜像假设已经安装好Docker。1、获取tensorflow/serving镜像(1)直接使用docker pull拉取docker pull tensorflow/原创 2020-07-09 15:26:14 · 451 阅读 · 0 评论 -
使用Horovod 实现TensorFlow、Keras、PyTorch分布式训练
一、什么是HorovodHorovod是基于Ring-AllReduce方法的深度分布式学习插件,以支持多种流行架构包括TensorFlow、Keras、PyTorch等。这样平台开发者只需要为Horovod进行配置,而不是对每个架构有不同的配置方法。Ring-AllReduce方法是把每个计算单元构建成一个环,要做梯度平均的时候每个计算单元先把自己梯度切分成N块,然后发送到相邻下一个模块。现在有N个节点,那么N-1次发送后就能实现所有节点掌握所有其他节点的数据。这个方法被证明是一个带宽最优算法。二原创 2020-06-05 10:34:41 · 3292 阅读 · 0 评论 -
使用TensorFlow and Horovod 实现BERT多GPU训练
一、run_classifier.py文件#chang 1:引入horovodimport horovod.tensorflow as hvd...def get_train_examples(self, data_dir): """See base class.""" file_path = os.path.join(data_dir, "train_bert.txt") #chang 2 修改训练数据创建方式 return self._create_example原创 2020-06-04 20:49:04 · 1138 阅读 · 0 评论 -
Tensorflow-GPU相关设置问题
这几天遇到多GPU跑Tensorflow代码问题,主要涉及两个问题,组里老大给讲解后整理如下:1、为什么普通代码,直接指定多个GPU,训练速度没有提升?默认tensorflow会占用所有卡的所有显存,所以要指定卡和每张卡的占用量,比如你指定两张卡,默认情况下,两张卡上都会有模型参数,同一份数据会送到两张卡上进行运算,做重复的工作2、如何使用多个GPU进行运算?如果要使用两张卡训练,提高效率,就要给两张卡分别送不同的数据,而且要对两张卡计算的梯度进行合并,然后通过反向传播更新两张卡的参数3、但GPU原创 2020-06-01 20:33:08 · 472 阅读 · 0 评论 -
XLNET原理
一、自回归、自编码1、自回归(autogressive)(1)含义:根据上文内容预测下一个可能跟随的单词,就是常说的自左向右的语言模型任务,或者反过来也行,就是根据下文预测前面的单词,这种类型的LM被称为自回归语言模型。如,GPT,ELMO。(2)优点:可以考虑上文或下文的依赖关系有严格的数学含义P(w1w2w3)=P(w1)P(w1∣w2)P(w1∣w2w3)P(w_{1}w_{2}w_{3})=P(w_{1})P(w_{1}|w_{2})P(w_{1}|w_{2}w_{3})P(w1原创 2020-05-27 16:01:51 · 776 阅读 · 0 评论 -
【深度学习】常用的激活函数
一、什么是激活函数神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为激活函数(又称激励函数)1、Sigmoid函数(1)数学公式f(x)=11+ex\displaystyle f( x) =\frac...原创 2019-11-07 23:04:14 · 3400 阅读 · 0 评论 -
【深度学习】神经网络参数的初始化方法
一、全0初始化全0初始化最为简单,但不适合采用。因为如果将神经网络中参数全部初始化为0,那么每个神经元就会计算出相同的结果,在反向传播的时候也会计算出相同的梯度 ,最后导致所有权重都会有相同的更新。换句话说,如果每个权重都被初始化成相同的值,那么权重之间失去了不对称性。二、随机初始化我们希望权重初始化的时候能够尽量靠近0,但是不能全都等于0 ,所以可以初始化权重为一些靠近0的随机数,通过这个...原创 2019-11-02 23:22:41 · 4333 阅读 · 0 评论 -
【深度学习】命名实体识别简述和资料
一、命名实体识别含义命名实体识别(Named Entity Recognition,简称NER),又称作“专名识别”,是指识别文本中具有特定意义的实体。一般包括3大类(实体类、时间类、数字类)和7小类(人名、地名、机构名、专有名词、时间、日期、货币和百分比)。命名实体识别是关系抽取、事件抽取、知识图谱、机器翻译、问答系统等诸多NLP任务的基础。二、难点:当前命名实体识别只是在有限的文本类型(...原创 2019-09-10 23:23:02 · 2174 阅读 · 0 评论 -
【深度学习】卷积神经网络CNN
一、传统神经网络1、 神经元:一个神经元的神经网络基本为z=WX+bz = WX+bz=WX+b。其中:(1)xi\displaystyle x_{i}xi表示输入向量(2)wi\displaystyle w_{i}wi为权重,几个输入则意味着有几个权重,即每个输入都被赋予一个权重(3)b为偏置bias,提高泛化能力。(4)g(z) 为激活函数,一般为sigmoid函数,目的是将输...原创 2019-09-03 23:04:29 · 1123 阅读 · 0 评论 -
【深度学习】循环神经网络RNN+LSTM+GRU
一、RNN1、RNN网络结构(1)xt\displaystyle x_{t}xt 是时间ttt处的输入(2)st\displaystyle s_{t}st是时间ttt处的记忆,st = f(Uxt+Wst−1)\displaystyle s_{t\ } \ =\ f( Ux_{t} +Ws_{t-1})st = f(Ux...原创 2019-09-01 23:05:39 · 1094 阅读 · 0 评论