我正在尝试创建y形随机浮动数组,这是我现在的。
input_dim =: 2
hidden_dim =: 16
0 ?@$ ~ (input_dim, hidden_dim)
0.838135 0.96131 0.766721 0.420625 0.640265 0.683779 0.683311 0.427981 0.281479 0.305607 0.385446 0.898389 0.24596 0.452391 0.739534 0.973384
0.914155 0.172582 0.146184 0.624908 0.333564 0.132774 0.475515 0.802788 0.277571 0.146896 0.40596 0.735201 0.943969 0.259493 0.442858 0.374871
看起来这段代码返回的是我想要的东西 所以我试着做了一个像下面这样的函数。
rand =: 0 ?@$ ~
但是 rand (input_dim, hidden_dim)
给我一个语法错误...
我想我缺少了一个非常重要的部分,但我不确定那是什么。
如果有任何建议,我将感激不尽
如果没有这个参数,语法为 0 ?@$ ~
是模棱两可的,而且解释者会误判小括号(或者更准确地说,正确的小括号不是您认为的那个)。最简单的方法是定义 rand
作为。
rand =: 3 :'0 ?@$ ~ y'
当然,任何其他消除句法歧义的方法也可以。
rand =: [: ? 0 $~ ]
rand =: ?@(0$~])
rand =: ?@(0&($~))
...