Exemplo n.º 1
0
        protected virtual void InitBilinear(string name, NdArray arr)
        {
            var shape     = arr.GetShape().Data();
            var prodShape = Util.Prod(shape);

            float[] weight = new float[prodShape];

            var f = Math.Ceiling(shape[3] / 2.0);
            var c = (2 * f - 1 - f % 2) / (2.0 * f);

            for (int i = 0; i < prodShape; i++)
            {
                var x = i % shape[3];
                var y = (i / shape[3]) % shape[2];
                weight[i] = (float)((1 - Math.Abs(x / f - c)) * (1 - Math.Abs(y / f - c)));
            }

            arr.SyncCopyFromCpu(weight);
        }
Exemplo n.º 2
0
 protected virtual void InitLocBias(string name, NdArray arr)
 {
     Util.Assert(arr.GetShape()[0] == 6);
     arr.SyncCopyFromCpu(new[] { 1.0f, 0, 0, 0, 1.0f, 0 });
 }