1.tf.convert_to_tensor:传入的list必须是一个有固定长度的list,如果为2维的list,第二维的list的长度必须是固定。

2.tf.layers.conv1d(),默认宽卷积,里面的参数filter_size,为卷积核的height,而卷积核的width为输入的width

传入的是一个[batch_size,width,height],输出的是一个[batch_size,height,filter_num]

3.tf.layers.conv2d(),里面的参数filter_size为一个tuple,为卷积核的大小

传入的是一个[batch_size,width,height,channel_num],输入的是一个[batch_size,after_conv_width,afer_conv_height,filter_num]

4.tf.stack():拼接矩阵,可以指定维数,如果指定维数的话,那么拼接的就是指定维数的数据,如果不指定维数,那么就是拼接全部。

5.tf.unstack():拆解一个矩阵,可以指定维度。

tensorflow tf.split 和 tf.unstack 实例

import tensorflow as tf

A = [[1, 2, 3], [4, 5, 6]]
a0 = tf.split(A, num_or_size_splits=3, axis=1)
a1 = tf.unstack(A, num=3,axis=1)
a2 = tf.split(A, num_or_size_splits=2, axis=0)
a3 = tf.unstack(A, num=2,axis=0)
with tf.Session() as sess:
print(sess.run(a0))
print(sess.run(a1))
print(sess.run(a2))
print(sess.run(a3))

[array([[1],[4]]), array([[2],[5]]), array([[3],[6]])] 
[array([1, 4]), array([2, 5]), array([3, 6])] 
[array([[1, 2, 3]]), array([[4, 5, 6]])] 
[array([1, 2, 3]), array([4, 5, 6])]

tf.squeeze()

去掉维数为1的维度。 
举个栗子:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t)) # [2, 3]

也可以指定去掉哪个维度:

# 't' is a tensor of shape [1, 2, 1, 3, 1, 1]
tf.shape(tf.squeeze(t, [2, 4])) # [1, 2, 3, 1]

6.tf.assign()

https://www.jianshu.com/p/fc5f0f971b14

7.当出现变量已经存在时,要添加tf.name_scope()

8.tf.multiply() 点乘, 区别于tf.matul

  a.如果是一个矩阵乘以一个数,矩阵里面每一个数都乘以这个数。

  b.可以一个数乘以一个数

9.tf.contrib.rnn.static_bidirectional_rnn:组合正序和逆序,输入: [sequence_length, batch_size, hidden_size],输出: [sequence, batch_size, 2 * output_size], forward_state: [batch_size, 2 * output_size], backward_size: [batch_size, 2 * output_size]

encoder_outputs, forward_state, backward_state = rnn.static_bidirectional_rnn(forward_cell,
backward_cell, input_content_emb, dtype=tf.float32,
sequence_length=self.config.sequence_length)

10.tf.greater():

  tf.greater 的输入是两个张量,此函数会比较这两个输入张量中每一个元素的大小,并返回比较结果。当tf.greater 的输入张量维度不一样时, Ten sorFlow 会进行类似NumPy 广播操作( broadcasting )的处理。

11.tf.where()

  tf.where函数有三个参数。第一个为选择条件根据, 当选择条件为True 时, tf.where 函数会选择第二个参数中的值, 否则使用第三个参数中的值。

12.tf.train.exponential decay()

  

  1.learning_rate:初始化的学习率

  2.global_step:当前的步数

  3.decay_steps:多少步衰减一次。

  4.decay_rate: 衰减率

  5.staricase:是否为阶梯衰减,设计为True的话, decay_steps=len(dataset)/len(batch)

13.tf.contrib.layers.l2_regularizer(weight_decay)(weight)/tf.contrib.layers.l1_regularizer(weight_decay)(weight)

  正则化,下图为实例:

14. tf.variable_scope() tf.get variable()

15. tf.abs() 求绝对值

16. tf.tile()

tf.tile(
input, #输入
multiples, #某一维度上复制的次数
name=None
)
import tensorflow as tf
a = tf.tile([1,2,3],[2])
b = tf.tile([[1,2],
[3,4],
[5,6]],[2,3])
with tf.Session() as sess:
print(sess.run(a))
print(sess.run(b))

17. tf.einsum()

# Matrix multiplication
>>> einsum('ij,jk->ik', m0, m1) # output[i,k] = sum_j m0[i,j] * m1[j, k] # Dot product
>>> einsum('i,i->', u, v) # output = sum_i u[i]*v[i] # Outer product
>>> einsum('i,j->ij', u, v) # output[i,j] = u[i]*v[j] # Transpose
>>> einsum('ij->ji', m) # output[j,i] = m[i,j] # Batch matrix multiplication
>>> einsum('aij,ajk->aik', s, t) # out[a,i,k] = sum_j s[a,i,j] * t[a, j, k]

