【问题标题】:Error when checking input: expected dense_34_input to have shape (33,) but got array with shape (1,)检查输入时出错:预期 dense_34_input 的形状为 (33,) 但得到的数组的形状为 (1,)
【发布时间】:2020-09-04 10:32:40
【问题描述】:

我想将我的数组放在我训练有素的模型上,但我收到了这个错误

Error when checking input: expected dense_34_input to have shape (33,) but got array with shape (1,)

我重现此问题的代码是:

    def start(self):
        self.df = pd.read_csv('data_use.csv')
        self.all_Algorithm = self.df
        d = 0
        self.ResultArray = self.all_Algorithm.loc[1+d:11+d]
        self.reversed_df = self.ResultArray.iloc[::-1]
        print(self.reversed_df)
        model = load_model('trained_model.h5')
        model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

        self.Array = pd.DataFrame() 
        for i in range(1,12):
            print(i)
            g = i * 3 - 2
            self.Array.at[g,'RowForInput'] = self.reversed_df.loc[i,'weight']
            self.Array.at[g+1,'RowForInput'] = self.reversed_df.loc[i,'Size']
            self.Array.at[g+2,'RowForInput'] = self.reversed_df.loc[i,'Age']
        print(self.Array.shape)

        results = model.predict(self.Array)
        print('test loss, test acc:', results)

有人可以帮忙吗?

编辑

根据 cmets,我更改了初始化数组的方式,但现在出现以下错误:

 Error when checking input: expected dense_34_input to have shape (33,) but got array with shape (0,)

【问题讨论】:

  • 您不提供回溯或以其他方式指出错误发生的位置,尽管一个很好的猜测是model.predict(self.Array)。如果是这样,你看过self.Array吗?它是什么?看起来像一个数据框。您打印shape 但不要告诉我们!该模型可以使用数据框输入吗?还是宁愿有一个 numpy 数组(或张量对象)?
  • 那段代码对我们几乎没用。我们无法重现您的问题。它基于几个我们无法加载的文件(即使您提供了链接,也可能不想加载)。
  • @hpaulj 基本上我面临的问题是我需要一个包含一行和 33 个列的数组。目前我有 33 行和 1 列。你知道如何反转它吗?
  • 如果只是将 (1,33) 数组更改为 (33,1) 的问题,那么 transpose 就可以解决问题。但这不是错误告诉我们的。
  • 谢谢它解决了我的问题

标签: python pandas numpy tensorflow keras


【解决方案1】:

为什么用空列 Email 初始化 self.Array?从您的代码来看,您似乎不需要它。如果是这样,你可以这样做

self.Array = pd.DataFrame() 

如果你真的在其他地方需要它(尽管 Emaildtype='float32' 没有意义),请这样做

results = model.predict(self.Array.iloc[:,1:]

【讨论】:

  • 你说得对。我只是把电子邮件放在那里作为行的占位符。我按照你的指示做了,但现在我面临另一个问题。
猜你喜欢
  • 2021-02-07
  • 2020-06-30
  • 2019-10-22
  • 1970-01-01
  • 2020-04-11
  • 2020-05-17
  • 2020-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多