示例#1
0
 public override Tensor Evaluate(Tensor writeTarget)
 {
     using (var rhs = right.Evaluate(null))
     {
         return(evaluate(writeTarget, left.Evaluate(), rhs));
     }
 }
示例#2
0
 public override Tensor Evaluate(Tensor writeTarget)
 {
     using (var lhs = left.Evaluate(null))
     {
         return(evaluate(writeTarget, lhs, right.Evaluate()));
     }
 }
示例#3
0
 public override Tensor Evaluate(Tensor writeTarget)
 {
     using (var s = src.Evaluate(null))
     {
         return(evaluate(writeTarget, s));
     }
 }
示例#4
0
 public override Tensor Evaluate(Tensor writeTarget)
 {
     using (var s = src.Evaluate(null))
         using (var m1Val = m1.Evaluate(null))
             using (var m2Val = m2.Evaluate(null))
             {
                 return(Ops.Addmm(writeTarget, beta, s, alpha, m1Val, m2Val));
             }
 }
示例#5
0
        public override Tensor Evaluate(Tensor writeTarget)
        {
            if (writeTarget != null)
            {
                throw new InvalidOperationException("Cannot Select directly into another tensor");
            }

            using (var s = src.Evaluate(null))
            {
                return(evaluate(s));
            }
        }
示例#6
0
        public override Tensor Evaluate(Tensor writeTarget)
        {
            using (var srcVal = src.Evaluate(null))
            {
                if (writeTarget == null)
                {
                    writeTarget = new Tensor(srcVal.Allocator, type, srcVal.Sizes);
                }

                Ops.Copy(writeTarget, srcVal);
                return(writeTarget);
            }
        }
示例#7
0
        /// <summary>
        /// Evaluates the specified write target.
        /// </summary>
        /// <param name="writeTarget">The write target.</param>
        /// <returns>Tensor.</returns>
        public override Tensor Evaluate(Tensor writeTarget)
        {
            using (var srcVal = src.Evaluate(null))
            {
                if (writeTarget == null)
                {
                    writeTarget = new Tensor(allocator, srcVal.ElementType, srcVal.Shape);
                }

                Ops.Copy(writeTarget, srcVal);
                return(writeTarget);
            }
        }
示例#8
0
        public override Tensor Evaluate(Tensor writeTarget)
        {
            using (var s = src.Evaluate(null))
                using (var i = indices.Evaluate(null))
                {
                    if (!writeTarget.Equals(s))
                    {
                        Ops.Copy(writeTarget, s);
                    }
                    Ops.ScatterFill(writeTarget, value.Evaluate(), dimension, i);
                }

            return(writeTarget);
        }
示例#9
0
 public Tensor Evaluate()
 {
     return(expression.Evaluate(null));
 }