簡體   English   中英

我如何聲明:new float [,] [,] {???}

[英]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] xy (自定義靜態函數)之間的Random float的[dim1,dim2] 這給了我(Python)的確切含義:

self.weights = [np.random.randn(y, x) for x, y in zip(sizes[:-1], sizes[1:])]

其中sizes = []npNumpy的Python庫。

大家好,我正在面對“將Python轉換為C#” ...“非類型化至類型化”語言;)幫助!

告訴它大小...

var x = new float[3, 4][,];

這樣就可以為12個浮點數數組提供12個空格的網格。 每個內部數組可以是您喜歡的任何大小。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM