tensorflow实战
tensorflow相关知识和问题记录
BGoodHabit
这个作者很懒,什么都没留下…
展开
-
噪声对比估计NCE (Noise-contrastive estimation)采样方法,提高训练速度,解决源码中正label个数必须相等问题
目录1 目的2 tensorflow源码解读3 batch正样本不一致解决方案3.1 pad label对应为负样本3.2 pad label 对应loss mask4 参考1 目的降低模型计算复杂度的一种方法2 tensorflow源码解读3 batch正样本不一致解决方案3.1 pad label对应为负样本3.2 pad label 对应loss mask4 参考Noise-contrastive estimation: A new estimation principle foru原创 2020-12-12 14:59:52 · 1194 阅读 · 0 评论 -
GRU和LSTM结构对比
目录1 RNNs1.1 优点1.2 模型结构1.2.1 Elman和Jordan网络1 RNNs1.1 优点能够学习序列数据信息,比如:文本,视频等这些有序列信息的数据降低了整体的模型参数,因为所有steps都共享相同的参数是NLP的基础模型1.2 模型结构将RNN模型展开形式类似于DNN模型,只是在网络层共享相同的参数变量,如下图所示:1.2.1 Elman和Jordan网络在1990年,由Jefrey Elman提出的网络是最早的简单的循环神经网络,包括后面的Jordan网络。原创 2020-11-10 20:54:35 · 1047 阅读 · 0 评论 -
tensorflow: tf.variable_scope,tf.summary,tf.gradients
目录1 变量共享1.1 命名空间: tf.name_scope()1.2 变量空间: tf.variable_scope()1 变量共享1.1 命名空间: tf.name_scope()tensorflow不知道什么nodes应该聚集在一起,除非在定义功能的时候,通过tf.name_scope(name)来显式的告诉tensorflow。with tf.name_scope('data'): ...with tf.name_scope('loss'): ...with tf.name_s原创 2020-11-06 14:05:43 · 328 阅读 · 0 评论 -
Tensorlow: Eager execution
目录1 定义2 优势example1 定义用于数值计算,支持GPU加速,类似Numpy的库;能够自动微分,用于机器学习研究和试验,是一个较灵活的平台。2 优势与python debugging工具兼容,可以很方便的进行调试提供了中间出错日志提示允许使用python数据结构很容易执行,并且是python风格的控制流使用Eager,你不用再担心关于:placeholders,sessions,control dependencies,“lazy loading”,name或者variabel原创 2020-10-23 10:12:13 · 179 阅读 · 0 评论 -
基于tensorflow模型训练基本步骤:构造graph图+执行图
目录1 训练模型的基本步骤1.1 构造图1.2 训练模型2 Tensorflow读数据和优化器函数2.1 tf.data2.2 Optimizer1 训练模型的基本步骤1.1 构造图构造图的流程一般如下步骤:Step 1: 读数据 : tf.dataStep 2: 为输入input和label标签创建placeholders: tf.placeholder()Step 3: 创建参数变量等:tf.get_variable()Step 4: inferenceStep 5:原创 2020-10-14 11:49:25 · 1447 阅读 · 0 评论 -
tensorflow:TensorBoard, Oprations, Variables, Placeholder
目录1 TensorBoard1 TensorBoard首先我们来测试一个最简单的例子,看怎么使用TensorBoad,如下代码:# -*-coding:utf8 -*-import tensorflow as tfimport osos.environ['TF_CPP_MIN_LOG_LEVRL']='2'def add(): a = tf.constant(2, name='a') b = tf.constant(3, name='b') x = tf.add(a,b, name=原创 2020-10-12 09:23:57 · 220 阅读 · 0 评论 -
tensorflow概述
目录tensorflow是什么为什么选择tensorflow灵活性和稳定性受欢迎程度理解tensorflow中的Graphs and Sessions数据流图(data flow graphs)什么是tensortensorflow是什么是一个采用数据流图(data flow graphs),用于数值计算的开源软件库,于2015年11月发布。为什么选择tensorflow灵活性和稳定性最初由google开发,用来做机器学习的学术研究和产品开发的一个基础平台框架。受欢迎程度相对于现有的机器学习框原创 2020-09-23 10:16:12 · 577 阅读 · 0 评论 -
tersorflow添加L2 loss,正则化方式
L2正则化,主要防止模型过拟合,在loss function中增加一项对模型参数WWW的平方之和约束,防止学习的参数权重WWW过大,以下是tensorflow中添加L2 loss实现方式:def l2_loss(l2_lambda=0.0001): loss = tf.add_n([tf.nn.l2_loss(tf.cast(v, tf.float32)) for v in tf.trainable_variables() if 'bias' not in v.name], name="l2_loss"原创 2020-09-13 16:11:29 · 701 阅读 · 0 评论 -
读写tfrecord文件
目录写tfrecor方式变长特征转tfrecord定长特征转tfrecord读tfrecord变长方式读tfrecord定长方式读tfrecord从hdfs中读取批量tfrecord文件在训练模型的时候,一般会将数据预处理转换成tfrecord格式,负责I/O操作的CPU和进行数值运行计算的GPU相互之间可以并行工作,保证GPU高的利用率。以下是对特征是定长和变长读写tfrecord方式。写tfrecor方式一般会将数据按照模型训练所需要的方式对输入x和label标签进行tfrecord格式转换。主要原创 2020-09-13 15:38:13 · 590 阅读 · 0 评论