如何创建一个Tensor
一、Tensor
Tensor 即张量/多维数组/多维列表 使用阶表示张量的维数,张量可以表示0阶到n阶数组(列表)。
维数 | 阶 | 名字 | 例子 |
---|---|---|---|
0-D | 0 | 标量 | s=1、2、3 |
1-D | 1 | 向量 | v=[1,2,3] |
2-D | 2 | 矩阵 | m=[[1,2,3],[4,5,6],[7,8,9]] |
n-D | n | 张量 | t=[[[n个]]] |
二、Tensro数据类型
√tf.int32, tf.float
tf.int32、tf.float32、tf.float64
√tf.bool
tf.constant([True, False])
√tf.string
tf.constant("Hello,world!")
三、创建一个张量
tf.constant(张量内容, dtype=数据类型(可选))
a = tf.constant([1, 5],dtype=tf.int64)
print(a)
tf.Tensor([1 5], shape=(2,), dtype=int64)
print(a.dtype)
# shape中的','隔开了几个数字,逗号隔开了几个数字,张量就是几维的
print(a.shape)
(2,)
上面shape括号中用逗号隔开了一个数字,说明是一维张量;数字为2,说明张量中有两个元素,即数值1和数值5。
四、将numpy的数据类型转换为Tensor数据类型
tf.convert_to_tensor(数据名, dtype=数据类型(可选))
import numpy as np
a = np.arange(0,5)
b = tf.convert_to_tensor(a, dtype=tf.int64)
print(a)
print(b)
[0 1 2 3 4]
tf.Tensor([0 1 2 3 4], shape=(5,), dtype=int64)
五、创建全为0的张量
tf.zeros(维度)
六、创建全为1的张量
tf.ones(维度)
七、创建全为指定值的张量
tf.fill(维度, 指定值)
维度:
一维:直接写个数
二维:用[行, 列]
多维:用[n, m, j, k, ...]
a = tf.zeros([2,3])
b = tf.ones(4)
c = tf.fill([2,3], 9)
print(a)
print(b)
print(c)
tf.Tensor(
[[0. 0. 0.]
[0. 0. 0.]], shape=(2, 3), dtype=float32)
tf.Tensor([1. 1. 1. 1.], shape=(4,), dtype=float32)
tf.Tensor(
[[9 9 9]
[9 9 9]], shape=(2, 3), dtype=int32)
八、生成正态分布的随机数,默认均值为0,标准差为1
tf.random.normal(维度, mean=均值, stddev=标准差)
九、生成截断式正态分布的随机数
tf.random.truncated_normal(维度, mean=均值, stddev=标准差)
在tf.truncated_normal中,如果随机生成数据的取值在()之外,则重新进行生成,保证了生成值在均值附件。
:均值,:标准差
# 生成一个均值为0.5、标准差为1的2x2的正太分布二维数组
d = tf.random.normal([2, 2], mean=0.5, stddev=1)
print("d:\n", d)
# 生成一个均值为0.5、标准差为1的2x2的截断式正太分布二维数组
e = tf.random.truncated_normal([2, 2], mean=0.5, stddev=1)
print("e:\n", e)
d:
tf.Tensor(
[[ 0.13720763 2.9951441 ]
[ 1.7917047 -0.24494636]], shape=(2, 2), dtype=float32)
e:
tf.Tensor(
[[1.7837415 0.35566723]
[1.2258692 0.6291642 ]], shape=(2, 2), dtype=float32)
十、生成均匀分布的随机数
tf.random.uniform(维度, minval=最小值, maxval=最大值)
# 生成一个最小值为0、最大值为1的2x2的均匀分布随机数二维数组
# 最小、最大为前闭后开区间
f = tf.random.uniform([2, 2], minval=0, maxval=1)
print("f:\n", f)
f:
tf.Tensor(
[[0.9095845 0.5115448 ]
[0.26343405 0.19173217]], shape=(2, 2), dtype=float32)
01.Python随笔|抓取QQ群成员头像
02.Python随笔|抓取研招网调剂信息
03.Python随笔 | Pandas入门(一)