Bonky
Neither believe nor reject anything, because any other person has rejected or believed it. Heaven has given you a mind for judging truth and error, Use it.
By Thomas Jefferson

训练神经网络的一些技巧(2)

训练神经网络的一些技巧(2)

消除所有为1的维度

直接对于tensor使用 squeeze 函数:

当然unsqueeze 是加维度,参数为多少,就在那个维度上设置为1。(注意不能超过范围)

假如我们想要把一个维度为 (1,B,D) 转换为 (B,D,1) 怎么办呢?可以利用先压缩,再解压的方法。

利用zip构建训练集

zip 的使用方法如下:

因此,我们可以传给zip 输入输出,然后构造训练集

tensor.clone()

复制tensor,和 copy() 不同的是,clone()得到的Tensor不仅拷贝了原始的value,而且会计算梯度传播信息,copy_()只拷贝数值

进行三维以上的转置

直接使用 a.t_() 会报错,应该使用 transpose_()

进行Tensor中的 “1” 的定位

在编码方式为onehot的时候,定位 “1” 是非常重要的。我的思路是先转换为列表,然后利用 index() 函数进行找到 “1”

如果要选出 softmax 最大的一个,可以用 argmax 函数。简单的例子如下

Share

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注