Already working on Programming Assignment: Logistic Regression with a Neural Network Mindset have problem with correct dtype. Setting b.astype(float) doesn’t work too.
b=np.zeros(2,dtype=float)
print(b)
print(str(b.dtype))
assert type(b) == float
[0. 0.]
float64
AssertionError Traceback (most recent call last)
in
2 print(b)
3 print(str(b.dtype))
----> 4 assert type(b) == float
If you use np.zeros
, then b ends up being a numpy array, right? You can see what is going on by adding a print statement like:
print(f"type(b) = {type(b)}")
Try that and see what happens. You want it to be a scalar value. Also note that you have to be careful because 0 is not a float in python: it’s an integer.
But if that means, an array made by np.zeros is seen as ndarray of int then how to change b to type of float when declaration with arg: dtype=float does not work? And b.astype(float) is seen as float64, not float… The use of compatible float_ does not work too…
In this case the statement assert type(b) == float has no sense!
If I edit the exercise in my offline notebook I get as follows:
AssertionError:
w = [0. 0.]
b = [0. 0.]
<class ‘numpy.ndarray’>
Therefore I see it as an error made in the exercise code.
But never mind, I simply misunderstood what to do with b ;D Now I must to think how to set the right shape to w.
Thank you for your time.
Yes, it sounds like you were fundamentally missing the point that b is a scalar. Glad that is clear now. For the w case, note that your array has only 1 dimension. It needs to be a two dimensional object. The argument to np.zeros
needs to be a “tuple”, not a list of arguments.
I work now on gradient descent. Due to lack of time I usually work up to a half an hour, so it takes time to go to the end of (overdued) assignment.
Yes, I forgot that b is a scalar of float type. Really don’t know why because this topic I made in the past during Andrew’s Machine Learning course.
Thanks again.