Я изо всех сил пытаюсь решить ошибку «функция отсутствует аргумент« self »». Я пытаюсь поэкспериментировать с градиентным спуском на 2 простых массивах NumPy. Я запускал это на Google Colab, а также на ноутбуке Jupyter. Вот точное сообщение об ошибке:
<ipython-input-3-e5986c7cf1ba> in <module>()
24 return np.average(np.array(loss_array))
25 loss = calc_loss(yset, y_guessed)
---> 26 weight, bias = tf.compat.v1.train.GradientDescentOptimizer.compute_gradients(loss = loss, var_list = [tf.Variable(weight), tf.Variable(bias)])
TypeError: compute_gradients() missing 1 required positional argument: 'self' ```
Вот точный код, который я запускал. Я оборвал его из-за ошибки. Я пробовал несколько методов градиентного спуска с использованием библиотеки TensorFlow:
global xset
global yset
xset = np.random.normal(size = 100)
yset = np.random.normal(size = 100)
global weight
global bias
weight = 5.0
bias = -2.5
epochs = 100
for epoch in range(epochs):
global y_guessed
y_guessed = []
for item in xset:
y_guessed.append((weight * item) + bias)
def calc_loss(y_set, yguessed):
loss_array = list(y_set - np.array(yguessed))
for index in range(len(loss_array)):
loss_array[index] = np.absolute(loss_array[index])
return np.average(np.array(loss_array))
loss = calc_loss(yset, y_guessed)
weight, bias = tf.compat.v1.train.GradientDescentOptimizer.compute_gradients(loss = loss, var_list = [tf.Variable(weight), tf.Variable(bias)])
print(weight, bias)