{"id":20446352,"url":"https://github.com/ray-project/ray-legacy","last_synced_at":"2025-04-13T00:45:22.276Z","repository":{"id":42775498,"uuid":"51269228","full_name":"ray-project/ray-legacy","owner":"ray-project","description":"An experimental distributed execution engine","archived":false,"fork":false,"pushed_at":"2020-07-23T12:53:45.000Z","size":1297,"stargazers_count":22,"open_issues_count":33,"forks_count":18,"subscribers_count":18,"default_branch":"master","last_synced_at":"2025-04-05T22:58:29.723Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ray-project.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-02-07T22:18:40.000Z","updated_at":"2025-01-29T14:34:46.000Z","dependencies_parsed_at":"2022-08-23T07:02:14.933Z","dependency_job_id":null,"html_url":"https://github.com/ray-project/ray-legacy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ray-project%2Fray-legacy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ray-project%2Fray-legacy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ray-project%2Fray-legacy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ray-project%2Fray-legacy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ray-project","download_url":"https://codeload.github.com/ray-project/ray-legacy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248650420,"owners_count":21139672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T10:19:36.566Z","updated_at":"2025-04-13T00:45:22.257Z","avatar_url":"https://github.com/ray-project.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ray\n\n[![Build Status](https://travis-ci.org/ray-project/ray.svg?branch=master)](https://travis-ci.org/ray-project/ray)\n\nRay is an experimental distributed extension of Python. It is under development\nand not ready to be used.\n\nThe goal of Ray is to make it easy to write machine learning applications that\nrun on a cluster while providing the development and debugging experience of\nworking on a single machine.\n\nBefore jumping into the details, here's a simple Python example for doing a\nMonte Carlo estimation of pi (using multiple cores or potentially multiple\nmachines).\n\n```python\nimport ray\nimport numpy as np\n\n# Start a scheduler, an object store, and some workers.\nray.init(start_ray_local=True, num_workers=10)\n\n# Define a remote function for estimating pi.\n@ray.remote\ndef estimate_pi(n):\n  x = np.random.uniform(size=n)\n  y = np.random.uniform(size=n)\n  return 4 * np.mean(x ** 2 + y ** 2 \u003c 1)\n\n# Launch 10 tasks, each of which estimates pi.\nresult_ids = []\nfor _ in range(10):\n  result_ids.append(estimate_pi.remote(100))\n\n# Fetch the results of the tasks and print their average.\nestimate = np.mean(ray.get(result_ids))\nprint \"Pi is approximately {}.\".format(estimate)\n```\n\nWithin the for loop, each call to `estimate_pi.remote(100)` sends a message to\nthe scheduler asking it to schedule the task of running `estimate_pi` with the\nargument `100`. This call returns right away without waiting for the actual\nestimation of pi to take place. Instead of returning a float, it returns an\n**object ID**, which represents the eventual output of the computation (this is\na similar to a Future).\n\nThe call to `ray.get(result_id)` takes an object ID and returns the actual\nestimate of pi (waiting until the computation has finished if necessary).\n\n## Next Steps\n\n- Installation on [Ubuntu](doc/install-on-ubuntu.md), [Mac OS X](doc/install-on-macosx.md), [Windows](doc/install-on-windows.md), [Docker](doc/install-on-docker.md)\n- [Tutorial](doc/tutorial.md)\n- Documentation\n  - [Serialization in the Object Store](doc/serialization.md)\n  - [Reusable Variables](doc/reusable-variables.md)\n  - [Using Ray with TensorFlow](doc/using-ray-with-tensorflow.md)\n  - [Using Ray on a Cluster](doc/using-ray-on-a-cluster.md)\n\n## Example Applications\n\n- [Hyperparameter Optimization](examples/hyperopt/README.md)\n- [Batch L-BFGS](examples/lbfgs/README.md)\n- [Learning to Play Pong](examples/rl_pong/README.md)\n- [Training AlexNet](examples/alexnet/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fray-project%2Fray-legacy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fray-project%2Fray-legacy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fray-project%2Fray-legacy/lists"}