[英]How I can declare that: new float[,][,] {???}
我不知道如何声明(出于自知):
var x = new float[,][,] {???};
我需要的是2dArray of float 2dArray ...
float[float[,],float[,]];
// or
float[[,],[,]];
也许
new float[new float[,], new float[,]] {???};
我确定这是可能的。.是否有锯齿...我需要一个解决方案...如果VS的Intellisense在下面没有给出带红色下划线的错误
new float[,][,]
告诉我这以某种方式存在...
我可以接受Collection替代方法:
new Tuple<float[,], float[,]>();
呵呵,好奇的是...我需要一个LINQ.Zip()操作...我想要返回一个值,就像我将zip压缩成Python样式一样,将两个2dArray一起返回...我尝试了:
var x = this.Biases.Zip(this.Weights, (b, w) => new Tuple(new List<float[,](b), new List<float[,](w)));
和
var x = this.Biases.Zip(this.Weights, (b, w) => new Tuple(new List<float[,](), new List<float[,]()) = new Tuple<float[,],float[,]>());
其中this.Biases
是一个List<float[,]>
,与this.Weights
相同。
但是由于Cannot create an instance of the static class 'Tuple'
这些尝试使我出错
是的,关于NN。 我知道存在像Accord.Net这样的库,是来自Microsoft CNTK或TensorFlow的新库,...把它命名! 我是那种喜欢用我使用的语言做香草风格的人。 尽可能少的外部库(鼓励我作为code'bro;))
我在(C#)一步之前就成功完成了这件事:
this.Weights = this.Sizes.Take(this.Sizes.Count - 1).Zip(this.Sizes.Skip(1), (x, y) => new int[] {y, x}).Select(layer => NNGA.Math.Random.Rand2DArray(-2f, 2f, layer[0], layer[1])).ToList<float[,]>();
其中this.Sizes = List<float[]>();
和Math.Random.Rand2DArray(float x, float y, int dim1, int dim2);
返回尺寸为[dim1,dim2]
x
和y
(自定义静态函数)之间的Random float的[dim1,dim2]
。 这给了我(Python)的确切含义:
self.weights = [np.random.randn(y, x) for x, y in zip(sizes[:-1], sizes[1:])]
其中sizes = []
, np
为Numpy
的Python库。
大家好,我正在面对“将Python转换为C#” ...“非类型化至类型化”语言;)帮助!
告诉它大小...
var x = new float[3, 4][,];
这样就可以为12个浮点数数组提供12个空格的网格。 每个内部数组可以是您喜欢的任何大小。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.