tensorflow2.0---张量的创建以及tf的简单操作

1.tf2的’hello world’

在电脑上安装tensorflow2.0即可,安装教程网上很多,在此不再赘述。安装之后:

import tensorflow as tf    #引入tensorflow
print(tf.__version__)      #查看tensorflow版本号
print(tf.test.is_gpu_available())#如果是安装的gpu版本,用来查看gpu是否可用,cpu版本无需使用。

敲完这些代码恭喜你,你已经入门了。

2.创建张量

a=tf.constant(value,dtype,shape)
这里的value可以是数字,python列表或者是numpy数组,就是将这些数据类型转换成tf的张量。
下面是其他的一些基本用法:

b=tf.cast(x,dtype)  #改变张量x中的元素的数据类型,注意,只能由低精度向高精度转化。例如b=tf.cast(x,float)
a=tf.zero(shape,dtype)#创建一个shape形状的全为0元素的张量,dtype='tf.float32'为默认,可以自己进行设定。
a=tf.ones(shape,dtype)#一个全为1的数列。设置shape时[2,1]与shape=(2,1)都可以。
a=tf.fill(shape,value)#设置shape形状的值全为value的张量。与tf.constant(value,shape)效果相同。

3.创建随机数张量–正态分布(tf.random模块)

  1. 创建一个标准正态分布:
a=tf.random.normal(shape=(3,2),mean=2,stddev=1,dtype=tf.float32)#创建一个标准正态分布
print(a)
'''tf.Tensor(
[[ 2.9450698   3.866611  ]
 [ 2.2408175  -0.6517458 ]
 [ 0.75948405  2.0843022 ]], shape=(3, 2), dtype=float32)'''

2.创建一个截断正态分布:

b=tf.random.truncated_normal(shape=(3,2),mean=2,stddev=1,dtype=tf.float32)#创建一个截断正态分布,返回一个截断的正态分布,截断标准是标准差的二倍
#例如,当均值为0,标准差为1的时候。
#使用tf.random.normal,可能产生[-2,2]以外的点,而tf.random.truncated_normal不会产生
print(b)
'''tf.Tensor(
[[1.7126925 2.2421253]
 [0.9646802 1.2106369]
 [2.2842855 1.8816397]], shape=(3, 2), dtype=float32)'''

3.创建一个均匀分布张量:

a=tf.random.uniform(shape=(2,3),minval=1,maxval=4,dtype=tf.float32)#创建均匀分布张量(注意,均匀不是等差的意思)
#minval 最小值,maxval 最大值
print(a)
'''tf.Tensor(
[[2.2526538 3.626397  2.579048 ]
 [2.0521376 2.846468  3.7294245]], shape=(2, 3), dtype=float32)'''

4.随机打乱数组:

a=tf.random.shuffle(a)#随机打乱数组,注意,只打乱第一维元素
print(a)
'''打乱前
tf.Tensor(
[[2.1535096 1.8514007 1.4429854]
 [3.153018  1.5212948 2.446128 ]], shape=(2, 3), dtype=float32)
 打乱后(位置是随机变化的,所以只有一维只有两个元素时有时候不变,这里变了)
tf.Tensor(
[[3.153018  1.5212948 2.446128 ]
 [2.1535096 1.8514007 1.4429854]], shape=(2, 3), dtype=float32)'''

5.创建序列:

a=tf.range(start=1,limit=5,delta=1,dtype=tf.float32)#序列是等距的,就是等差,同样包括start,不包括limit.(取头不取尾)
#简单就是a=tf.range(10)输出从0到9的数
print(a)
'''tf.Tensor([1. 2. 3. 4.], shape=(4,), dtype=float32)'''
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值