计算机视觉学习3:矩阵基础

首先我们来讲一讲placehold:

 placehold的特点在于它只定义,不初始化,就像是把常数放到了变量的地位,也要自己初始化了。那要怎样初始化呢?要在sess.run()里面,开始要实际操作了的时候进行初始化。在自己要运行的东西(这里是dataAdd)后面还有一个参数叫feed_dict,它的数据类型是字典,以字典的形式进行初始化。

这个和矩阵没有什么必然的联系····接下来讲一讲矩阵:

之前就讲过,tensor就是一个多维数组。我们之前用的一个数,现在要用它更常用的样子了。事实证明这个数组可以是其他维的,一维也可以。

因为tensor里面没存数据而是存了一堆奇奇怪怪的东西,我们可以通过这些奇奇怪怪的东西来了解一些这个tensor的信息。比如说tensor名.shape就会显示tensor有几行几列几个维度的信息。

调用tensor中的元素就和np.array一样,也是tensor名[a,b],想要一行就只写一个数,想要一列就写[:,b],前面的分号什么意思记得。别忘了sess.run().

 接下来是矩阵的运算:

用的函数和一般的数字是一样的,毕竟大家都是tensor。但是矩阵的乘法比较不同。普通的乘法是tf.multiply,对常数和矩阵都可以用。矩阵的这个乘法很有意思,和np.array是一样的,有广播功能,遇到和自己维度不同的情况,就让小一点的那个变大,然后一个一个乘,对应位子乘.还有一个正宗的矩阵乘法,是tf.matmul()(mat就是矩阵,mul就是乘法)这个就是正版的矩阵乘法,行对列的那个,而且元素一定要是矩阵(二维矩阵),不可有半点闪失。

想要同时计算多个数?一个一个用sess.run()好麻烦?可以这样:把要求的元素以列表的形式放进去,结果也会得到一个列表:

如何给新来的矩阵快速地初始化?可以这样:

 

 想要不同的还可以这样:

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值