Tensorflow:numpy基础

Tensorflow:numpy基础

tensorflow的运算基于numpy,numpy是矩阵数学运算的库。

  1. numpy向量和矩阵乘法

    1.1 向量点乘

    >>> import numpy as np
    >>> a = np.array([2,0])
    >>> b=np.array([1,1])
    >>> np.dot(a,b)
    2
    

    1.2 矩阵乘法

    >>> import numpy as np
    >>> a = np.array([[1,2],[2,2],[3,4]])
    >>> b = np.array([[3,4,5,6],[4,5,6,7]])
    >>> print(a.shape, b.shape)
    (3, 2) (2, 4)
    >>> c = a.matmul(a,b)
    >>> print(c.shape)
    (3, 4)
    
  2. opencv和numpy

    2.1 opencv读取的数据和numpy可以无缝转换

    >>> import cv2
    >>> img = cv2.imread(r"G:\model\target\target\380740c40a2f48bc942093c3e3b0b2e268.png")
    >>> print(img.shape)
    (130, 320, 3)
    

    2.2 shape依次为hwc

    h=130, w=320, c=3,c是channel通道,依次是b,g,r,取值都是0-255。

    2.3 numpy的基础运算,传播(broadcast)

    >>> a = np.array([[2,4,6,7],[1,3,5,6],[4,4,2,9]])
    >>> print(a.shape)
    (3, 4)
    >>> print(a)
    [[2 4 6 7]
     [1 3 5 6]
     [4 4 2 9]]
    >>> b=a/2
    >>> print(b)
    [[1.  2.  3.  3.5]
     [0.5 1.5 2.5 3. ]
     [2.  2.  1.  4.5]]
    >>> c = np.array([2,1,1,2])
    >>> print(a*c)
    [[ 4  4  6 14]
     [ 2  3  5 12]
     [ 8  4  2 18]]
    >>> d=np.array([[2,1,1,2],[0.5,1,1,0.5],[2,1,1,2]])
    >>> print(a*d)
    [[ 4.   4.   6.  14. ]
     [ 0.5  3.   5.   3. ]
     [ 8.   4.   2.  18. ]]
    

    简记:

    加减乘除一个数,所有元素都加减乘除

    加减乘除一个和最后一个维度相同的数组,最后一个维度对应位置进行加减乘除

    加减乘除一个和自己维度相同的矩阵,对应位置进行加减乘除

    2.4 numpy的切片

    >>> a = np.array([[2,4,6,7],[1,3,5,6],[4,4,2,9]])
    >>> print(a.shape)
    (3, 4)
    >>> print(a)
    [[2 4 6 7]
     [1 3 5 6]
     [4 4 2 9]]
    >>> print(a[1:,1:])
    [[3 5 6]
     [4 2 9]]
    >>> print(a[0:2,1:2])
    [[4]
     [3]]
    
    
    

注意:切片的区间前闭后开

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力不秃头的小仙主

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值