Transformer反归一化

针对部分大佬写的代码,并未对数据进行反归一化,这导致对于我这种小白画图不太友好,因此我通过一上午的检索找到了一种修改方法,经测试有效!

针对改代码错误:ValueError: cannot select an axis to squeeze out which has size not equal to one


初始代码:

if test_data.scale and self.args.inverse:
    shape = outputs.shape
    # outputs = test_data.inverse_transform(outputs.squeeze(0)).reshape(shape)
    # batch_y = test_data.inverse_transform(batch_y.squeeze(0)).reshape(shape)
修改后代码:

    if test_data.scale and self.args.inverse:
        shape = outputs.shape
        outputs = test_data.inverse_transform(
            outputs.reshape((shape[0] * shape[1],) + shape[2:])).reshape(shape)
        batch_y = test_data.inverse_transform(
            batch_y.reshape((shape[0] * shape[1],) + shape[2:])).reshape(shape)

另一处修改,在上面这个修改下面几行处,请自行查找

修改前:
input = test_data.inverse_transform(input.squeeze(0)).reshape(shape)
修改后:
input = test_data.inverse_transform(
    input.reshape((shape[0] * shape[1],) + shape[2:])).reshape(shape)
如果有效,请点赞收藏!
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值