一些小技巧——保存tensor和读取tensor

一些小技巧——保存tensor和读取tensor

最近需要训练模型,模型的输入即BERT输入,目标是训练该模型encoding的能力,因为使用的是无监督simCSE方法,涉及到“一个句子输入模型两次得到两个encoding”的问题,但实际工作中,如果在产生dataset的时候现生成encoding,训练速度将会无比的慢,因此,提前使用模型将tensor生成好,将会大大提高训练速度(主要是读取数据集的速度会变快)

保存多个tensor

前提:有一个存放着多个tensor的列表

结果:得到一个存有许多numpy格式数的文件

#s:存放着多个tensor的列表
import numpy
s_numpy = [x.numpy() for x in s] #步骤1
numpy.save("tensor.npy",s_numpy)

如果不经过步骤1,则有可能报出以下错误
在这里插入图片描述

加载tensor

b = numpy.load("tensor.npy", allow_pickle=True)
c = [torch.tensor(x) for x in b]

allow_pickle参数,官方解释是这样的,所以我们这里要设置为True允许加载
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值