[Parameter("n11", DefaultValue = 0, MinValue = -1, MaxValue = 1, Step = step)]
public double n11 { get; set; }
[Parameter("n12", DefaultValue = 0, MinValue = -1, MaxValue = 1, Step = step)]
public double n12 { get; set; }
[Parameter("n13", DefaultValue = 0, MinValue = -1, MaxValue = 1, Step = step)]
public double n13 { get; set; }
[Parameter("n14", DefaultValue = 0, MinValue = -1, MaxValue = 1, Step = step)]
public double n14 { get; set; }
我使用 cAlgo 来处理 ctrader,需要许多输入参数,例如上面列出的作为神经网络权重的参数。有没有办法根据需要生成尽可能多的输入参数?
例如,当我需要 3 个隐藏层之间的权重时,其中每个隐藏层有 8 个神经元(需要 8x8x2 权重),我可以告诉程序类似“double[2,8,8]”它创建了那些参数?当我把神经网络做得更大并且必须手动编写几千个输入参数时,这会很烦人。
如果权重可以直接存储在3维数组中(在哪些隐藏层之间,从哪个左节点,到哪个右节点)中,那就更好了
(用c#写的)
任何帮助或提示将不胜感激!
答案 0 :(得分:0)
用它做一个结构体。
public void MyAwesomeMethod(MyParamaterSruct s)
{
...
}
public struct MyParameterStruct
{
public double n11;
public double n12;
public double n13;
public double n14;
}
您还可以通过在每次调用方法时不复制结构体(或每个值)来提高性能:
public void MyAwesomeMethod(in MyParamaterSruct s)
{
...
}