I have used the below code save the print statements as log.txt file.
‘’'import logging
Set up logging
log_file = ‘/content/drive/MyDrive/macro_rudy_pin_congestion/training_log.txt’
log_dir = os.path.dirname(log_file)
os.makedirs(log_dir, exist_ok=True)
logging.basicConfig(filename=log_file, level=logging.INFO, format=‘%(asctime)s - %(message)s’)
Define a function to log messages
def log_message(message):
logging.info(message)‘’’
#Training loop
epochs = 10
for epoch in range(epochs):
model.train()
train_loss = 0.0
iters = len(train_loader) #added this line to define iters
for i, (features, labels) in enumerate(train_loader):
features = features.permute(0, 3, 1, 2).to(device)
labels = labels.permute(0,3,1,2).to(device)
optimizer.zero_grad()
#forward pass
outputs = model(features)
#calculate loss
loss = loss_fn(outputs, labels)
loss.backward()
#update weights
optimizer.step()
scheduler.step(epoch + i / iters)
train_loss += loss.item() * features.size(0)
train_loss /= len(train_loader.dataset)
print(f’Epoch {epoch+1}/{epochs}, Train Loss: {train_loss:.4f}‘)
log_message(f’Epoch {epoch+1}/{epochs}, Train Loss: {train_loss:.4f}’)
if (epoch + 1) % 5 == 0:
log_message(‘saving checkpoint…’)
save_cp(model=model, optimizer=optimizer, epoch=epoch+1, cp_path=‘/content/drive/MyDrive/macro_rudy_pin_congestion/files’)
But the training_log.txt is not getting created in the drive. Could you please help me to resolve this issue