tensor数据类型,数据转换和新建数据操作

前言

tensor数据类型,是TensorFlow框架方便适应内部API接口计算的一种数据类型。从某种程度说,其功能和作用与numpy数据类型相同。本文介绍了tensor数据类型的种类和转换,新建等常用且基本的操作:

正文

标量:1.1
向量:[1.1,1.2]
矩阵:[[1.1,1.2],[2.1,2.2]]
张量: 维度>3

import tensorflow as tf
import numpy as np

#转换

a = np.array(5)#建立一个numpy类型的数据,默认是int64
aa = tf.convert_to_tensor(a)#将numpy类型转换成tensor类型
tf.cast(aa,dtype=tf.float32)#将整形数据转换成浮点型
tf.cast(aa,dtype=tf.double)#将浮点型数据转换成双精度浮点型
tf.cast(aa,dtype=tf.bool)#将双精度浮点型数据转换成布尔型

aa.device#查看aa是cup还是gpu上的数据
aa.shape#查看aa的形状(维度信息)
b = tf.Variable(aa)#使aa具有可求导属性,并赋值给b;方便b在之后函数里的自动求导

#新建

tf.zeros([])#新建一个标量:0
tf.zeros([1])#新建一个向量:(0)
tf.zeros([1,2])#新建一个一行两列的全0矩阵
tf.zeros([2,3,3])#新建一个空间维度的全0张量
#注意 2,3,3是描述数据的形状信息,不是具体的数据
tf.ones([])#新建全1数据,方法同上

tf.fill([2,2],9)#新建一个2*2的矩阵,数据全为9

tf.random.normal([2,2],mean=1,stddev=1)#新建一个数据分布是正态分布类型的随机2*2矩阵
tf.random.truncated_normal([2,2],mean=1,stddev=1)#新建一个数据分布是截断式正态分布的随机2*2矩阵,为了适应sigmod函数梯度消失的现象
tf.random.uniform([2,2],minval=0,maxval=1)#新建一个数据分布是0-1之间的均匀分布的随机2*2矩阵


猜你喜欢

转载自blog.csdn.net/qq_39297053/article/details/109282076
今日推荐