Log file generation

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

Is this issue specific to the logging module or PyTorch or is the used file path inaccessible or wrong?

It’s the code mistake. Now I got it. Thanks.
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)

if not os.path.exists(log_file):
open(log_file, ‘w’).close()
print(f"Log file created: {log_file}")

logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter(‘%(asctime)s - %(message)s’)
file_handler = logging.FileHandler(log_file)
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)

Define a function to log messages

def log_message(message):
logger.info(message)