j - 在 J 中创建 y 形随机 float 组

标签 j

我正在尝试创建 y 形随机 float 组,这是我现在的状态:

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) 给我一个语法错误...

我想我遗漏了一个非常重要的部分,但我不确定那是什么。

如有任何建议,我们将不胜感激!

最佳答案

你的动词唯一缺少的是 ]。 即:

   rand =: 0 ?@$~ ]
   rand 2 3
0.891663 0.888594 0.716629
  0.9962 0.477721 0.946355

您可能会感到困惑,因为您想要创建一个 fork形式为 (noun verb verb),但是 ~ 是副词,因此与其左侧的动词结合创建一个新动词(在您的例子中是 ? @$~) 所以你的 rand 的形式是 (0 ?@$~)(noun verb) J 做的无法识别 - 因此出现语法错误。

如果可能的话,使用 ?@$ 组合是有意义的,因为 special code 支持它。并且不会创建 x $ y

关于j - 在 J 中创建 y 形随机 float 组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61907148/

相关文章:

j - 如何用脚本自动调用J(ijconsole)

multithreading - 多核 J -- 并行化

j - 使用 pjson 库获取雅虎股票报价

j - 如何在 J 中删除 csv 数据列

J 默契词评价

J 脚本中的输入字符串挂起

tacit-programming - 在 J 中抽象盒装数组结构

operators - J:牛顿法的隐性副词

j - 用 J 中的每次替换修改多个索引

tacit-programming - 学习 J/K/APL