其他分享
首页 > 其他分享> > Tensorflow2.0张量生成

Tensorflow2.0张量生成

作者:互联网

 

Tensorflow

1、tensor就是张量,多维数组,多维列表,阶表示张量的维数(dimension)

维数

名字

例子

0-D

0

标量scalar

s=1 2 3

1-D

1

向量vector

V=[1,2,3]

2-D

2

矩阵matrix

m=[[1,2,3],[4,5,6],[7,8,9]]

n-D

n

张量tensor

t=[[[

2、数据类型

tf.int,tf.float……

tf.int32 tf.float32 tf.float64

tf.bool

tf.constant([True,False])

tf.string

tf.constant(“Hello,world!”)

3、创建一个张量

tf.constant(张量内容,dtype=数据类型(可选))

 

import tensorflow as tf

a = tf.constant([1,5],dtype=tf.int64)

print(a)

print(a.shape)

print(a.dtype)

运行结果:

 

 

 

创建全为0的张量

tf.zeros(维度)

创建全为1的张量

tf.ones(维度)

创建全为指定值的张量

tf.fill(维度,指定值)

 

a = tf.zeros([2,3])

b = tf.ones(4)

c = tf.fill([2,2],9)

print(a)

print(b)

print(c)

运行结果:

 

 

 

创建一个Tensor

生成正态分布的随机数,默认均值为0,标准差1

tf.random.normal(维度,mean=均值,stddev=标准差)

生成截断式正态分布的随机数

tf.random.truncated_normal(维度,mean=均值,stddev=标准差)

 

在tf.truncated_normal中如果生成了随机生成数据的取值在()之间

d = tf.random. normal([2,2],mean = 0.5,stddev=1)

 

e = tf.random.truncated_normal([2,2],mean=0.5,stdde

 

 

生成指定维度的均匀分布随机数[minval,maxval]

tf.random.uniform(维度,minval=最小值,maxval=最大值)

tf.random,uniform([2,2],minval=0,maxval=1)

print(f)

 

4、常用函数

强制tensor转换为该数据类型

tf.cast(张量名,dtype=数据类型)

计算张量维度上元素的最小值

tf.reduce_min(张量名)

计算张量维度上元素的最大值

tf.reduce_max(张量名)

 

x1=tf.constant([1.,2.,3.],

dtype=tf.float64)

print(x1)

x2 = tf.cast(x1,tf.int32)

print(x2)

 

print(tf.reduce_min(x2),

tf.reduce_max(x2))

 

切分传入张量的第一维度,生成输入特征/标签对,构建数据集

data = tf.data.Dataset.from_tensor_slices((输入特征,标签))

features = tf.constant([12,23,10,17])

labels = tf.constant([0,1,1,0])

dataset = tf.data.Dataset.from_tensor_slices((features,labels))

print(dataset)

for element in dataset:

   print(element)

 

 

标签:random,constant,print,张量,生成,Tensorflow2.0,维度,tf
来源: https://www.cnblogs.com/yuchenking/p/15935408.html