Pytorch教程(十八)tensor的保存为csv,并加载
保存有一个tensor数据需要保存,这时训练好的一个节点embedding:我们需要把结果保存下来:刚开始使用的是:np.savetxt('./obj/model.csv',model.encode().numpy(),fmt='%.2f',delimiter=',')但是运行报错:提示说要使用tensor.detach().numpy()detach()方法的作用是从计算图中脱离出来。返回一个新
·
保存
有一个tensor数据需要保存,这时训练好的一个节点embedding:
我们需要把结果保存下来:
刚开始使用的是:
np.savetxt('./obj/model.csv',model.encode().numpy(),fmt='%.2f',delimiter=',')
但是运行报错:
提示说要使用tensor.detach().numpy()
detach()
方法的作用是从计算图中脱离出来。返回一个新的tensor,新的tensor和原来的tensor共享数据内存,但不涉及梯度计算,即requires_grad=False。
因此需要改成np.savetxt('./obj/model.csv',model.encode().detach().numpy(),fmt='%.2f',delimiter=',')
就可以了。
- fmt : 写入文件的格式,例如:%d %.2f %.18e
- delimiter :分割字符串,默认是任何空格。 例如: a = np.arange(100).reshape(5,20)
加载
np.loadtxt(fname,dtype=np.float,delimiter=None,unpack=False)
- frame : 文件、字符串或产生器,可以是.gz 或.bz2的压缩文件
- dtype : 数据类型,可选
- delimiter :分割字符串,默认是任何空格。
- unpack :读入数据写入一个数组 如果是True,读入属性将分别写入不同变量.
例如: b = np.loadtxt(‘a.csv’,delimiter=’,’)
b = np.loadtxt(‘a.csv’,dtype = np.int,delimiter=’,’)
更多推荐
所有评论(0)