tf矩阵乘法理解

2017-07-18  本文已影响0人  球球之家

拿简单手写数字图像识别例子来说
一个图像对应一维数组[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

上一篇下一篇

猜你喜欢

热点阅读