Skip to content

An RPC server wrapping the OpenAI Gym atari environments

Notifications You must be signed in to change notification settings

cshenton/atari-rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atari RPC 👾

An RPC server that serves the Arcade Learning Environment over the network.

What Is This?

This is an RPC server that exposes the "arcade learning environment" over the network. It uses OpenAI's gym and Google's gRPC under the hood. It is intended to enable language agnostic access to this reinforcement learning environment.

Installation & Usage

To install the server, just pull the prebuilt docker image:

docker run -p 8080:8080 cshenton/atari

To communicate with the server, use the included atari.proto file in proto/ to generate a client to communicate with the library. For example, to generate Golang stubs from a neighbouring repo, run:

protoc -I ../atari-rpc/proto/ atari.proto --go_out=plugins=grpc:path/to/your/proto

Then use the generated client and structs to communicate with the server. If you've never used gRPC before, check out the docs for your language.

Technical Notes

This is a single thread server, it does not handle multiple active environments at once, if you want that, just spin up more containers.

Contributing

Environment

virtualenv -p python3.5 venv
pip install -r requirements.txt
source venv/bin/activate

Running tests

python -m pytest tests/

Generating stubs

python -m grpc_tools.protoc -I . proto/atari.proto --python_out=. --grpc_python_out=.

About

An RPC server wrapping the OpenAI Gym atari environments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages