Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

TensorFlowOnSpark brings TensorFlow programs to Apache Spark clusters.

License

NotificationsYou must be signed in to change notification settings

yahoo/TensorFlowOnSpark

TensorFlowOnSpark brings scalable deep learning to Apache Hadoop and Apache Sparkclusters.

Build StatusPackageDownloadsDocumentation

By combining salient features from theTensorFlow deep learning framework withApache Spark andApache Hadoop, TensorFlowOnSpark enables distributeddeep learning on a cluster of GPU and CPU servers.

It enables both distributed TensorFlow training andinferencing on Spark clusters, with a goal to minimize the amountof code changes required to run existing TensorFlow programs on ashared grid. Its Spark-compatible API helps manage the TensorFlowcluster with the following steps:

  1. Startup - launches the Tensorflow main function on the executors, along with listeners for data/control messages.
  2. Data ingestion
    • InputMode.TENSORFLOW - leverages TensorFlow's built-in APIs to read data files directly from HDFS.
    • InputMode.SPARK - sends Spark RDD data to the TensorFlow nodes via aTFNode.DataFeed class. Note that we leverage theHadoop Input/Output Format to access TFRecords on HDFS.
  3. Shutdown - shuts down the Tensorflow workers and PS nodes on the executors.

Table of Contents

Background

TensorFlowOnSpark was developed by Yahoo for large-scale distributeddeep learning on our Hadoop clusters in Yahoo's private cloud.

TensorFlowOnSpark provides some important benefits (seeourblog)over alternative deep learning solutions.

  • Easily migrate existing TensorFlow programs with <10 lines of code change.
  • Support all TensorFlow functionalities: synchronous/asynchronous training, model/data parallelism, inferencing and TensorBoard.
  • Server-to-server direct communication achieves faster learning when available.
  • Allow datasets on HDFS and other sources pushed by Spark or pulled by TensorFlow.
  • Easily integrate with your existing Spark data processing pipelines.
  • Easily deployed on cloud or on-premise and on CPUs or GPUs.

Install

TensorFlowOnSpark is provided as a pip package, which can be installed on single machines via:

# for tensorflow>=2.0.0pip install tensorflowonspark# for tensorflow<2.0.0pip install tensorflowonspark==1.4.4

For distributed clusters, please see ourwiki site for detailed documentation for specific environments, such as our getting started guides forsingle-node Spark Standalone,YARN clusters andAWS EC2. Note: the Windows operating system is not currently supported due tothis issue.

Usage

To use TensorFlowOnSpark with an existing TensorFlow application, you can follow ourConversion Guide to describe the required changes. Additionally, ourwiki site has pointers to some presentations which provide an overview of the platform.

Note: since TensorFlow 2.x breaks API compatibility with TensorFlow 1.x, the examples have been updated accordingly. If you are using TensorFlow 1.x, you will need to checkout thev1.4.4 tag for compatible examples and instructions.

API

API Documentation is automatically generated from the code.

Contribute

Please join theTensorFlowOnSpark user group for discussions and questions. If you have a question, please review ourFAQ before posting.

Contributions are always welcome. For more information, please see ourguide for getting involved.

License

The use and distribution terms for this software are covered by the Apache 2.0 license.SeeLICENSE file for terms.

About

TensorFlowOnSpark brings TensorFlow programs to Apache Spark clusters.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors22


[8]ページ先頭

©2009-2026 Movatter.jp