2021-08-24

self.embedding.weight.requires=False即可不进行训练
加载预训练权重:self.embedding.weight.data.copy_(tensor)
如果要对输入进行求导,需再输入上加一个input=Variable(input,requires_grad),然后可以通过input.requires_grad查看是否有梯度
model里有一个linear1,可以通过model.linear1.weight查看linear1参数,RNN_stock.linear_layer.weight.data.copy_(RNN_stock.linear_layer.weight-RNN_stock.linear_layer.weight.grad)可以更新参数,train_x_batch.grad.data查看梯度,train_x_batch=train_x_batch-train_x_batch.grad对输入进行更新。

tensor在GPU里,tensor.detach().cpu().numpy()即可转移到CPU中
保存模型
torch.save(reason_model.state_dict(), ‘./best_model/’ + ‘word_by_word_attention_best.pkl’)
reason_model.load_state_dict(torch.load(’./best_model/best.pkl’))

train_data_train = TensorDataset(data_pre_train, data_hyp_train, data_label_train)
train_sampler_train = RandomSampler(train_data_train)
train_loader_train = DataLoader(dataset=train_data_train,
batch_size=args.batch_size,
sampler=train_sampler_train)
初始化权重
def weights_init(m):
classname=m.class.name
if classname.find(‘Linear’)!=-1:
nn.init.uniform_(m.weight,-0.5,0.5)
nn.init.constant_(m.bias,0.0)
reason_model.apply(weights_init)

word2vec=models.keyedvectors.load_word2vec_format(data_dir,binary=True)
word2vec_load[(da1 for da1 in [‘man’,‘eat’,‘srfhdgdhgsg’])]

params=filter(lambda p:p.requires_grad,cnn_model.parameters())

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值