import numpy as np import json img_codes = np.load("data/image_codes.npy") captions = json.load(open('data/captions_tokenized.json')) for img_i in range(len(captions)): for caption_i inrange(len(captions[img_i])): sentence = captions[img_i][caption_i] captions[img_i][caption_i] = ["#START#"] + sentence.split(' ') + ["#END#"]     network = CaptionNet(n_tokens).to(DEVICE) optimizer = torch.optim.Adam(network.parameters(), lr=1e-3) batch_size = 128 n_epochs = 100 n_batches_per_epoch = 50 n_validation_batches = 5 for epoch in range(n_epochs):   train_loss = 0 network.train() for _ in tqdm(range(n_batches_per_epoch)): images, captions = generate_batch(train_img_codes, train_captions, batch_size) images = images.to(DEVICE) captions = captions.to(DEVICE)   loss_t = compute_loss(network, images, captions)   # clear old gradients; do a backward pass to get new gradients; then train with opt # YOUR CODE HERE   train_loss += loss_t.detach().cpu().numpy()   train_loss /= n_batches_per_epoch   val_loss = 0 network.eval() for _ inrange(n_validation_batches): images, captions = generate_batch(val_img_codes, val_captions, batch_size) images = images.to(DEVICE) captions = captions.to(DEVICE)   with torch.no_grad(): loss_t = compute_loss(network, images, captions)   val_loss += loss_t.detach().cpu().numpy()   val_loss /= n_validation_batches   clear_output() print('\nEpoch: {}, train loss: {}, val

Computer Networking: A Top-Down Approach (7th Edition)
7th Edition
ISBN:9780133594140
Author:James Kurose, Keith Ross
Publisher:James Kurose, Keith Ross
Chapter1: Computer Networks And The Internet
Section: Chapter Questions
Problem R1RQ: What is the difference between a host and an end system? List several different types of end...
icon
Related questions
Question
import numpy as np
import json

img_codes = np.load("data/image_codes.npy")
captions = json.load(open('data/captions_tokenized.json'))
for img_i in range(len(captions)):
for caption_i inrange(len(captions[img_i])):
sentence = captions[img_i][caption_i]
captions[img_i][caption_i] = ["#START#"] + sentence.split(' ') + ["#END#"]
 
 
network = CaptionNet(n_tokens).to(DEVICE)
optimizer = torch.optim.Adam(network.parameters(), lr=1e-3)

batch_size = 128
n_epochs = 100
n_batches_per_epoch = 50
n_validation_batches = 5
for epoch in range(n_epochs):
 
train_loss = 0
network.train()
for _ in tqdm(range(n_batches_per_epoch)):
images, captions = generate_batch(train_img_codes, train_captions, batch_size)
images = images.to(DEVICE)
captions = captions.to(DEVICE)

 

loss_t = compute_loss(network, images, captions)
 
# clear old gradients; do a backward pass to get new gradients; then train with opt
# YOUR CODE HERE
 
train_loss += loss_t.detach().cpu().numpy()
 
train_loss /= n_batches_per_epoch
 
val_loss = 0
network.eval()
for _ inrange(n_validation_batches):
images, captions = generate_batch(val_img_codes, val_captions, batch_size)
images = images.to(DEVICE)
captions = captions.to(DEVICE)
 
with torch.no_grad():
loss_t = compute_loss(network, images, captions)

 

val_loss += loss_t.detach().cpu().numpy()

 

val_loss /= n_validation_batches
 
clear_output()
print('\nEpoch: {}, train loss: {}, val loss: {}'.format(epoch, train_loss, val_loss))

 

print("Finished!")
 
#for reference and more detail go to link---> https://colab.research.google.com/github/hse-aml/intro-to-dl-pytorch/blob/main/week06/week06_final_project_image_captioning.ipynb#scrollTo=x_wH1bYu-QK8
Expert Solution
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Recommended textbooks for you
Computer Networking: A Top-Down Approach (7th Edi…
Computer Networking: A Top-Down Approach (7th Edi…
Computer Engineering
ISBN:
9780133594140
Author:
James Kurose, Keith Ross
Publisher:
PEARSON
Computer Organization and Design MIPS Edition, Fi…
Computer Organization and Design MIPS Edition, Fi…
Computer Engineering
ISBN:
9780124077263
Author:
David A. Patterson, John L. Hennessy
Publisher:
Elsevier Science
Network+ Guide to Networks (MindTap Course List)
Network+ Guide to Networks (MindTap Course List)
Computer Engineering
ISBN:
9781337569330
Author:
Jill West, Tamara Dean, Jean Andrews
Publisher:
Cengage Learning
Concepts of Database Management
Concepts of Database Management
Computer Engineering
ISBN:
9781337093422
Author:
Joy L. Starks, Philip J. Pratt, Mary Z. Last
Publisher:
Cengage Learning
Prelude to Programming
Prelude to Programming
Computer Engineering
ISBN:
9780133750423
Author:
VENIT, Stewart
Publisher:
Pearson Education
Sc Business Data Communications and Networking, T…
Sc Business Data Communications and Networking, T…
Computer Engineering
ISBN:
9781119368830
Author:
FITZGERALD
Publisher:
WILEY