22.02.2024 Views

Daniel Voigt Godoy - Deep Learning with PyTorch Step-by-Step A Beginner’s Guide-leanpub

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Define - Model Configuration V1

1 %%writefile model_configuration/v1.py

2

3 device = 'cuda' if torch.cuda.is_available() else 'cpu'

4

5 # Sets learning rate - this is "eta" ~ the "n"-like Greek letter

6 lr = 0.1

7

8 torch.manual_seed(42)

9 # Now we can create a model and send it at once to the device

10 model = nn.Sequential(nn.Linear(1, 1)).to(device)

11

12 # Defines an SGD optimizer to update the parameters

13 optimizer = optim.SGD(model.parameters(), lr=lr)

14

15 # Defines an MSE loss function

16 loss_fn = nn.MSELoss(reduction='mean')

17

18 # Creates the train_step function for our model, loss function

19 # and optimizer

20 train_step_fn = make_train_step_fn(model, loss_fn, optimizer) 1

1 Creating a function that performs a training step

Run - Model Configuration V1

%run -i model_configuration/v1.py

Let’s check our train_step_fn() function out!

train_step_fn

Output

<function __main__.make_train_step_fn.<locals>\

.perform_train_step_fn(x, y)>

Looking good! Now we need to update our model training to replace the code

inside the loop with a call to our newly created function.

132 | Chapter 2: Rethinking the Training Loop

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!