TensorFlow2学习笔记:1、张量生成

1、张量

TensorFlow中的张量就是一个n维的数组,类型为tf.tensor.类似于numpy中的ndarray。Tensor具有两个重要的属性,包括张量的数据类型(dtype)及张量的形状(shape)。

张量(tensor):多维数组(列表) 阶=维度
0阶 标量scalar 例如:s= 123
1阶 向量vector 例如:s= [1,2,3]
2阶 矩阵matrix 例如:s= [[1,2,3],[4,5,6]]
n阶 张量tensor 可以表示0到n阶列表

2、张量的数据类型

在这里插入图片描述

3、创建一个张量

3.1 创建任意张量

语法为:tf.constant(张量内容,dtype=数据类型(可选))
例:

import tensorflow as tf
a=tf.constant([1,5],dtype=tf.int64)
print(a)
print(a.dtype)
print(a.shape)

运行结果:
在这里插入图片描述

3.2 创建全0张量

语法:tf.zeros(维度)

  • 1维:直接写个数
  • 2维:[行,列]
  • 多维:[n,m,j,k…]
    例:
import tensorflow as tf 
a=tf.zeros([3,5])
print(a)

运行结果:
在这里插入图片描述

3.3 创建全1张量

语法:tf.ones(维度)

  • 1维:直接写个数
  • 2维:[行,列]
  • 多维:[n,m,j,k…]
    例:
import tensorflow as tf 
a=tf.ones(6)
print(a)

运行结果:
在这里插入图片描述

3.4创建全为指定值的张量

语法:tf.fill(维度,指定值)

  • 1维:直接写个数
  • 2维:[行,列]
  • 多维:[n,m,j,k…]
    例:
import tensorflow as tf 
a=tf.fill([3,6],8)
print(a)

运行结果:
在这里插入图片描述

4、numpy转换为张量

很多时候,数据都是由numpy给出的,我们可以将其转换为一个张量(tensor)

语法:tf.convert_to_tensor(数据名,dtype=数据类型(可选))

例:

import tensorflow as tf
import numpy as np
a=np.arange(0,5)
b=tf.convert_to_tensor(a,dtype=tf.int64)
print(a)
print(b)

运行结果:
在这里插入图片描述

5、生成正态分布随机数张量

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

import tensorflow as tf 
a=tf.random.normal([2,2],mean=0.5,stddev=1)
print(a)

运行结果:
在这里插入图片描述

6、生成截断式正态分布随机数张量

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

import tensorflow as tf 
a=tf.random.truncated_normal([2,2],mean=0.5,stddev=1)
print(a)

运行结果:
在这里插入图片描述

7、生成均匀分布随机数张量

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

import tensorflow as tf 
a=tf.random.uniform([2,4],minval=0,maxval=1)
print(a)

运行结果:
在这里插入图片描述