public static TVar Softmax(this TVar x) { long[] shape = x.Evaluate().Shape; List <float> data = new List <float>(); for (long i = 0; i < shape[0]; i++) { var s_x = x.Select(0, i); var exp = s_x.Exp(); var sum = exp.SumAll(); var s_t = (exp / sum.ToScalar()).View(1, shape[1]).Evaluate(); data.AddRange(s_t.ToArray().Cast <float>()); } return(TVar.FromArray(data.ToArray(), Global.Device).View(shape)); }