Tensorflow基础知识学习笔记

关于张量:
对Tensorflow中tensor的理解

1.Tensor

tf.ones | tf.zeros

tf.ones(shape,type=tf.float32,name=None)
tf.zeros([2, 3], int32)

import os
os.environ["TF_CPP_MIN_LOG_LEVEL"] = "3"
#上面两行据说可以去掉由于numpy版本高而输出的warnings
import tensorflow as tf
#产生尺寸为shape的矩阵
x = tf.zeros(shape = [2,3])
sess = tf.InteractiveSession()
print(sess.run(x))

运行结果:

[[0. 0. 0.]
 [0. 0. 0.]]

tf.ones_like | tf.zeros_like

tf.ones_like(tensor,dype=None,name=None)
tf.zeros_like(tensor,dype=None,name=None)
创建和别的tensor类型和大小都一致的张量

y = tf.zeros_like(x)
print(sess.run(y))

运行结果

[[0. 0. 0.]
 [0. 0. 0.]]

tf.fill

tf.fill(shape,value,name=None)
创建一个值可以自己规定的,尺寸为shape的矩阵

x = tf.fill([2,3],value=3)
#注意这里不是shape=[2,3]
print(sess.run(x))

运行结果

[[3 3 3]
 [3 3 3]]

tf.constant

tf.constant(value,dtype=None,shape=None,name=’Const’)
创建一个常量tensor,按照给出value来赋值,可以用shape来指定其形状。value可以是一个数,也可以是一个list。

a = tf.constant(2, shape=[2])
b = tf.constant(2, shape=[2, 2])
c = tf.constant([1, 2, 3], shape=[6])
d = tf.constant([1, 2, 3], shape=[3, 2])

print(sess.run(a))
print(sess.run(b))
print(sess.run(c))
print(sess.run(d))

运行结果

[2 2]

[[2 2]
 [2 2]]

[1 2 3 3 3 3]

[[1 2]
 [3 3]
 [3 3]]

tf.random_normal | tf.truncated_normal | tf.random_uniform

tf.random_normal(shape,mean=0.0,stddev=1.0,dtype=tf.float32,seed=None,name=None)
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
tf.random_uniform(shape,minval=0,maxval=None,dtype=tf.float32,seed=None,name=None)

random_normal: 正太分布随机数,均值mean,标准差stddev
truncated_normal:截断正态分布随机数,均值mean,标准差stddev,不过只保留[mean-2*stddev,mean+2*stddev]范围内的随机数
random_uniform:均匀分布随机数,范围为[minval,maxval]

其他基础知识

2.Variable

W = tf.Variable(tf.zeros(shape=[1,2]))
sess = tf.InteractiveSession()
sess.run(tf.initialize_all_variables()) # 对variable进行初始化
print(sess.run(W))

variable和Tensor不同的是它必须在初始化之后才有数值。
运行结果:

[[0. 0. 0.]
 [0. 0. 0.]]

你可能感兴趣的:(机器学习实践,numpy)