BaşlayınÜcretsiz Başlayın

Gradyanlarla optimize etme

Amacın, en aza indirmek istediğin bir kayıp fonksiyonu olan $y = x^{2}$’yi kullanmak. Bunu, farklı x değerlerinde GradientTape() işlemiyle eğimi (slope) hesaplayarak yapabilirsin. Eğim pozitifse, x’i azaltarak kaybı düşürebilirsin. Negatifse, x’i artırarak kaybı düşürebilirsin. Gradyan inişi (gradient descent) bu şekilde çalışır.

The image shows a plot of y equals x squared. It also shows the gradient at x equals -1, x equals 0, and x equals 1.

Pratikte, gradyan inişini otomatik olarak yapmak için üst düzey bir tensorflow işlemi kullanırsın. Ancak bu egzersizde, x değerleri -1, 1 ve 0 için eğimi hesaplayacaksın. Kullanabileceğin işlemler: GradientTape(), multiply(), ve Variable().

Bu egzersiz

Python ile TensorFlow’a Giriş

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • x’i, başlangıç değeri x0 olan bir değişken olarak tanımla.
  • Kayıp fonksiyonu y’yi, x ile x’in çarpımına eşitle. Operatör aşırı yüklemesini (operator overloading) kullanma.
  • Fonksiyonun, y’nin x’e göre gradyanını döndürmesini sağla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def compute_gradient(x0):
  	# Define x as a variable with an initial value of x0
	x = ____(x0)
	with GradientTape() as tape:
		tape.watch(x)
        # Define y using the multiply operation
		y = ____
    # Return the gradient of y with respect to x
	return tape.gradient(____, ____).numpy()

# Compute and print gradients at x = -1, 1, and 0
print(compute_gradient(-1.0))
print(compute_gradient(1.0))
print(compute_gradient(0.0))
Kodu Düzenle ve Çalıştır