tensorflow 笔记7:tf.concat 和 ops中的array_ops.concat
用于连接两个矩阵:
mn = array_ops.concat([a, d], 1) # 按照第二维度相接,shape1 [m,a] shape2 [m,b] ,concat_done shape : [m,a+b]
tensorflow Rnn,Lstm,Gru,源码中是用以上的函数来链接Xt 和 Ht-1 的,两者的shape 分别是【batch_size, emb_size】【batch_size,Hidden_size】
连接接后为的shape为:【batch_size,embedding_size + Hidden_size】,作为当前时刻的输入;
测试代码:
import os
import tensorflow as tf
import numpy as np
import sys
from tensorflow.python.ops import array_ops
#array_ops.concat([inputs, state], 1) a = tf.constant([[1,12,8,6], [3,4,6,7]]) # shape [2,4]
b = tf.constant([[10, 20,6,88], [30,40,7,8]]) # shape [2,4]
c = tf.constant([[10, 20,6,88,99], [30,40,7,8,15]]) #shape [2,5]
d = tf.constant([[10,20,6,88], [30,40,7,8],[30,40,7,8]]) # shape [3,4]
nn = tf.concat([a, d],0) # 按照第一维度相接,shape1 [a,m] shape2 [b,m] concat_done:[a+b,m]
nn_1 = tf.concat([a, c],1) # 按照第二维度相接,shape1 [m,a] shape2 [m,b] concat_done:[m,a+b]
mn = array_ops.concat([a, d], 0) # 按照第一维度相接,shape1 [a,m] shape2 [b,m] concat_done:[a+b,m]
mn_1 = array_ops.concat([a, c], 1) # 按照第二维度相接,shape1 [m,a] shape2 [m,b] concat_done:[m,a+b] with tf.Session() as sess:
print (nn)
print (nn.eval())
print (nn_1)
print (nn_1.eval())
print (mn)
print (mn.eval()) # shape [5,4]
print (mn_1)
print (mn_1.eval()) # shape [2,9]
结果输出:
Tensor("concat:0", shape=(, ), dtype=int32)
[[ ]
[ ]
[ ]
[ ]
[ ]]
Tensor("concat_1:0", shape=(, ), dtype=int32)
[[ ]
[ ]]
Tensor("concat_2:0", shape=(, ), dtype=int32)
[[ ]
[ ]
[ ]
[ ]
[ ]]
Tensor("concat_3:0", shape=(, ), dtype=int32)
[[ ]
[ ]]
tensorflow 笔记7:tf.concat 和 ops中的array_ops.concat的更多相关文章
- tensorflow笔记:使用tf来实现word2vec
(一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 (四) tensorflow笔 ...
- 关于tensorflow里面的tf.contrib.rnn.BasicLSTMCell 中num_units参数问题
这里的num_units参数并不是指这一层油多少个相互独立的时序lstm,而是lstm单元内部的几个门的参数,这几个门其实内部是一个神经网络,答案来自知乎: class TRNNConfig(obje ...
- tensorflow笔记9:nn_ops.bias_add 函数
完整代码引入:from tensorflow.python.ops import nn_ops tensorflow version:1.9 代码演示: import os import tensor ...
- tensorflow笔记3:CRF函数:tf.contrib.crf.crf_log_likelihood()
在分析训练代码的时候,遇到了,tf.contrib.crf.crf_log_likelihood,这个函数,于是想简单理解下: 函数的目的:使用crf 来计算损失,里面用到的优化方法是:最大似然估计 ...
- (四) tensorflow笔记:常用函数说明
tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) tensorflow笔记:多层CNN代码分析 (三) tensorflow笔记:多层LSTM代码分析 ...
- tensorflow笔记:多层LSTM代码分析
tensorflow笔记:多层LSTM代码分析 标签(空格分隔): tensorflow笔记 tensorflow笔记系列: (一) tensorflow笔记:流程,概念和简单代码注释 (二) ten ...
- tensorflow 生成随机数 tf.random_normal 和 tf.random_uniform 和 tf.truncated_normal 和 tf.random_shuffle
____tz_zs tf.random_normal 从正态分布中输出随机值. . <span style="font-size:16px;">random_norma ...
- tensorflow笔记(一)之基础知识
tensorflow笔记(一)之基础知识 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7399701.html 前言 这篇no ...
- tensorflow笔记(二)之构造一个简单的神经网络
tensorflow笔记(二)之构造一个简单的神经网络 版权声明:本文为博主原创文章,转载请指明转载地址 http://www.cnblogs.com/fydeblog/p/7425200.html ...
随机推荐
- 解决html5中video标签无法播放mp4问题的办法
这篇文章主要给大家介绍了关于解决html5中video标签无法播放mp4问题的办法,文中介绍的非常详细,相信会对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 最近发现了一个 ...
- flask-include标签使用标签
[footer.html] <footer> 这是底部 </footer> [header.html] <style> .nav ul{ overflow: h ...
- Django拾遗--pagination、sitemap、admin、form
Django拾遗--pagination.sitemap.admin.form pagination 其实这个分页模块的原理就是根据设定的每页条数来分割queryset.查询结果/每页子项数目=页数 ...
- Git Windows 安装
环境 Windows版本:Windows 7 旗舰版 处理器:Inte i5 系统类型:64 位操作系统 下载 Git Windows https://github.com/git-for-windo ...
- Codeforces Round #532 (Div. 2)
Codeforces Round #532 (Div. 2) A - Roman and Browser #include<bits/stdc++.h> #include<iostr ...
- 使用 IntraWeb (28) - 基本控件之 TIWTemplateProcessorHTML、TIWLayoutMgrHTML、TIWLayoutMgrForm
TIWTemplateProcessorHTML //使用外部的 html 文件做模板 TIWLayoutMgrHTML //直接输入 Html 文本做模板 TIWLayoutMgrForm //这应 ...
- pycharm如何设置python版本、设置国内pip镜像、添加第三方类库
直接上图(mac环境): 一.设置项目的python版本 File->Default Settings ... 在弹出的界面上(参考下图),左上角的下拉框里,选择python解释器的版本即可(建 ...
- wordpress模板修改及函数说明
原文:http://java-er.com/blog/wp-mb-edit/ WordPress基本模板文件 style.css : CSS(样式表)文件index.php : 主页模板archive ...
- 版本视图找不到数据 EDITIONING VIEW
Oracle database 12 以后的版本,特别在EBS R12.2.X加入了版本视图这种技术,跟MOAC有点像. CREATE OR REPLACE FORCE EDITIONING VIEW ...
- 后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况,以及解决方案
后端把Long类型的数据传给前端,前端可能会出现精度丢失的情况.例如:201511200001725439这样一个Long类型的整数,传给前端后会变成201511200001725440. 解决方法: ...