public Tensor CreateVariable(float[] data, long[] shape, string name = "") { shape = BackendUtil.Row2ColMajor(shape); var arr = new CNTK.NDArrayView(BackendUtil.CastShapeInt(shape), data, DeviceManager.Current); var v = new CNTK.Variable(BackendUtil.CastShapeInt(shape), VariableKind.Parameter, CNTK.DataType.Float, arr, false, new AxisVector(), false, name, name); return(Out(v)); }
private Tensor CreateVariable(int[] data, long[] shape, string name = "") { shape = BackendUtil.Row2ColMajor(shape); var arr = new CNTK.NDArrayView(BackendUtil.CastShapeInt(shape), Array.ConvertAll(data, x => (float)x), DeviceManager.Current); var v = new CNTK.Variable(BackendUtil.CastShapeInt(shape), VariableKind.Input, CNTK.DataType.Float, arr, false, new AxisVector(), false, name, name); return(Out(v)); }
public Tensor Reshape(Tensor x, params long[] shape) { shape = BackendUtil.Row2ColMajor(shape); long prod = -1 * shape.Aggregate(1L, (a, b) => a * b); for (int i = 0; i < shape.Length; i++) { if (shape[i] == -1) { shape[i] = x.ElementCount / prod; break; } } return(Out(Data.ModDims(In(x), shape))); }
public Tensor CreateVariable(float[] data, long[] shape, string name = "") { shape = BackendUtil.Row2ColMajor(shape); var result = Out(Data.CreateArray(data)); result.Name = name != "" ? UUID(name) : UUID("V"); if (shape.Length == 2) { result = (NDArrayTensor)result.Reshape(shape); } if (shape.Length == 3) { result = (NDArrayTensor)result.Reshape(shape); } if (shape.Length == 4) { result = (NDArrayTensor)result.Reshape(shape); } return(result); }
public Tensor Constant(float value, long[] shape) { shape = BackendUtil.Row2ColMajor(shape); return(Out(Data.Constant <float>(value, BackendUtil.CastShapeInt(shape)))); }
public Tensor Transpose(Tensor x, params int[] dims) { var shape = BackendUtil.Row2ColMajor(BackendUtil.Int2Long(dims)); return(Out(Data.Reorder(In(x), BackendUtil.CastShapeUInt(shape)))); }
public Tensor Constant(float value, long[] shape) { shape = BackendUtil.Row2ColMajor(shape); return(Out(In(value, shape))); }