Giter VIP home page Giter VIP logo

Comments (4)

tilakrayal avatar tilakrayal commented on May 22, 2024

@certainly-cyber,
tf.contrib.distribute.CollectiveAllReduceStrategy is not available and it was the deprecated API. The CollectiveAllReduceStrategy is exported as MultiWorkerMirroredStrategy.

https://www.tensorflow.org/api_docs/python/tf/distribute/MultiWorkerMirroredStrategy

Also I suspect you are using the code which was related tensorflow 1.x version which is not actively supported now. Kindly convert the code for the latest version and use the tensorflow v2.15 or v2.16. Thank you!

from tensorflow.

certainly-cyber avatar certainly-cyber commented on May 22, 2024

I understand what you mean, but this API used to be available...right?
Due to some reasons, I may not be able to migrate and use the relevant version of TF2. In fact, the above code can run successfully and obtain good training results using TF1.14 and CollectiveAllReduceStrategy API. The only point I am confused about is why there is a much larger communication volume between workers than the theoretical value.
Looking forward to your reply, and have a nice day~

from tensorflow.

tilakrayal avatar tilakrayal commented on May 22, 2024

@certainly-cyber,
The API tf.contrib.distribute.CollectiveAllReduceStrategy is not available and as it is part of the deprecated tf.contrib
CollectiveAllReduceStrategy is MultiWorkerMirrorStrategy. CollectiveAllReduceStrategy is a name we used in the implementation. Please refer to documentations of MultiWorkerMirrorStrategy.

image

Also CollectiveAllReduceStrategy reduces computation overhead by distributing it across workers, there's additional overhead associated with transferring data between workers. This overhead can include serialization, deserialization, and network latency, all of which can contribute to a larger communication volume than the theoretical minimum. Thank you!

from tensorflow.

certainly-cyber avatar certainly-cyber commented on May 22, 2024

Okay, I got it. Thank you again for your answer~
By the way, if I have adopted MultiWorkerMirroredStrategy, can we accurately calculate (or roughly estimate) the amount of data that needs to be synchronized? I have already know how to use model parameters for estimation, but I think it's not accurate enough:) Such like what the format of the synchronized message will be like, or what is the proportion of overhead information? Thank you!

from tensorflow.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.