Python 语法随缘收录

随缘记一下语法

6 / 8
吴恩达神经网络与深度学习 2.15 Python中的广播 (coursera网)

1. sum

cal = A.sum() # 全部元素求和
A.sum(axis = 0) # 列元素求和
A.sum(axis = 1) # 行元素求和
Python 语法随缘收录_第1张图片

2. reshape

reshape复杂度比较小,O(1),可以随心用
Python 语法随缘收录_第2张图片

3.Broadcasting

Python 的 broadcast,有时候会主动给你扩展,可以看numpy文档里的broadcasting介绍:
Broadcasting文档链接
MATLAB和Octave里面有个bsxfun也差不多,不过老鸟才用的。
Python 语法随缘收录_第3张图片
Python 语法随缘收录_第4张图片
另外,练习题有这么一题:
Python 语法随缘收录_第5张图片
测试一下:
Python 语法随缘收录_第6张图片
发现np.dot(x1,x2)和x1*x2真的有区别。解释就是所选那个。有题忘记改了:
Python 语法随缘收录_第7张图片
更正之后:
Python 语法随缘收录_第8张图片
发现broadcasting 需要有一个是向量,不能两个是矩阵,详看文档吧。
Python 语法随缘收录_第9张图片

4.A note on python/numpy vectors

4.1
在这里插入图片描述
np.dot()使用方法
向量内积(点乘)和外积(叉乘)概念及几何意义

4.2
Python 语法随缘收录_第10张图片
用np.random.randn的时候,最好写出行和列,下面语句出来的是秩为1的数据,他不是行向量也不是列向量,用起来可能会有问题。
Python 语法随缘收录_第11张图片
如果 print 出 shape 是 (5,) 这种的话,可能会出错:
Python 语法随缘收录_第12张图片
不过视频里面说 print(np.dot(a,a.T)) 期望输出是一个矩阵,结果输出的是一个数字,所以错了?
但向量和向量点乘输出的是一个数字没有毛病,比如:
Python 语法随缘收录_第13张图片
上面 4.1 链接也有说,是约定俗成的。

不管怎样,random 的时候写清楚更好:
Python 语法随缘收录_第14张图片
或者用assert来保证
Python 语法随缘收录_第15张图片
Python 语法随缘收录_第16张图片

你可能感兴趣的:(Python)