Tensorflow 方法记录的更多相关文章

  1. TensorFlow使用记录 (六): 优化器

    0. tf.train.Optimizer tensorflow 里提供了丰富的优化器,这些优化器都继承与 Optimizer 这个类.class Optimizer 有一些方法,这里简单介绍下: 0 ...

  2. EF里查看/修改实体的当前值、原始值和数据库值以及重写SaveChanges方法记录实体状态

    本文目录 查看实体当前.原始和数据库值:DbEntityEntry 查看实体的某个属性值:GetValue<TValue>方法 拷贝DbPropertyValues到实体:ToObject ...

  3. 64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录

    64位 SQL Server2008链接访问Oracle 过程汇总解决方法记录 经过几天不停的网上找资料,实验,终于联通了. 环境:系统:win 2008 ,SqlServer2008 R2, 连接O ...

  4. js实用方法记录-js动态加载css、js脚本文件

    js实用方法记录-动态加载css/js 附送一个加载iframe,h5打开app代码 1. 动态加载js文件到head标签并执行回调 方法调用:dynamicLoadJs('http://www.yi ...

  5. js实用方法记录-简单cookie操作

    js实用方法记录-简单cookie操作 设置cookie:setCookie(名称,值,保存时间,保存域); 获取cookie:setCookie(名称); 移除cookie:setCookie(名称 ...

  6. js实用方法记录-指不定哪天就会用到的js方法

    js实用方法记录-指不定哪天就会用到的js方法 常用或者不常用都有 判断是否在微信浏览器中 测试代码:isWeiXin()==false /** * 是否在微信中 */ function isWeix ...

  7. Java给各个方法记录执行时间

    Java给各个方法记录执行时间 long startTime = System.currentTimeMillis();...//要测试时间的方法LoggerFactory.getLogger(Bas ...

  8. tensorflow简单记录summary方法

    虽然tf官方希望用户把 train , val 程序分开写,但实际开发中,明显写在一起比较简单舒服,但在保存数据到 summary 时, val 部分和 train 部分不太一样,会有一些问题,下面讨 ...

  9. TensorFlow使用记录 (二): 理解tf.nn.conv2d方法

    方法定义 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format="NHWC&quo ...

随机推荐

  1. noip第10课作业

    1.     统计不同类型字符出现次数 [问题描述] 输入一个字符串(假设长度不超过1000个字符),统计其中大写,小写,数字,其他字符出现的次数. [样例输入]Hello,what are you ...

  2. setTimeout问题

    function fn(argu1){ alert(argu1); } setTimeout(fn, 1000, 12); setTimeout从第三个参数开始,之后的参数都是fn的.fn不用加(), ...

  3. smarty-2014-02-28

    使用smarty,在tpl文件中如何使用相对路径调用css&javascript文件,实际上这个相对路径的参照物就是以调用该tpl文件的php文件来写. 假如,我在index.php这个文件中 ...

  4. session token防表单重提

    1.表单页面初始化前,先在session存入一个token值,随后把token存放在表单页面隐藏表单域内,开始初始化: 在表单页初始化前,调用ajax请求,在后台生成token,并返回至表单页 fun ...

  5. jvm 中的 ”永生代“

    “方法区” 主要存储的信息包括:常量信息,类信息,方法信息,而且是全局共享的(多线程共享): jvm 有多种实现方式(不同的厂商): 并不是所有的jvm 都有永生代的概念: 通常情况下, 很多人把 “ ...

  6. 限制用户不能删除SharePoint列表中的条目(项目)

    概述 SharePoint列表提供了一个用于在线协作的电子表格,不同的用户可以同时在不同的地方编辑一套数据. 列表功能在收集用户信息.提供审批流程方面为办公人员提供了非常便捷的好处. 既然是协作办公, ...

  7. LeetCode136:Single Number

    题目: Given an array of integers, every element appears twice except for one. Find that single one. No ...

  8. Android开发基于百度地图的乘车助手

    写在前面: 出去玩免不了挤公交.等地铁,不知道乘车方案当然不行,用官方APP吧,缺点一大堆,手机浏览器在线查的话既慢又麻烦...为了解决这些问题,我们来做一个简版的出行助手,嘛嘛再也不用担心我会迷路了 ...

  9. JS里关于特殊字符的转义

    重定向的url里含有百分号“%”,遇到了apache 找不到该文件的报错.通过查询相关文档,知道了原来是url里含有特殊字符要转码才能定位到正确的地址.比如"%"要转码为" ...

  10. ASP.NET网页VS利用文件系统发布

    1.点击发布 2.选择发布方式,这里选择文件系统,并选择发布的路径 3.配置相关参数 4.点击发布按钮 5.发布成功后文件夹下生成的文件 ..