Tensorflow的常用矩阵生成方式

我就废话不多说了,直接上代码吧!

#全0和全1矩阵

v1 = tf.Variable(tf.zeros([3,3,3]), name="v1") 

v2 = tf.Variable(tf.ones([10,5]), name="v2") 

#填充单值矩阵
v3 = tf.Variable(tf.fill([2,3], 9)) 

#常量矩阵
v4_1 = tf.constant([1, 2, 3, 4, 5, 6, 7])
v4_2 = tf.constant(-1.0, shape=[2, 3]) 

# 和v4_1形状一样的全1或全0矩阵

v5_1=tf.ones_like(v4_1)

v5_2=tf.zeros_like(v4_1) 

#生成等差数列
v6_1 = tf.linspace(10.0, 12.0, 30, name="linspace")#float32 or float64
v7_1 = tf.range(10, 20, 3)#just int32 

#生成各种随机数据矩阵 

#平均分布

v8_1 = tf.Variable(tf.random_uniform([2,4], minval=0.0, maxval=2.0, dtype=tf.float32, seed=1234, name="v8_1"))
#正态分布

v8_2 = tf.Variable(tf.random_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_2")) 

#正态分布,但是去掉2sigma外的数字

v8_3 = tf.Variable(tf.truncated_normal([2,3], mean=0.0, stddev=1.0, dtype=tf.float32, seed=1234, name="v8_3")) 

#把这3个行重排列
v8_5 = tf.random_shuffle([[1,2,3],[4,5,6],[6,6,6]], seed=134, name="v8_5")

以上都是计算图中的变量,需要sess.run()以后才能成为真正的数据

存取方式是:

np.save("v1.npy",sess.run(v1))#numpy save v1 as file
test_a = np.load("v1.npy")
print test_a[1,2] 

这篇Tensorflow的常用矩阵生成方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 详解tensorflow训练自己的数据集实现CNN图像分类

    利用卷积神经网络训练图像数据分为以下几个步骤 1.读取图片文件 2.产生用于训练的批次 3.定义训练的模型(包括初始化参数,卷积.池化层等参数.网络) 4.训练 1 读取图片文件 def get_files(filename): class_train = [] label_train = [] for train_class in os.listdir(filename): for pic in os.listdir(filename+train_class): class_train.app

  • 将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例

    在神经网络计算过程中,经常会遇到需要将矩阵中的某些元素取出并且单独进行计算的步骤(例如MLE,Attention等操作).那么在 tensorflow 的 Variable 类型中如何做到这一点呢? 首先假设 Variable 是一个一维数组 A: import numpy as np import tensorflow as tf a = np.array([1, 2, 3, 4, 5, 6, 7, 8]) A = tf.Variable(a) 我们把我们想取出的元素的索引存到 B 中,如果我

  • tensorflow之获取tensor的shape作为max_pool的ksize实例

    实验发现,tensorflow的tensor张量的shape不支持直接作为tf.max_pool的参数,比如下面这种情况(一个错误的示范): self.max_pooling1 = tf.nn.max_pool(self.l_6, ksize = [1, tf.shape(self.F1)[0], 1, 1], strides = [1, 1, 1, 1], padding = 'VALID', name = 'maxpool1') 我在max_pool的过程中想对特征每一列进行max_pool

  • tensorflow实现tensor中满足某一条件的数值取出组成新的tensor

    首先使用tf.where()将满足条件的数值索引取出来,在numpy中,可以直接用矩阵引用索引将满足条件的数值取出来,但是在tensorflow中这样是不行的.所幸,tensorflow提供了tf.gather()和tf.gather_nd()函数. 看下面这一段代码: import tensorflow as tf sess = tf.Session() def get_tensor(): x = tf.random_uniform((5, 4)) ind = tf.where(x>0.5)

  • Tensorflow的常用矩阵生成方式

    我就废话不多说了,直接上代码吧! #全0和全1矩阵 v1 = tf.Variable(tf.zeros([3,3,3]), name="v1") v2 = tf.Variable(tf.ones([10,5]), name="v2") #填充单值矩阵 v3 = tf.Variable(tf.fill([2,3], 9)) #常量矩阵 v4_1 = tf.constant([1, 2, 3, 4, 5, 6, 7]) v4_2 = tf.constant(-1.0,

  • TensorFlow和Numpy矩阵操作中axis理解及axis=-1的解释

    目录 1. axis的基本使用 2. 对axis的理解 总结 参考资料 1. axis的基本使用 axis常常用在numpy和tensorflow中用到,作为对矩阵(张量)进行操作时需要指定的重要参数之一.设定axis=-1,0,1...,用来指定执行操作的数据如何划分. 一句话解释:设axis=i,则沿着第i个下标变化的方向进行操作![1] 简单例子就不举了,其他博客有很多,这里举一个稍微复杂一点的三维矩阵的例子: 设embeddings是一个shape=[3,4,5]的矩阵,如下: embe

  • Tensorflow矩阵运算实例(矩阵相乘,点乘,行/列累加)

    Tensorflow二维.三维.四维矩阵运算(矩阵相乘,点乘,行/列累加) 1. 矩阵相乘 根据矩阵相乘的匹配原则,左乘矩阵的列数要等于右乘矩阵的行数. 在多维(三维.四维)矩阵的相乘中,需要最后两维满足匹配原则. 可以将多维矩阵理解成:(矩阵排列,矩阵),即后两维为矩阵,前面的维度为矩阵的排列. 比如对于(2,2,4)来说,视为2个(2,4)矩阵. 对于(2,2,2,4)来说,视为2*2个(2,4)矩阵. import tensorflow as tf a_2d = tf.constant([

  • Tensorflow tf.dynamic_partition矩阵拆分示例(Python3)

    先给出一个样例看看 import tensorflow as tf raw = tf.constant([1, 2, 3, 4, 5, 6, 6, 5, 4, 3, 2, 1]) ''' 拆成 [1,2] [3,4] [5,6] [6,5] [4,3] [2,1] ''' result_1 = tf.dynamic_partition(tf.reshape(raw, [6,2]),[0, 1, 2, 3, 4, 5], 6) ''' 拆成 [1, 2, 3, 4, 5, 6] [6, 5, 4,

  • 在TensorFlow中实现矩阵维度扩展

    一般TensorFlow中扩展维度可以使用tf.expand_dims().近来发现另一种可以直接运用取数据操作符[]就能扩展维度的方法. 用法很简单,在要扩展的维度上加上tf.newaxis就行了. foo = tf.constant([[1,2,3], [4,5,6], [7,8,9]]) print(foo[tf.newaxis, :, :].eval()) # => [[[1,2,3], [4,5,6], [7,8,9]]] print(foo[:, tf.newaxis, :].eva

  • python神经网络TensorFlow简介常用基本操作教程

    目录 要将深度学习更快且更便捷地应用于新的问题中,选择一款深度学习工具是必不可少的步骤. TensorFlow是谷歌于2015年11月9日正式开源的计算框架.TensorFlow计算框架可以很好地支持深度学习的各种算法. TensorFlow很好地兼容了学术研究和工业生产的不同需求. 一方面,TensorFlow的灵活性使得研究人员能够利用它快速实现新的模型设计: 另一方面,TensorFlow强大的分布式支持,对工业界在海量数据集上进行的模型训练也至关重要.作为谷歌开源的深度学习框架,Tens

  • tensorflow常用函数API介绍

    摘要:本文介绍了tensorflow的常用函数. 1.tensorflow常用函数 TensorFlow 将图形定义转换成分布式执行的操作, 以充分利用可用的计算资源(如 CPU 或 GPU.一般你不需要显式指定使用 CPU 还是 GPU, TensorFlow 能自动检测.如果检测到 GPU, TensorFlow 会尽可能地利用找到的第一个 GPU 来执行操作. 并行计算能让代价大的算法计算加速执行,TensorFlow也在实现上对复杂操作进行了有效的改进.大部分核相关的操作都是设 备相关的

  • C语言科学计算入门之矩阵乘法的相关计算

    1.矩阵相乘 矩阵相乘应满足的条件: (1) 矩阵A的列数必须等于矩阵B的行数,矩阵A与矩阵B才能相乘: (2) 矩阵C的行数等于矩阵A的行数,矩阵C的列数等于矩阵B的列数: (3) 矩阵C中第i行第j列的元素等于矩阵A的第i行元素与矩阵B的第j列元素对应乘积之和,即 如: 则: 2. 常用矩阵相乘算法     用A的第i行分别和B的第j列的各个元素相乘求和,求得C的第i行j列的元素,这种算法中,B的访问是按列进行访问的,代码如下: void arymul(int a[4][5], int b[

  • Java基于动态规划法实现求最长公共子序列及最长公共子字符串示例

    本文实例讲述了Java基于动态规划法实现求最长公共子序列及最长公共子字符串.分享给大家供大家参考,具体如下: 动态规划法 经常会遇到复杂问题不能简单地分解成几个子问题,而会分解出一系列的子问题.简单地采用把大问题分解成子问题,并综合子问题的解导出大问题的解的方法,问题求解耗时会按问题规模呈幂级数增加. 为了节约重复求相同子问题的时间,引入一个数组,不管它们是否对最终解有用,把所有子问题的解存于该数组中,这就是动态规划法所采用的基本方法. [问题] 求两字符序列的最长公共字符子序列 问题描述:字符

  • python sklearn包——混淆矩阵、分类报告等自动生成方式

    preface:做着最近的任务,对数据处理,做些简单的提特征,用机器学习算法跑下程序得出结果,看看哪些特征的组合较好,这一系列流程必然要用到很多函数,故将自己常用函数记录上.应该说这些函数基本上都会用到,像是数据预处理,处理完了后特征提取.降维.训练预测.通过混淆矩阵看分类效果,得出报告. 1.输入 从数据集开始,提取特征转化为有标签的数据集,转为向量.拆分成训练集和测试集,这里不多讲,在上一篇博客中谈到用StratifiedKFold()函数即可.在训练集中有data和target开始. 2.

随机推荐