Voorbereiden op batchtraining
Voordat we een lineair model in batches kunnen trainen, moeten we eerst variabelen, een verliesfunctie en een optimalisatiebewerking definiëren. In deze oefening bereiden we een model voor dat price_batch voorspelt, een batch huizenprijzen, op basis van size_batch, een batch perceelgroottes in vierkante voet. In tegenstelling tot de vorige les doen we dit door batches met gegevens te laden met pandas, ze om te zetten naar numpy-arrays en ze vervolgens te gebruiken om de verliesfunctie stapsgewijs te minimaliseren.
Variable(), keras() en float32 zijn al voor je geïmporteerd. Let op: stel geen standaardargumentwaarden in voor het model of de verliesfunctie, omdat we de gegevens tijdens het trainingstraject in batches genereren.
Deze oefening maakt deel uit van de cursus
Introductie tot TensorFlow in Python
Oefeninstructies
- Definieer
interceptmet een beginwaarde van 10.0 en een gegevenstype van 32-bits float. - Definieer het model zodat het de voorspelde waarden retourneert met
intercept,slopeenfeatures. - Definieer een functie
loss_function()dieintercept,slope,targetsenfeaturesals argumenten neemt, in die volgorde. Stel geen standaardargumentwaarden in. - Definieer de verliesfunctie mean squared error met
targetsenpredictions.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____(____, ____)