Есть массив который заполняется образцами данного класса :
protected class Neuron // Класс обозначающий нейрон
{
double[] Weights; // Веса всех входов
Random r = new Random();
public Neuron(int InputCount)
{
Weights = new double[InputCount]; // Создание масива весов
for (int w = 0; w < InputCount; w++) // Заполнение весов случайными значениями
Weights[w] = r.NextDouble();
}
Но почему-то у всех нейронов в данном массиве массив Weights одинаковый, можете объяснить почему так происходит?
Класс Random
в .NET инициалируется по системному времени (если создавать без параметра seed
). В таком случае если создавать экземпляры Random
достаточно быстро друг за другом, они инициализируются одним значением и генерируют одну последовательность. Что бы избежать этого создавайте только один экземпляр Random
.
От @Андрей NOP: Вышесказанное актуально только для .NET Framework, и неактуально для .NET Core.
Виртуальный выделенный сервер (VDS) становится отличным выбором
У кого либо может быть есть работающий код на C# (простыми конструкциями сделанный) с двухсторонней сортировкой выбором (Double selection sort)? Можете...