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 V3

1 %%writefile model_configuration/v3.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,

19 # loss function and optimizer

20 train_step_fn = make_train_step_fn(model, loss_fn, optimizer)

21

22 # Creates the val_step function for our model and loss function

23 val_step_fn = make_val_step_fn(model, loss_fn)

24

25 # Creates a Summary Writer to interface with TensorBoard

26 writer = SummaryWriter('runs/simple_linear_regression') 1

27 # Fetches a single mini-batch so we can use add_graph

28 x_dummy, y_dummy = next(iter(train_loader))

29 writer.add_graph(model, x_dummy.to(device))

1 Creating SummaryWriter to interface with TensorBoard

Run - Model Configuration V3

%run -i model_configuration/v3.py

160 | Chapter 2: Rethinking the Training Loop

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

Saved successfully!

Ooh no, something went wrong!