tf基础

tf张量

张量在深度学习中非常重要,它是tf的核心组件之一,可以将其简单理解为多维数组。在tf中,0阶张量表示标量scalar,一个标量便是一个单独的数,是计算的最小单元,第一阶张量为向量,向量是由多个标量构成的一维数组,其中的标量是有序排列的;第n阶张量可以理解为一个n维数组。但张量中实际并没有真正的保存数字,只是保存了如何得到这些数字的计算过程,在tf中的实现并不是直接采用数组的形式,它只是对tf中运算结果的引用。

以下的例子创建了不同的张量,创建具体张量的方法没有仔细说明,用到的画百度即可,比较简单

import tensorflow as tf
sess = tf.Session()
x = tf.constant([3.0,2.0],name="x")
y = tf.constant([4.0,5.0],name="y")
result = tf.add(x,y,name="add")
print(sess.run(result))

zero_tensor = tf.zeros([2,3])
print(sess.run(zero_tensor))
print(zero_tensor)


filled_tensor = tf.fill([2,2],3)
print(sess.run(filled_tensor))

constant_tensor = tf.constant([1,2,3])
print(sess.run(constant_tensor))

zeros_similar = tf.zeros_like(constant_tensor)
one_similar = tf.ones_like(constant_tensor)

print(sess.run(zeros_similar),sess.run(one_similar))


linear_tensor = tf.linspace(start=0.0,stop=1.0,num=3)
sequence_tensor = tf.range(start=0,limit=10,delta=3)

print(sess.run(linear_tensor),sess.run(sequence_tensor))

randuniform_tensor = tf.random_uniform([2,2],minval=0.0,maxval=1.0)#均匀分布
print("均匀分布")
print(sess.run(randuniform_tensor))

randnormal_tensor = tf.random_normal([2,2],mean=1.0,stddev=1.0)
print("正态分布")
print(sess.run(randnormal_tensor))

truncnormal_tensor = tf.truncated_normal([2,2],mean=0.0,stddev=1.0)
print("指定区间正态分布")
print(sess.run(truncnormal_tensor))

shuffle_output = tf.random_shuffle([[1,2],[3,4],[5,6]])
print("随机打乱")
print(sess.run(shuffle_output))




cropped_output = tf.random_crop([[1,2],[3,4],[5,6],[7,8]],[2,2])
print("随机裁剪")
print(sess.run(cropped_output))

输出:
在这里插入图片描述

在tf中,张量主要有两种用途
1.对中间结果的引用。
2.在计算图构造完成后,通过张量来获取其中的计算结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值