How to output weight

I need to know all the weight values,How can I output the weight of the training process?

criterion = nn.CrossEntropyLoss().cuda()

optimizer = torch.optim.SGD(model.parameters(), args.lr,
momentum=args.momentum,
weight_decay=args.weight_decay)

if args.evaluate:
validate(val_loader, model, criterion)

for epoch in range(args.start_epoch, args.epochs):
adjust_learning_rate(optimizer, epoch)

    # train for one epoch
train(train_loader, model, criterion, optimizer, epoch)
    # evaluate on validation set
prec1 = validate(val_loader, model, criterion)
    # remember best prec@1 and save checkpoint
is_best = prec1 > best_prec1
best_prec1 = max(prec1, best_prec1)
save_checkpoint({
    'epoch': epoch + 1,
    'state_dict': model.state_dict(),
    'best_prec1': best_prec1,
}, is_best, filename='/home/zl/models/checkpoint_{}.pth.tar'.format(epoch))
for param in model.parameters():
  print(param.data)

Thank you very much!
If I want to output the output value(x) after the first layer convolution,not parameters ,what should I do?

You can solve it with the method register_forward_hook

Very grateful, but the function of the official website is very simple to introduce, there is no example, I tried it or did not use it。Can you give me an example?

look at Forward and Backward Function Hooks

you can use:
model.layername.weight
or
model.layername.weight.data

in second one you can also change the weights :slight_smile:

Sorry, I wanted to revive and chip in:
How to print dimensions of particular layer, that is length of weight array in each axis?
torch.nn.parameter.Parameter

You can print the shape of the weight parameter via print(model.layername.weight.shape).

why this command gives me the initial value every time?