您好,编写如下代码:
log_likelihood = np.sum(np.dot(Y.T, log(AL)), axis=0)
我有一个错误,例如:
TypeError Traceback (most recent call last)
<ipython-input-888-ac02c17e518d> in <module>()
----> 1 parameters = L_layer_model(train_x, train_y, layers_dims, num_iterations = 7, print_cost = True)
<ipython-input-887-d06b73757846> in L_layer_model(X, Y, layers_dims, learning_rate, num_iterations, print_cost)
37 # Compute cost.
38 ### START CODE HERE ### (≈ 1 line of code)
---> 39 cost = compute_cost(AL, Y)
40 ### END CODE HERE ###
41
<ipython-input-880-a836c239755d> in compute_cost(AL, Y)
81
82 #log_likelihood = -np.log(AL[range(m),(Y.argmax(axis=1))])
---> 83 log_likelihood = np.sum(np.dot(Y.T, log(AL)), axis=0)
84 #log_likelihood = -1 * np.sum(1 * np.log(AL[range(m),(Y.argmax(axis=1))]))
85 #print("Y argmax = " + str(Y.argmax(axis=1)))
TypeError: 'module' object is not callable
但是当我编写代码为:
log_likelihood = -np.log(AL[range(m),(Y.argmax(axis=1))])
然后我的程序正在执行,没有任何错误。 在我已经添加的程序之上
import math
import logging as log
但这似乎不能解决我的问题! 有人知道出什么问题吗?
答案 0 :(得分:0)
您好,问题已解决。 我们必须使用:
log_likelihood = np.sum(np.dot(Y.T, np.log(AL)), axis=0)
代替:
log_likelihood = np.sum(np.dot(Y.T, log(AL)), axis=0)
因此在日志前面使用np。 澄清:numpy中的log函数的名称为np.log