tensor 增加一维度_Tensorflow 2.0 学习笔记(一)

这篇博客介绍了Tensorflow 2.0中创建和操作张量的基本方法,包括创建一维和多维张量、转换numpy数据类型、生成不同分布的随机张量等。
摘要由CSDN通过智能技术生成

如何创建一个Tensor

一、Tensor

Tensor 即张量/多维数组/多维列表 使用阶表示张量的维数,张量可以表示0阶到n阶数组(列表)。

维数名字例子
0-D0标量s=1、2、3
1-D1向量v=[1,2,3]
2-D2矩阵m=[[1,2,3],[4,5,6],[7,8,9]]
n-Dn张量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)


d1ee8f57b9f33099a5e1986fe4469b78.png

630d8ccdf155b60d6d12801c06ae8184.gif

01.Python随笔|抓取QQ群成员头像

02.Python随笔|抓取研招网调剂信息

03.Python随笔 | Pandas入门(一)

4a503d2a0fec52becfd4f893bf262f13.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值