tensorflow基础学习

Tensorflow支持的三种类型张量:
1、常量:值不能改变的张量。
2、变量:值会改变的张量,在使用前需要被显示初始化。
3、占位符:用于将值输入Tensorflow图中,在会话中会提前占位,但是在运行前还没有赋值,不需要初始化。

Tensorflow常量:
tf.constant():构建一个常量。
tf.zeros([M,N],tf.dtype):构建一个所有元素为零的MxN矩阵,元素类型为tf.dtype,可以是int32,float32。
tf.ones([M,N],tf.dtype):同上,构建的是全一。
tf.zeros_like(t):构建和t一样大小,数据类型的全零张量。
tf.ones_like(t):同上全一。
tf.linspace(start,stop,num):从start开始,以(stop-start)/(num-1)为一步,到stop,包括stop。
tf.range(t):构建一个从0开始到t-1的张量,不包含t。
tf.random_normal([M,N],mean,stddev,seed):构建一个形状为[M,N]的正态分布的随机数组。
tf.truncated_normal([M,N],stddev,seed):构建一个形状为[M,N]的截尾正态分布的随机数组,截尾正态分布是正态分布的一种变形。
tf.random_uniform([M,N],minval=0,maxval,seed):构建一个种子在[minval,maxval]范围内形状为[M,N]的伽马分布数组。
tf.random_crop(t_random,[M,N],seed):将给定的张量随机裁剪为指定大小,这里,t_random 是一个已经定义好的张量。这将导致随机从张量 t_random 中裁剪出一个大小为 [M,N] 的张量。
tf.random_shuffle(t_random):构建一个沿着它的第一维随机重新排列的张量。
tf.set_random_seed(整数常量):为会话中或者多次运行获得相同的随机数,可使用这个。

Tensorflow变量:
变量由变量类tf.Variable()来创建,定义前需要初始化,可用常量/随机数初始化变量,也可用变量初始化变量。
rand_t=tf.random_random_uniform([M,N],minval,maxval,seed)
t_a=tf.Variable(rand_t)
t_b=tf.Variable(rand_t)
变量t_a和t_b将被初始化为形状为[M,N]的随机均匀分布,最小值为minval,最大值为maxval。
Note:变量通常在神经网络中表示权重和偏置。
weights=tf.Variable(tf.random_normal([100,100],stddev=2))
bias=tf.Variable(tf.zeros[100],name=‘biases’)
用变量初始化变量,
weights=tf.Variable(weights.initialized_value(),name=‘w2’)

保存变量:
saver=tf.train.Saver()

Tensorflow占位符:
用于将数据提供给计算图
tf.placeholder(dtype,shape=None,name=None):dtype指定占位符的数据类型,并且必须在声明占位符时指定。

解读分析:
需要注意的是,所有常量、变量和占位符将在代码的计算图部分中定义。如果在定义部分使用 print 语句,只会得到有关张量类型的信息,而不是它的值。为了得到相关的值,需要创建会话图并对需要提取的张量显式使用运行命令,如下所示:
print(sess.run(t_1)
)#Will print the value of t_1 defined in step 1

很多时候需要大规模的常量张量对象;在这种情况下,为了优化内存,最好将它们声明为一个可训练标志设置为 False 的变量:
t_large = tf.Varible(large_array,trainable = False)
TensorFlow 被设计成与 Numpy 配合运行,因此所有的 TensorFlow 数据类型都是基于 Numpy 的。使用 tf.convert_to_tensor() 可以将给定的值转换为张量类型,并将其与 TensorFlow 函数和运算符一起使用。该函数接受 Numpy 数组、Python 列表和 Python 标量,并允许与张量对象互操作。
下表列出了 TensorFlow 支持的常见的数据类型:
在这里插入图片描述
请注意,与 Python/Numpy 序列不同,TensorFlow 序列不可迭代。

发布了16 篇原创文章 · 获赞 2 · 访问量 3926

猜你喜欢

转载自blog.csdn.net/qq_36342034/article/details/104233330
今日推荐