Ошибка при выполнении градиентного спуска с библиотекой tensorflow - PullRequest
0 голосов
/ 09 июля 2020

Я изо всех сил пытаюсь решить ошибку «функция отсутствует аргумент« 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)
...