Exemplo n.º 1
0
            public static LabelWithConfidence LabelWithConfidence(NeuralNet model, NNInstrumentation instr, double[] datum, bool crop)
            {
                Vector <double> datum_v = DenseVector.OfArray(datum);

                if (crop)
                {
                    datum_v = model.CropMaybe(datum_v);
                }

                double[] outs = model.EvaluateNNConcretePostCrop(datum_v, instr);

//                Console.WriteLine("Outs = {0}", DenseVector.OfArray(outs));


                Tuple <double, int> max    = UMath.Max(outs);
                Tuple <double, int> secmax = UMath.MaxExcluding(max.Item2, outs);

                UMath.SoftMax(outs);

                var result = new LabelWithConfidence
                {
                    datum              = datum,
                    actualLabel        = max.Item2,
                    secBestLabel       = secmax.Item2,
                    softMaxValue       = outs[max.Item2],
                    diffFromSecondBest = Math.Abs(outs[max.Item2] - outs[secmax.Item2])
                };

                return(result);
            }
Exemplo n.º 2
0
    // Protected methods /////////////////

    protected virtual void Init(UltimateTerrain uTerrain)
    {
        converter = uTerrain.Converter;
        var halfSize = new Vector3d(radius, radius, radius).Rounded;

        halfSize.x += 1;
        halfSize.y += 1;
        halfSize.z += 1;
        var startVoxelPos = start.Rounded;
        var endVoxelPos   = end.Rounded;

        from             = UMath.Min(startVoxelPos, endVoxelPos) - halfSize;
        to               = UMath.Max(startVoxelPos, endVoxelPos) + halfSize;
        direction        = (end - start).Normalized;
        length           = (end - start).Magnitude;
        voxelSizeInverse = 1.0 / uTerrain.Params.SizeXVoxel;
    }