Skip to content

Commit

Permalink
Develop communicator redesign (Unity-Technologies#638)
Browse files Browse the repository at this point in the history
* [containers] Enables container support for scenes that use visual observations

* [Initial Commit] Works only with simple balance ball

* [Optimiztion] Store the academy in the brainBatcher as a temporary measure

* [Modifications] Made it work from the editor as a prototype

* [Made socket communicator and reimplmented all functionalities]

* [Forgotten file] removed .meta file

* [Forgot the meta file]

* [Metafile] deleted metafile

* [Comments] Removed dead code

* [Comments] Added some descriptions

* [Bug Fix] Multi brain scenario

* [improved AgentInfo converter]

* [Optimization] Remove VectorObs since StackedVectorObs is present in the AgentInfo protobuf object

* [Timeout] Implemented a timeout for the rpc communicator in Unity

* [Libraries] Added the C# Protobuf and Grpc libraries

* [Requirements] Added protobuf 3.5.2 to the requirements

* [Code Formating] Removed dead code and split some lines

* [Line formatting] Reorganization of the Batcher code to be more readable and aadded comments

* [TimeScale] Raising a UnityException no longer sets the timeScale to 0

* [Updated Proto] Removed vector observation from agent info

* [Removed unecessary using]

* [Communication] Wrapped Initialization Parameters into a more standard initialization message

* [Seeding] Reimplemented the seeding feature

* [BugFix] Reimplementing the Academy Done flag

* [Simplification] Done and Max Step of the academy are now reset in EnvironmentReset.

* [New communicator implemetation] Renaming a few files and new implementation of communicator that uses Grpc with python as the server

* [Addressed some comments] Made an interface for the communicator pf python, added some comments

* [Reimplemented the Unit Tests for Python using the Mock Communicator

* [Removed Libraries] Removed the Generated files from the branch (will give a zip containing the generated files and the script to generate them. Renamed the communicator pacakage to communicator_objects to improve lisibility

* [Addresses comments]

* [Address Comments] Made a working version of the RPC communicator using the new messages.

* [Recovered functionnality and unit tests]

* [Adding Comments]

* [Missing parenthesis in comment]

* [Make code look nicer]

* [Fixed some bugs and added a Timeout on the communicators]

* [API-Version] Bumped the API version in the pytests

* [Improvements] Exchange will raise an error in unity if called on a closed communication in RPC

* Instead of an error, Exchange will return null if communication is closed

* [Fix Library for Windows]

* [Bug Fixes in library]

* [Error Message] Made the error message nicer when Unity does not find anyone to communicate with

* [LSTM fix] Made sure the length of memory os consistent in environment.py

* [Docker In Editor] Added in editor with docker

* [Generated Files] Readded the Proto and GRPC grenerated files

* [Fix indentation error]

* [Bug Fix] Made sure Reset calls could not be counted twice

* [Comment] Added comment in the Dockerfile about port 5005
  • Loading branch information
vincentpierre authored May 24, 2018
1 parent 27ab3eb commit 99cd92b
Show file tree
Hide file tree
Showing 114 changed files with 8,670 additions and 1,285 deletions.
2 changes: 2 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@
*.unity binary
*.prefab binary
*.meta binary
*/CommunicatorObjects/* binary
*/communicator_objects/* binary
*.md text
3 changes: 3 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,7 @@ RUN pip install --trusted-host pypi.python.org -r requirements.txt
WORKDIR /execute
COPY python /execute/python

# port 5005 is the port used in in Editor training.
EXPOSE 5005

ENTRYPOINT ["python", "python/learn.py"]
19 changes: 19 additions & 0 deletions python/communicator_objects/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
from .agent_action_proto_pb2 import *
from .agent_info_proto_pb2 import *
from .brain_parameters_proto_pb2 import *
from .brain_type_proto_pb2 import *
from .command_proto_pb2 import *
from .engine_configuration_proto_pb2 import *
from .environment_parameters_proto_pb2 import *
from .header_pb2 import *
from .resolution_proto_pb2 import *
from .space_type_proto_pb2 import *
from .unity_input_pb2 import *
from .unity_message_pb2 import *
from .unity_output_pb2 import *
from .unity_rl_initialization_input_pb2 import *
from .unity_rl_initialization_output_pb2 import *
from .unity_rl_input_pb2 import *
from .unity_rl_output_pb2 import *
from .unity_to_external_pb2 import *
from .unity_to_external_pb2_grpc import *
85 changes: 85 additions & 0 deletions python/communicator_objects/agent_action_proto_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

134 changes: 134 additions & 0 deletions python/communicator_objects/agent_info_proto_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

135 changes: 135 additions & 0 deletions python/communicator_objects/brain_parameters_proto_pb2.py

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit 99cd92b

Please sign in to comment.