TensorFlow
一个量, 在不同的参考系下按照某种特定的法则进行变换, 就是张量.**
-
-
TensorFlow 在内部将张量表示为基本数据类型的n维数组
在TensorFlow所有的数据都是一个n维的数组,只是我们给它起了个名字叫做张量(Tensor)
阶(秩)
阶就是平时我们所说的维数。
-
比如我们有一个二维的数组,那么这个阶就是2
-
比如我们有一个三维的数组,那么这个阶就是3
形状
张量的形状可以让我们看到每个维度中元素的数量
int array = new int3
在维度一上元素的个数有3个,在维度二上元素的个数有4个。
如果我们要打印上面数组的形状时,我们可以得到这样的结果:shape = (3,4)。我们再看看第一篇写”机器学习HelloWorld“的时候,再来看看当时打印的结果:shape = (60000, 28, 28)。通过shape我们就可以得到一些信息:
-
当前数组是三维的
-
在第一维中有60000个元素
-
在第二维中有28个元素
-
在第三维中有28个元素

数据类型

特殊的张量
tf.Variable 变量 tf.constant 常量 tf.placeholder 占位符 tf.SparseTensor 稀疏张量
常量
a = tf.constant(3)
b = tf.constant(2)
变量
1.使用Variable类才创建 tf.random.normal 方法返回形状为(1,4)的张量,他的4个元素符合均值为100、标准差为0.35的正态分布
w = tf.Variable(inital_value = tf.random_normal(shape(1,4),mean=100,stddev=0.35),name="W")
b = tf.Variable(tf.zeros([4]),name="b")
2.使用get_variable的方式来创建
my_int_variable = tf.get_variable("my_int_variable",[1,2,3],dtype=tf.int32,initializer=tf.zeros_initializer)
创建完成之后,每次使用之前,都需要进行初始化!
占位符
文件名需要等到运行的时候才确定下来
train_filenames = tf.placeholder(tf.string,shape=[None])
运行的时候,通过feed_dict将占位符具体的值给确定下来
feed_dict={train_filenames:string_filenames}
浙公网安备 33010602011771号