我不知道如何声明(为了自知):
var x = new float[,][,] {???};
我需要的是一个 2dArray of 2dArray of float...
float[float[,],float[,]];// orfloat[[,],[,]];
也许
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
是 aList<float[,]>
和相同的this.Weights
。
但这些尝试让我出错,因为 Cannot create an instance of the static class 'Tuple'
是的,它是关于 NN 的。我知道存在像 Accord.Net 这样的库,来自 Microsoft CNTK 或 TensorFlow 的新库,...命名!!!我是那种喜欢用我使用的语言做香草风格的人;尽可能少的外部库(鼓励我成为代码兄弟;))
我在这件事上成功了一步(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[,]>();
wherethis.Sizes = List<float[]>();
并Math.Random.Rand2DArray(float x, float y, int dim1, int dim2);
返回一个 2dArray 的 Random floatx
和y
(自定义静态函数)之间的维度[dim1,dim2]
。这给了我(Python)的确切信息:
self.weights = [np.random.randn(y, x) for x, y in zip(sizes[:-1], sizes[1:])]
wheresizes = []
和np
asNumpy
的 Python 库。
嘿伙计们,我正面临着“将 Python 转换为 C#”...“非类型化到类型化”语言;) 帮助!!!
狐的传说
相关分类