Skip to content

Conversation

@anasbekheit
Copy link

The function check_squared_error used jnp.equal to compare floats, which would make the test fail if the student decides to use native python implementation of the squared_error function, due to native python using double float precision while jax defaults to single float precision.

MRE:

This implementation of squared_error fails while it should not:

def squared_error(b, w, x, y):
    # first calculate f(x_i), also sometimes referred to as yhat
    yhat = w * x + b
    # then calculate the squared error
    error = (yhat - y) ** 2
    return error

Fix:

        # before fix:
        assert jnp.equal(error, correct_error[i]), msg

       # after fix:
        assert jnp.isclose(error, correct_error[i]), msg

@review-notebook-app
Copy link

Check out this pull request on  ReviewNB

See visual diffs & provide feedback on Jupyter Notebooks.


Powered by ReviewNB

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant