美文网首页我爱编程
Python中的list/tuple,numpy中的ndarrr

Python中的list/tuple,numpy中的ndarrr

作者: bill_yang | 来源:发表于2017-11-29 15:02 被阅读0次

    用python中list/tuple理解,仅仅是从内存角度理解一个序列数据,而非数学中标量,向量和张量。

    从python内存角度理解,就是一个数值,长度为1,并且不是一个序列;

    从numpy与tensorflow数学角度理解,就是一个标量,shape为(),其轴为0;

    [1,2,3,4,5,6]

    从python内存角度理解,就是1*6或者长度为6的一个序列;

    从numpy与tensorflow数学角度理解,就是一维向量,并且是列向量,shape为(6,),其轴为1;注:一维向量,列向量,其轴为1,轴下标为0,表示第一个轴;

    [[1,2,3], [4,5,6]]

    从python内存角度理解,就是一个二维数组2*3,2列3行;注意:不管python还是numpy/tensorflow都是列在前,即一个向量默认为列向量;

    从numpy/tensorflow数学角度理解,就是一个二维张量,shape为(2,3),其轴为2;注:二维向量,第一个轴为列,下标为0,第二个轴为行,下标为1;

    例子:

    import os, sys

    import numpy

    import tensorflow as tf

    a = [[1,2,3],[4,5,6]]

    b = tf.Variable(a, dtype=tf.float32)

    init = tf.global_variables_initializer()

    sess = tf.Session()

    sess.run(init)

    d1 = tf.reduce_mean(b)

    d2 = tf.reduce_mean(b, 0)

    d3 = tf.reduce_mean(b, 1)

    sess.run([b, b[0,:], b[:, 0]])

    # [array([[ 1.,  2.,  3.],

    #         [ 4.,  5.,  6.]], dtype=float32),

    #  array([ 1.,  2.,  3.], dtype=float32),

    #  array([ 1.,  4.], dtype=float32)]

    sess.run([d1, d2, d3])

    # [3.5,

    #  array([ 2.5,  3.5,  4.5], dtype=float32),

    #  array([ 2.,  5.], dtype=float32)]

    注:

    [b, b[i,:], b[:, i]]

    b[i,:]: 表示b矩阵第一个轴(列),第i列对应所有元素;

    b[:,i]: 表示b矩阵第二个轴(行),第i行对应所有元素;

    d1=tf.reduce_mean(b): 表示对矩阵所有元素进行均值;

    d2=tf.reduce_mean(b, 0):表示对矩阵进行第一个轴(列)方向上的投影,即每一行上的均值;

    d3=tf.reduce_mean(b, 1):表示对矩阵进行第二个轴(行)方向上的投影,即每一列的均值;

    查看这个网址:http://www.cnblogs.com/silence-tommy/p/6554986.html

    这个网址上说的有问题:

    tf.reduce_mean(x) ==> 2.5 #如果不指定第二个参数,那么就在所有的元素中取平均值

    tf.reduce_mean(x, 0) ==> [2.,  3.] #指定第二个参数为0,则第一维的元素取平均值,即每一列求平均值

    tf.reduce_mean(x, 1) ==> [1.5,  3.5] #指定第二个参数为1,则第二维的元素取平均值,即每一行求平均值

    这两句下划线的标注,是错误的。显然没有理解对于矩阵轴的概念;

    (不好意思,这个网址博主,仅仅是看到了,所以仅仅从开发角度分析了下,并非故意,敬请谅解!)

    相关文章

      网友评论

        本文标题:Python中的list/tuple,numpy中的ndarrr

        本文链接:https://www.haomeiwen.com/subject/ranubxtx.html