Advertisement
Guest User

Untitled

a guest
Jan 29th, 2020
142
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.27 KB | None | 0 0
  1. IEnumerator UpdateObs()
  2.     {
  3.         for (var i = 0; i < currentInputs.Length / 3; i++)
  4.         {
  5.  
  6.  
  7.             var idx_input = i * 3;
  8.             //var idx_output = i * 2;
  9.  
  10.             Dictionary<string, Tensor> inputs = new Dictionary<string, Tensor>();
  11.  
  12.             float[] input_data = new float[]
  13.             {
  14.                 currentInputs[ idx_input + 0 ],
  15.                 currentInputs[ idx_input + 1 ],
  16.                 currentInputs[ idx_input + 2 ]
  17.             };
  18.  
  19.  
  20.             var input_1_1 = new Tensor(1, 3, input_data);
  21.  
  22.             inputs.Add("input_1_1", input_1_1); // "input_1"
  23.  
  24.             var coroutine = Worker_instance.ExecuteAsync(inputs);
  25.            
  26.             yield return StartCoroutine(coroutine);
  27.  
  28.  
  29.             // alternatevly use wroker.peek( "layer_name" )
  30.             Tensor output = Worker_instance.Fetch(Model_instance.outputs[0]);  // "dense_1_1/Relu" , "dense_1"
  31.  
  32.             currentOutputs = output.data.Download(Model_output_size);
  33.             agent.UpdateInputs(currentOutputs);
  34.  
  35.             yield return new WaitForSeconds(0.01f);
  36.  
  37.            
  38.  
  39.             foreach (var input in inputs)
  40.  
  41.                 input.Value.Dispose();
  42.  
  43.             output.Dispose();
  44.         }
  45.  
  46.         Worker_instance.Dispose();
  47.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement