首页 > 解决方案 > 已加载模型的保留数据

问题描述

在一个单独的程序中,我训练我的神经网络。该训练网络的 X 和 Y 形状分别为 (37, 145662) 和 (37,)。在这个程序中,我保留的 X 和 Y 形状分别是 (14, 5952) 和 (14,)。最初,当我使用保持集评估经过训练的模型时,我遇到了“模型预期大小 145662 但得到 5952”的错误。

我已经使用来自其他项目的保留数据评估了训练有素的模型,并且能够让这些模型发挥作用,但我无法弄清楚这一点。我目前收到此错误:

ValueError: Input 0 of layer sequential_1 is incompatible with the layer: expected axis -1 of input 
shape to have value 145662 but received input with shape [None, 5952]

这个错误发生在这里:

score = model.evaluate(X, Y, verbose=0)

编码:

model = load_model('my_model')
model.summary()

def combinefilesonetemperature(temperature):
  spectrum_filestring="/content/drive/My Drive/Super_Official_C140_Interpolated_Data/Holdout_Data/
  TCSPC-" + str(temperature) + "C.csv"
  spectrum_y_vals = pd.read_csv(spectrum_filestring, header=None).values.T[2]

  TCSPC_filestring="/content/drive/MyDrive/Super_Official_C140_Interpolated_Data/Holdout_Data/ 
  spectra-" + str(temperature) + "C.csv"
  TCSPC_y_vals = pd.read_csv(TCSPC_filestring, header=None).values.T[2] 
  combinedlist = np.concatenate([spectrum_y_vals, TCSPC_y_vals])
  return combinedlist

temperaturelist = ["36.2", "38.7", "42.4", "48.7", "52.5", "58.6", "60.6", "36.2", "38.7", "42.4", 
"48.7", "52.5", "58.6", "60.6"]
temperaturelist = [float(item) for item in temperaturelist]

numtemps = np.asarray(temperaturelist).size
# print(numtemps) #14
X=np.empty((numtemps, 5952)) 
Y=np.empty(numtemps) 
for (i, temperature) in enumerate(temperaturelist): 
   X[i] = combinefilesonetemperature(temperature)
   Y[i] = temperature
score = model.evaluate(X, Y, verbose=0) 
print("Holdout Set Results: " + str(score)) 

有没有人遇到过这个问题,或者知道我可能哪里出错了?

标签: pythontensorflowgoogle-colaboratory

解决方案


推荐阅读