Tensorflow入门(一)

记录一下最近在学的Tensorflow
1)Tensor代表张量,阶代表张量的维数,张量可以表示从0阶到n阶的数组或列表。
比如:m=[1,2,3]代表1阶数组;
n=[[1,2,3],[4,5,6]]代表2阶数组;
所以:t=[[[ //有几个中括号就代表几阶数组
下面创建一个张量

import tensorflow as tf

a = tf.constant([[1,2,3],[4,5,6]],dtpye=tf.int32)
print("a.shape",a.shape)
print("a.dtype",a.dtype)

输出结果为:a.shape: (2,3) a.dtype: int32

shape:用逗号隔开了几个数字就指该张量是几维的,本例中隔开了两个数字,所以是二维的,并且是两行三列的。
假如输入的张量为[[[1,2,3,1],[4,5,6,1],[7,8,9,1]],[[1,2,3,1],[4,5,6,1],[7,8,9,1]]]
则其shape为(2, 3, 4)

2)

# 创建一个全为0的张量
a = tf.zeros(2)
# 创建一个全为1的张量
b = tf.ones([3,4])
# 创建一个全为指定值的张量
c = tf.fill([2,2,2],9)

打印结果输出如下:

a: [0. 0.]
b: [[1. 1. 1. 1.]
 [1. 1. 1. 1.]
 [1. 1. 1. 1.]]
c: [[[9 9]
  [9 9]]

 [[9 9]
  [9 9]]]

小结:生成一维的张量则直接输入数字,二维张量则中括号内对应行数和列数,n维向量则中括号内对应每一维度的维数。

3)生成正态分布的随机数:
tf.random.normal(维度,mean=均值,stddev=标准差);//默认均值为0,标准差为1
若想要随机生成的张量取值在(μ-2σ,μ+2σ)之间,则应使用tf.random.truncated_normal(维度,mean=均值,stddev=标准差)

import tensorflow as tf

a = tf.random.normal([2,])
b = tf.random.truncated_normal([2,2],mean=0.5,stddev=1)
print("a:",a)
print("b:",b)

输出结果如下:

a: [0.44777444 0.18542671]
b: [[ 1.6830496   0.01254684]
 [-0.5205568  -0.26113653]]

生成均匀分布的随机数:
tf.random.uniform(维数,minval=最小值,maxval=最大值)

import tensorflow as tf

a = tf.random.uniform([2,2],minval=0,maxval=1)
print("a:",a)

输出结果的两行两列二维数组的每个值均在[0,1)之间

f: [[0.60884523 0.1952107 ]
 [0.11723614 0.2950511 ]]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值