针对部分大佬写的代码,并未对数据进行反归一化,这导致对于我这种小白画图不太友好,因此我通过一上午的检索找到了一种修改方法,经测试有效!
针对改代码错误: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) 如果有效,请点赞收藏!