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模块)
- 创建一个标准正态分布:
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)'''