Package: fangyu-pypitest
Ray is a fast and simple framework for building and running distributed applications.Ray is packaged with the following libraries for accelerating machine learning workloads:Tune: Scalable Hyperparameter TuningRLlib: Scalable Reinforcement LearningDistributed TrainingInstall Ray with:pip install ray. For nightly wheels, see theInstallation page.Quick StartExecute Python functions in parallel.importrayray.init()@ray.remotedeff(x):returnx*xfutures=[f.remote(i)foriinrange(4)]print(ray.get(futures))To use Ray’s actor model:importrayray.init()@ray.remoteclassCounter():def__init__(self):self.n=0defincrement(self):self.n+=1defread(self):returnself.ncounters=[Counter.remote()foriinrange(4)][c.increment.remote()forcincounters]futures=[c.read.remote()forcincounters]print(ray.get(futures))Ray programs can run on a single machine, and can also seamlessly scale to large clusters. To execute the above Ray script in the cloud, just downloadthis configuration file, and run:ray submit [CLUSTER.YAML] example.py--startRead more aboutlaunching clusters.Tune Quick StartTuneis a library for hyperparameter tuning at any scale.Launch a multi-node distributed hyperparameter sweep in less than 10 lines of code.Supports any deep learning framework, including PyTorch, TensorFlow, and Keras.Visualize results withTensorBoard.Choose among scalable SOTA algorithms such asPopulation Based Training (PBT),Vizier’s Median Stopping Rule,HyperBand/ASHA.Tune integrates with many optimization libraries such asFacebook Ax,HyperOpt, andBayesian Optimizationand enables you to scale them transparently.To run this example, you will need to install the following:$pipinstallraytorchtorchvisionfilelockThis example runs a parallel grid search to train a Convolutional Neural Network using PyTorch.importtorch.optimasoptimfromrayimporttunefromray.tune.examples.mnist_pytorchimport(get_data_loaders,ConvNet,train,test)deftrain_mnist(config):train_loader,test_loader=get_data_loaders()model=ConvNet()optimizer=optim.SGD(model.parameters(),lr=config["lr"])foriinrange(10):train(model,optimizer,train_loader)acc=test(model,test_loader)tune.track.log(mean_accuracy=acc)analysis=tune.run(train_mnist,config={"lr":tune.grid_search([0.001,0.01,0.1])})print("Best config: ",analysis.get_best_config(metric="mean_accuracy"))# Get a dataframe for analyzing trial results.df=analysis.dataframe()If TensorBoard is installed, automatically visualize all trial results:tensorboard--logdir~/ray_resultsRLlib Quick StartRLlibis an open-source library for reinforcement learning built on top of Ray that offers both high scalability and a unified API for a variety of applications.pipinstalltensorflow# or tensorflow-gpupipinstallray[rllib]# also recommended: ray[debug]importgymfromgym.spacesimportDiscrete,BoxfromrayimporttuneclassSimpleCorridor(gym.Env):def__init__(self,config):self.end_pos=config["corridor_length"]self.cur_pos=0self.action_space=Discrete(2)self.observation_space=Box(0.0,self.end_pos,shape=(1,))defreset(self):self.cur_pos=0return[self.cur_pos]defstep(self,action):ifaction==0andself.cur_pos>0:self.cur_pos-=1elifaction==1:self.cur_pos+=1done=self.cur_pos>=self.end_posreturn[self.cur_pos],1ifdoneelse0,done,{}tune.run("PPO",config={"env":SimpleCorridor,"num_workers":4,"env_config":{"corridor_length":5}})More InformationDocumentationTutorialBlogRay paperRay HotOS paperRLlib paperTune paperGetting Involvedray-dev@googlegroups.com: For discussions about development or any general
questions.StackOverflow: For questions about how to use Ray.GitHub Issues: For reporting bugs and feature requests.Pull Requests: For submitting code contributions.