public string ProcessMessage(Command msgObj, SyftController ctrl) { switch (msgObj.functionCall) { case "forward": { var input = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Forward(input); return(result.Id + ""); } case "params": { string out_str = ""; for (int i = 0; i < models.Count; i++) { List <int> model_params = controller.getModel(models[i]).getParameters(); for (int j = 0; j < model_params.Count; j++) { out_str += model_params[j].ToString() + ","; } } for (int i = 0; i < parameters.Count; i++) { out_str += parameters[i].ToString() + ","; } return(out_str); } } return(ProcessMessageLocal(msgObj, ctrl)); }
public string ProcessMessage(Command msgObj, SyftController ctrl) { switch (msgObj.functionCall) { case "abs_": { // calls the function on our tensor object Abs_(); // returns the function call name with the OK status return(id.ToString()); } case "add_": { Add_((float)msgObj.tensorIndexParams[0]); return(msgObj.functionCall + ": OK"); } case "add": { var tensor_1 = ctrl.getTensor(msgObj.tensorIndexParams[0]); var result = tensor_1.Add(tensor_1); ctrl.addTensor(result); return(result.Id.ToString()); } case "addmm_": { var tensor_1 = ctrl.getTensor(msgObj.tensorIndexParams[0]); var tensor_2 = ctrl.getTensor(msgObj.tensorIndexParams[1]); AddMatrixMultiply(tensor_1, tensor_2); return(msgObj.functionCall + ": OK"); } case "ceil": { var result = Ceil(); ctrl.addTensor(result); return(result.Id.ToString()); } case "cpu": { Cpu(); return(msgObj.functionCall + ": OK"); } case "floor_": { Floor_(); return(id.ToString()); } case "gpu": { if (Gpu()) { return(msgObj.functionCall + ": OK : Moved data to GPU."); } else { return(msgObj.functionCall + ": FAILED : Did not move data."); } } case "mul": { FloatTensor tensor_1 = ctrl.getTensor(msgObj.tensorIndexParams[0]); var result = MulElementwise(tensor_1); ctrl.addTensor(result); return(result.Id.ToString()); } case "mul_scalar": { var result = MulScalar((float)msgObj.tensorIndexParams[0]); ctrl.addTensor(result); return(result.Id.ToString()); } case "neg": { var result = Neg(); ctrl.addTensor(result); return(result.Id.ToString()); } case "print": { bool dataOriginallyOnGpu = dataOnGpu; if (dataOnGpu) { Cpu(); } string data = string.Join(", ", Data); Debug.LogFormat("<color=cyan>print:</color> {0}", data); if (dataOriginallyOnGpu) { Gpu(); } return(data); } case "sub_": { var tensor1 = ctrl.getTensor(msgObj.tensorIndexParams[0]); var result = SubtractElementwise(tensor1); ctrl.addTensor(result); return(result.Id.ToString()); } case "zero_": { Zero_(); return(msgObj.functionCall + ": OK"); } default: break; } return("SyftController.processMessage: Command not found."); }
public string ProcessMessage(Command msgObj, SyftController ctrl) { switch (msgObj.functionCall) { case "abs": { // calls the function on our tensor object var result = this.Abs(); // returns the function call name with the OK status return(result.id + ""); } case "abs_": { // calls the function on our tensor object this.Abs(inline: true); // returns the function call name with the OK status return(id.ToString()); } case "add_elem": { Debug.LogFormat("add_elem"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Add(tensor_1); return(result.id + ""); } case "acos": { var result = Acos(); return(result.Id.ToString()); } case "acos_": { Acos(inline: true); return(Id.ToString()); } case "asin": { var result = Asin(); return(result.Id.ToString()); } case "asin_": { Asin(inline: true); return(Id.ToString()); } case "atan": { var result = Atan(); return(result.Id.ToString()); } case "atan_": { Atan(inline: true); return(Id.ToString()); } case "add_elem_": { Debug.LogFormat("add_elem_"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Add(tensor_1, inline: true); return(this.id + ""); } case "add_scalar": { Debug.LogFormat("add_scalar"); FloatTensor result = Add(float.Parse(msgObj.tensorIndexParams[0])); return(result.Id + ""); } case "add_scalar_": { Debug.LogFormat("add_scalar_"); this.Add(float.Parse(msgObj.tensorIndexParams[0]), inline: true); return(this.id + ""); } case "addmm_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var tensor_2 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[1])); AddMatrixMultiply(tensor_1, tensor_2); return(msgObj.functionCall + ": OK"); } case "addmv_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var tensor_2 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[1])); AddMatrixVectorProduct(tensor_1, tensor_2); return(msgObj.functionCall + ": OK"); } case "backward": { if (msgObj.tensorIndexParams.Length > 0) { var grad = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); Backward(grad); } else { Backward(); } return(""); } case "ceil": { var result = this.Ceil(); return(result.id + ""); } case "ceil_": { this.Ceil(inline: true); return(this.id + ""); } case "copy": { var result = Copy(); return(result.Id.ToString()); } case "cos": { var result = Cos(); return(result.Id.ToString()); } case "cos_": { Cos(inline: true); return(Id.ToString()); } case "cosh": { var result = Cosh(); return(result.Id.ToString()); } case "Cosh_": { Cosh(inline: true); return(Id.ToString()); } case "cpu": { Cpu(); return(msgObj.functionCall + ": OK"); } case "div_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Div(tensor_1); return(result.Id + ""); } case "div_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Div(tensor_1, inline: true); return(this.id + ""); } case "div_scalar": { FloatTensor result = Div(float.Parse(msgObj.tensorIndexParams[0])); return(result.Id + ""); } case "div_scalar_": { this.Div(float.Parse(msgObj.tensorIndexParams[0]), inline: true); return(this.id + ""); } case "exp": { var result = Exp(); return(result.Id.ToString()); } case "exp_": { Exp(inline: true); return(Id.ToString()); } case "mul_scalar": { FloatTensor result = Mul(float.Parse(msgObj.tensorIndexParams[0])); return(result.id + ""); } case "mul_scalar_": { this.Mul(float.Parse(msgObj.tensorIndexParams[0]), inline: true); return(this.id + ""); } case "pow_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Pow(tensor_1); return(result.id + ""); } case "floor": { var result = this.Floor(); return(result.id + ""); } case "floor_": { this.Floor(inline: true); return(this.id + ""); } case "round": { var result = Round(); return(result.Id.ToString()); } case "get": { var param_to_get = msgObj.tensorIndexParams[0]; switch (param_to_get) { case "autograd": { if (this.autograd) { return("1"); } return("0"); } case "children": { if (children != null) { string children_str = ""; foreach (KeyValuePair <int, int> entry in children) { children_str += (entry.Key + ","); } return(children_str); } else { return(""); } } case "creation_op": { if (creation_op != null) { return(creation_op); } return(""); } case "creators": { if (creators != null) { string creators_str = ""; foreach (FloatTensor entry in creators) { creators_str += (entry.id + ","); } return(creators_str); } else { return(""); } } case "data": { string out_str = ""; if (dataOnGpu) { int[] temp_data = new int[size]; dataBuffer.GetData(temp_data); for (int i = 0; i < size; i++) { out_str += temp_data[i] + ","; } } else { for (int i = 0; i < size; i++) { out_str += data[i] + ","; } } return(out_str); } case "dataOnGpu": { if (dataOnGpu) { return("1"); } return("0"); } case "grad": { if (Grad == null) { return(""); } return(Grad.id + ""); } case "id": { return(this.id + ""); } case "keepgrads": { if (this.keepgrads) { return("1"); } return("0"); } case "size": { return(this.size + ""); } case "shape": { string shape_str = ""; for (int i = 0; i < shape.Length; i++) { shape_str += (shape[i] + ","); } return(shape_str); } } return("param not found or not configured with a getter"); } case "gpu": { if (Gpu(ctrl.GetShader())) { return(msgObj.functionCall + ": OK : Moved data to GPU."); } else { return(msgObj.functionCall + ": FAILED : Did not move data."); } } case "log1p": { var result = Log1p(); return(result.Id.ToString()); } case "mul_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Mul(tensor_1); return(result.id + ""); } case "mul_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Mul(tensor_1, inline: true); return(this.id + ""); } case "mm": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.MM(tensor_1); return(result.id + ""); } case "pow_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Pow(tensor_1, inline: true); return(this.id + ""); } case "pow_scalar": { FloatTensor result = Pow(float.Parse(msgObj.tensorIndexParams[0])); return(result.id + ""); } case "pow_scalar_": { this.Pow(float.Parse(msgObj.tensorIndexParams[0]), inline: true); return(this.id + ""); } case "set": { var param_to_set = msgObj.tensorIndexParams[0]; switch (param_to_set) { case "autograd": { if (msgObj.tensorIndexParams[1] == "1") { InitAutograd(); return("1"); } else { autograd = false; return("0"); } } } return("setter not recognized"); } case "sigmoid_": { this.Sigmoid(inline: true); return(this.id + ""); } case "sigmoid": { var result = this.Sigmoid(); return(result.id + ""); } case "sub_elem": { Debug.LogFormat("sub_elem"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Sub(tensor_1); return(result.Id + ""); } case "sub_elem_": { Debug.LogFormat("sub_elem_"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Sub(tensor_1, inline: true); return(this.id + ""); } case "neg": { var result = Neg(); return(result.Id.ToString()); } case "neg_": { Neg(inline: true); return(Id.ToString()); } case "rsqrt": { var result = Rsqrt(); return(result.Id.ToString()); } case "print": { bool dataOriginallyOnGpu = dataOnGpu; if (dataOnGpu) { Cpu(); } string data = this.Print(); Debug.LogFormat("<color=cyan>Print:</color> {0}", string.Join(",", this.Data)); if (dataOriginallyOnGpu) { Gpu(ctrl.GetShader()); } return(data); } case "sign": { Debug.LogFormat("sign"); var result = this.Sign(); return(result.Id + ""); } case "sign_": { Debug.LogFormat("sign_"); Sign(inline: true); return(Id.ToString()); } case "sin": { var result = Sin(); return(result.Id.ToString()); } case "sin_": { Sin(inline: true); return(Id.ToString()); } case "sqrt": { var result = Sqrt(); return(result.id.ToString()); } case "size": { var result = SizeTensor(); return(result.id.ToString()); } case "sub_scalar": { Debug.LogFormat("sub_scalar"); FloatTensor result = Sub(float.Parse(msgObj.tensorIndexParams[0])); return(result.Id + ""); } case "sub_scalar_": { Debug.LogFormat("sub_scalar_"); this.Sub(float.Parse(msgObj.tensorIndexParams[0]), inline: true); return(this.id + ""); } case "to_numpy": { return(string.Join(" ", data)); } case "tan": { var result = Tan(); return(result.Id.ToString()); } case "tan_": { Tan(inline: true); return(Id.ToString()); } case "tanh": { var result = Tanh(); return(result.Id.ToString()); } case "sinh": { var result = Sinh(); return(result.Id.ToString()); } case "sinh_": { Sinh(inline: true); return(Id.ToString()); } case "trace": { var result = Trace(); return(result.ToString()); } case "transpose": { var result = Transpose(); return(result.Id.ToString()); } case "triu": { var K = int.Parse(msgObj.tensorIndexParams[0]); var result = Copy(); result.Triu_(K); return(result.Id.ToString()); } case "triu_": { var K = int.Parse(msgObj.tensorIndexParams[0]); Triu_(K); return(Id.ToString()); } case "trunc": { var result = Trunc(); return(result.Id.ToString()); } case "view": { int[] new_dims = new int[msgObj.tensorIndexParams.Length]; for (int i = 0; i < msgObj.tensorIndexParams.Length; i++) { new_dims[i] = int.Parse(msgObj.tensorIndexParams[i]); } var result = View(new_dims); return(result.Id.ToString()); } case "view_": { int[] new_dims = new int[msgObj.tensorIndexParams.Length]; for (int i = 0; i < msgObj.tensorIndexParams.Length; i++) { new_dims[i] = int.Parse(msgObj.tensorIndexParams[i]); } View(new_dims, inline: true); return(Id.ToString()); } case "view_as": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams [0])); var result = ViewAs(tensor_1, false); return(result.Id.ToString()); } case "view_as_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams [0])); this.ViewAs(tensor_1, true); return(Id.ToString()); } case "zero_": { Zero_(); return(msgObj.functionCall + ": OK"); } case "is_contiguous": { return(Convert.ToString(IsContiguous())); } case "squeeze": { if (msgObj.tensorIndexParams.Length > 0) { int dim = int.Parse(msgObj.tensorIndexParams[0]); var result = Squeeze(dim: dim); ctrl.addTensor(result); return(result.Id.ToString()); } else { var result = Squeeze(); ctrl.addTensor(result); return(result.Id.ToString()); } } case "sqeeze_": { if (msgObj.tensorIndexParams.Length > 0) { int dim = int.Parse(msgObj.tensorIndexParams[0]); Squeeze(dim: dim, inline: true); return(Id.ToString()); } else { Squeeze(inline: true); return(Id.ToString()); } } case "min": { int dim = -1; bool keepdim = false; if (msgObj.tensorIndexParams.Length > 0) { dim = int.Parse(msgObj.tensorIndexParams[0]); keepdim = bool.Parse(msgObj.tensorIndexParams[1]); } return(Min(dim: dim, keepdim: keepdim).Id.ToString()); } case "max": { int dim = -1; bool keepdim = false; if (msgObj.tensorIndexParams.Length > 0) { dim = int.Parse(msgObj.tensorIndexParams[0]); keepdim = bool.Parse(msgObj.tensorIndexParams[1]); } return(Max(dim: dim, keepdim: keepdim).Id.ToString()); } case "sum": { int dim = -1; bool keepdim = false; if (msgObj.tensorIndexParams.Length > 0) { dim = int.Parse(msgObj.tensorIndexParams[0]); keepdim = bool.Parse(msgObj.tensorIndexParams[1]); } return(Sum(dim: dim, keepdim: keepdim).Id.ToString()); } case "prod": { int dim = -1; bool keepdim = false; if (msgObj.tensorIndexParams.Length > 0) { dim = int.Parse(msgObj.tensorIndexParams[0]); keepdim = bool.Parse(msgObj.tensorIndexParams[1]); } return(Prod(dim: dim, keepdim: keepdim).Id.ToString()); } case "mean": { int dim = -1; bool keepdim = false; if (msgObj.tensorIndexParams.Length > 0) { dim = int.Parse(msgObj.tensorIndexParams[0]); keepdim = bool.Parse(msgObj.tensorIndexParams[1]); } return(Mean(dim: dim, keepdim: keepdim).Id.ToString()); } default: break; } return("SyftController.processMessage: Command not found."); }
public string ProcessMessage(Command msgObj, SyftController ctrl) { switch (msgObj.functionCall) { case "abs": { // calls the function on our tensor object var result = this.Abs(); // returns the function call name with the OK status return(ctrl.addTensor(result) + ""); } case "abs_": { // calls the function on our tensor object Abs_(); // returns the function call name with the OK status return(id.ToString()); } case "add_elem": { Debug.LogFormat("add_elem"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Add(tensor_1); return(ctrl.addTensor(result) + ""); } case "add_elem_": { Debug.LogFormat("add_elem_"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Add_(tensor_1); return(this.id + ""); } case "add_scalar": { Debug.LogFormat("add_scalar"); FloatTensor result = Add(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "add_scalar_": { Debug.LogFormat("add_scalar_"); this.Add_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "addmm_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var tensor_2 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[1])); AddMatrixMultiply(tensor_1, tensor_2); return(msgObj.functionCall + ": OK"); } case "ceil": { var result = Ceil(); ctrl.addTensor(result); return(result.Id.ToString()); } case "copy": { var result = Copy(); ctrl.addTensor(result); return(result.Id.ToString()); } case "cos": { var result = Cos(); ctrl.addTensor(result); return(result.Id.ToString()); } case "cos_": { Cos_(); return(Id.ToString()); } case "cosh": { var result = Cosh(); ctrl.addTensor(result); return(result.Id.ToString()); } case "Cosh_": { Cosh_(); return(Id.ToString()); } case "cpu": { Cpu(); return(msgObj.functionCall + ": OK"); } case "div_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Div(tensor_1); return(ctrl.addTensor(result) + ""); } case "div_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Div_(tensor_1); return(this.id + ""); } case "div_scalar": { FloatTensor result = Div(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "div_scalar_": { this.Div_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "floor_": { Floor_(); return(id.ToString()); } case "gpu": { if (Gpu()) { return(msgObj.functionCall + ": OK : Moved data to GPU."); } else { return(msgObj.functionCall + ": FAILED : Did not move data."); } } case "mul_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Mul(tensor_1); return(ctrl.addTensor(result) + ""); } case "mul_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Mul_(tensor_1); return(this.id + ""); } case "mul_scalar": { FloatTensor result = Mul(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "mul_scalar_": { this.Mul_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "neg": { var result = Neg(); ctrl.addTensor(result); return(result.Id.ToString()); } case "print": { bool dataOriginallyOnGpu = dataOnGpu; if (dataOnGpu) { Cpu(); } string data = this.Print(); Debug.LogFormat("<color=cyan>Print:</color> {0}", this.Data); if (dataOriginallyOnGpu) { Gpu(); } return(data); } case "sigmoid_": { Sigmoid_(); return(msgObj.functionCall + ": OK"); } case "sqrt": { var result = Sqrt(); ctrl.addTensor(result); return(result.id.ToString()); } case "sub_elem": { Debug.LogFormat("sub_elem"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Sub(tensor_1); return(ctrl.addTensor(result) + ""); } case "sub_elem_": { Debug.LogFormat("sub_elem_"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Sub_(tensor_1); return(this.id + ""); } case "sub_scalar": { Debug.LogFormat("sub_scalar"); FloatTensor result = Sub(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "sub_scalar_": { Debug.LogFormat("sub_scalar_"); this.Sub_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "sum_dim": { Debug.LogFormat("sum_dim"); FloatTensor result = this.Sum(int.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "tanh": { var result = Tanh(); ctrl.addTensor(result); return(result.Id.ToString()); } case "sinh": { var result = Sinh(); ctrl.addTensor(result); return(result.Id.ToString()); } case "sinh_": { Sinh_(); return(Id.ToString()); } case "transpose": { var result = Copy(); result = result.Transpose(); ctrl.addTensor(result); return(result.Id.ToString()); } case "triu": { var K = int.Parse(msgObj.tensorIndexParams[0]); var result = Copy(); result.Triu_(K); ctrl.addTensor(result); return(result.Id.ToString()); } case "triu_": { var K = int.Parse(msgObj.tensorIndexParams[0]); Triu_(K); return(Id.ToString()); } case "trunc": { var result = Trunc(); ctrl.addTensor(result); return(result.Id.ToString()); } case "view": { int [] new_dims = new int[msgObj.tensorIndexParams.Length]; for (int i = 0; i < msgObj.tensorIndexParams.Length; i++) { new_dims [i] = int.Parse(msgObj.tensorIndexParams [i]); } var result = View(new_dims); ctrl.addTensor(result); return(result.Id.ToString()); } case "view_": { int [] new_dims = new int[msgObj.tensorIndexParams.Length]; for (int i = 0; i < msgObj.tensorIndexParams.Length; i++) { new_dims [i] = int.Parse(msgObj.tensorIndexParams [i]); } View_(new_dims); return(Id.ToString()); } case "zero_": { Zero_(); return(msgObj.functionCall + ": OK"); } case "is_contiguous": { return(Convert.ToString(IsContiguous())); } default: break; } return("SyftController.processMessage: Command not found."); }
public string ProcessMessage(Command msgObj, SyftController ctrl) { switch (msgObj.functionCall) { case "abs": { // calls the function on our tensor object var result = this.Abs(); // returns the function call name with the OK status return(ctrl.addTensor(result) + ""); } case "abs_": { // calls the function on our tensor object Abs_(); // returns the function call name with the OK status return(id.ToString()); } case "add_elem": { Debug.LogFormat("add_elem"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Add(tensor_1); return(ctrl.addTensor(result) + ""); } case "add_elem_": { Debug.LogFormat("add_elem_"); var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Add_(tensor_1); return(this.id + ""); } case "add_scalar": { Debug.LogFormat("add_scalar"); FloatTensor result = Add(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "add_scalar_": { Debug.LogFormat("add_scalar_"); this.Add_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "addmm_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var tensor_2 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[1])); AddMatrixMultiply(tensor_1, tensor_2); return(msgObj.functionCall + ": OK"); } case "ceil": { var result = Ceil(); ctrl.addTensor(result); return(result.Id.ToString()); } case "copy": { var result = Copy(); ctrl.addTensor(result); return(result.Id.ToString()); } case "cpu": { Cpu(); return(msgObj.functionCall + ": OK"); } case "floor_": { Floor_(); return(id.ToString()); } case "gpu": { if (Gpu()) { return(msgObj.functionCall + ": OK : Moved data to GPU."); } else { return(msgObj.functionCall + ": FAILED : Did not move data."); } } case "mul_elem": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = this.Mul(tensor_1); return(ctrl.addTensor(result) + ""); } case "mul_elem_": { var tensor_1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); this.Mul_(tensor_1); return(this.id + ""); } case "mul_scalar": { FloatTensor result = Mul(float.Parse(msgObj.tensorIndexParams[0])); return(ctrl.addTensor(result) + ""); } case "mul_scalar_": { this.Mul_(float.Parse(msgObj.tensorIndexParams[0])); return(this.id + ""); } case "neg": { var result = Neg(); ctrl.addTensor(result); return(result.Id.ToString()); } case "print": { bool dataOriginallyOnGpu = dataOnGpu; if (dataOnGpu) { Cpu(); } string data = this.Print(); Debug.LogFormat("<color=cyan>Print:</color> {0}", this.Data); if (dataOriginallyOnGpu) { Gpu(); } return(data); } case "sigmoid_": { Sigmoid_(); return(msgObj.functionCall + ": OK"); } case "sub_elem": { var tensor1 = ctrl.getTensor(int.Parse(msgObj.tensorIndexParams[0])); var result = SubtractElementwise(tensor1); ctrl.addTensor(result); return(result.Id.ToString()); } case "tanh": { var result = Tanh(); ctrl.addTensor(result); return(result.Id.ToString()); } case "transpose": { var result = Copy(); result = result.Transpose(); ctrl.addTensor(result); return(result.Id.ToString()); } case "zero_": { Zero_(); return(msgObj.functionCall + ": OK"); } default: break; } return("SyftController.processMessage: Command not found."); }