我正在使用numpy零和numpy.random.randn实现计算
W1 = np.random.randn(n_h, n_x) * .01
b1 = np.zeros((n_h, 1))
Run Code Online (Sandbox Code Playgroud)
我不确定为什么random.randn()可以接受两个整数,而zeros()需要一个元组.这有充分的理由吗?
干杯,JChen.
最有可能的只是历史问题. numpy几个先前的包合并的结果,并有很长的发展.一些怪癖得到了清理,其他人则保持原样.
randn(d0, d1, ..., dn)
zeros(shape, dtype=float, order='C')
Run Code Online (Sandbox Code Playgroud)
randn 有这个说明:
这是一个便利功能.如果您想要一个以元组作为第一个参数的接口,请
numpy.random.standard_normal改用.
standard_normal(size=None)
Run Code Online (Sandbox Code Playgroud)
有了*它很容易得到一个元组传递到randn:
np.random.randn(*(1,2,3))
Run Code Online (Sandbox Code Playgroud)
np.zeros需要几个关键字参数.randn才不是.您可以使用(*args, **kwargs)签名定义Python函数.但接受一个元组,特别是一个常用的元组,shape更适合.但这是一个意见问题.
np.random.rand并且np.random.random_sample是另一对这样的.最有可能rand并且randn是旧版本,并standard_normal与random_sample有较新的设计,以符合更常见的tuple风格.
| 归档时间: |
|
| 查看次数: |
334 次 |
| 最近记录: |