Przygotowanie do trenowania wsadowego
Zanim będziemy mogli trenować model liniowy wsadowo, musimy najpierw zdefiniować zmienne, funkcję straty oraz operację optymalizacji. W tym ćwiczeniu przygotujesz model, który będzie przewidywał price_batch – wsad cen nieruchomości – na podstawie size_batch, czyli wsadu powierzchni działek w stopach kwadratowych. W odróżnieniu od poprzedniej lekcji, dane będziemy ładować wsadowo za pomocą pandas, konwertować na tablice numpy, a następnie minimalizować funkcję straty krokowo.
Variable(), keras() oraz float32 zostały już zaimportowane. Pamiętaj, aby nie ustawiać domyślnych wartości argumentów ani dla modelu, ani dla funkcji straty – dane będą generowane wsadowo podczas procesu trenowania.
To ćwiczenie jest częścią kursu
Wprowadzenie do TensorFlow w Pythonie
Instrukcje do ćwiczenia
- Zdefiniuj
interceptz wartością początkową 10.0 i typem danych 32-bitowy float. - Zdefiniuj model tak, aby zwracał wartości przewidywane na podstawie
intercept,slopeifeatures. - Zdefiniuj funkcję
loss_function(), która przyjmuje argumentyintercept,slope,targetsifeatures– dokładnie w tej kolejności. Nie ustawiaj domyślnych wartości argumentów. - Zdefiniuj funkcję straty w postaci błędu średniokwadratowego, korzystając z
targetsipredictions.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Define the intercept and slope
intercept = ___
slope = Variable(0.5, float32)
# Define the model
def linear_regression(intercept, slope, features):
# Define the predicted values
return ____
# Define the loss function
def ____:
# Define the predicted values
predictions = linear_regression(____, ____, features)
# Define the MSE loss
return keras.losses.____(____, ____)