import torch
# 省略部分代码
#----------------------网络模型,预测部分-----------------------------------#
class Net1:
def __init__(self,input_test):
self.inputn_test = scaler1.transform(input_test)
self.inputn_test = torch.Tensor(self.inputn_test)
#加载训练好的模型
def NNN(self):
print(self)
self.net1 = torch.load('./net1_model_2.pt')
self.net1.eval()
Y1 = self.net1(self.inputn_test)
Y1 = Y1.data.numpy()
self.BPoutput1 = scaler2.inverse_transform(Y1)
self.BPoutput1 = self.BPoutput1.reshape(-1)
在每个类中的self,其实代表了这个类,
在类中NNN这个函数,def NNN(self),则self可以理解为把该类传入函数,函数可以使用该类中的任何属性xxx(即self.xxx)
A=Net1(input_test) # 执行类中的__init__部分
A.NNN() # 执行NNN函数部分,此时类Net1增添了NNN函数中所有的self.xxx的属性
BPoutput1 = A.BPoutput1 # 可正常执行
如果:
A=Net1(input_test) # 执行类中的__init__部分
BPoutput1 = A.BPoutput1 # 不可正常执行,此时类中只有self.inputn_test属性,还没有BPoutput1属性