拿简单手写数字图像识别例子来说
一个图像对应一维数组[255,255,...]共784个元素
输出结果为0-9数字的十种概率
怎么定义权重w和偏移量b是关键
规律:
每个个体n个属性
分类有c个结果
w=n行c列
b=c列
y=wx+b
import tensorflow as tf
import numpy as np
with tf.Session() as sess:
#一维向量 [0 1],简单
print(sess.run(tf.constant(np.arange(2), shape=[2])))
print("----")
#二维矩阵
'''
几行几列,很轻松
[[1 2]
[3 4]]
'''
print(sess.run(tf.constant(np.arange(1,5), shape=[2, 2])))
print("----")
#三维
'''
有点烦
[[[1 2]
[3 4]]
[[5 6]
[7 8]]]
'''
print(sess.run(tf.constant(np.arange(1,9), shape=[2, 2, 2])))
#四维
'''
很烦
[[[[ 1 2]
[ 3 4]]
[[ 5 6]
[ 7 8]]]
[[[ 9 10]
[11 12]]
[[13 14]
[15 16]]]]
'''
print(sess.run(tf.constant(np.arange(1, 17), shape=[2, 2, 2,2])))
print("-1来啦")
v=tf.constant(np.arange(1, 17), shape=[2, 2, 2,2])
print(sess.run(tf.reshape(v, [-1])))
'''
[ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16]
'''
print(sess.run(tf.reshape(v, [-1,2,2,2])))#同[2, 2, 2,2]
print(sess.run(tf.reshape(v, [-1, 4, 1])))
'''
[[[ 1]
[ 2]
[ 3]
[ 4]]
[[ 5]
[ 6]
[ 7]
[ 8]]
[[ 9]
[10]
[11]
[12]]
[[13]
[14]
[15]
[16]]]
'''
-1代表的含义是不用我们自己指定这一维的大小,函数会自动计算,但列表中只能存在一个-1