Giter VIP home page Giter VIP logo

Comments (5)

ageron avatar ageron commented on May 5, 2024

Yikes! You are absolutely right, good catch! I'll update the solution, thank you so much.

And also thanks for your very kind words, I'm very touched. It's fantastic to have such enthusiastic and helpful readers! :))

Cheers,
Aurélien

from handson-ml.

ageron avatar ageron commented on May 5, 2024

Just fixed this. Indeed, Batch Normalization manages to reach 99.4% accuracy, instead of 99.32%. Not a huge gain, but still nice to have. Thanks again!

from handson-ml.

slabko avatar slabko commented on May 5, 2024

I found that such a margin rather depends on the initial state of the randomizer, so yes, Batch Normalization doesn't really give any advantage in this case, but it doesn't spoil anything either.

BTW, in the Tensorflow's documentation, they mentioned that you can add a dependency to the training operation so that it also triggers extra_update_ops:

optimizer = self.optimizer_class(learning_rate=self.learning_rate)
update_ops = tf.get_collection(tf.GraphKeys.UPDATE_OPS)
with tf.control_dependencies(update_ops):
    training_op = optimizer.minimize(loss)

In this case, you don't even need to retrieve extra_update_ops from the graph and explicitly call sess.run(extra_update_ops, feed_dict=feed_dict)

I found it here: https://www.tensorflow.org/api_docs/python/tf/layers/batch_normalization

It might be something they added recently

Thank you! It's my pleasure! :)

from handson-ml.

ageron avatar ageron commented on May 5, 2024

Indeed, this does simplify the code. I mention this in the notebook for chapter 11, just before cell [36], but perhaps I should also mention it more prominently in the book (currently, the control_dependencies() function is just mentioned briefly in chapter 12).
Thanks again for your feedback.

from handson-ml.

slabko avatar slabko commented on May 5, 2024

Oh, sorry! It was my bad - I did not notice that 😰

from handson-ml.

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.