// Update is called once per frame void Update() { var input_vector_obs = new Tensor(1, 1, 1, 8, new float[] { Target.position.x, Target.position.y, Target.position.z, this.transform.position.x, this.transform.position.y, this.transform.position.z, rBody.velocity.x, rBody.velocity.z }); var input_eps = new Tensor(1, 1, 1, 1, new float[] { 0.2f }); var dict = new Dictionary <string, Tensor>(); dict["vector_observation"] = input_vector_obs; dict["epsilon"] = input_eps; worker.Execute(dict); //worker.Fetch("action_probs").PrintDataPart(24, "action_probs"); //worker.Fetch("action").PrintDataPart(24, "action:"); //Debug.Log(worker.Fetch("action").GetType()); //BarracudaToFloatArray var out_ = TensorUtils.BarracudaToFloatArray(worker.Fetch("action")); int i = 0; foreach (var fc in out_) { FxFz[i] = (float)fc; Debug.Log((float)fc); i = i + 1; } AgentAction(FxFz); Debug.Log("valueEstimate"); //UpdateVectorAction(FxFz); Debug.Log(GetValueEstimate()); }