[英]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.