【问题标题】:ValueError: not enough values to unpack (expected 2, got 1)?ValueError:没有足够的值来解包(预期 2,得到 1)?
【发布时间】:2020-10-19 15:31:32
【问题描述】:
def cnn_data(data):
    x, y = data.shape[1:]
    return data.reshape((-1, x, y, 1))

我们在下面的代码中介绍这个函数。

model.fit(cnn_data(self.train_X), np.array(self.train_y),
                      batch_size=batch_size,
                      epochs=num_epochs,
                      verbose=1,
                      class_weight=class_weight,
                      validation_data=(cnn_data(self.val_X), np.array(self.val_y)),
                      shuffle=True,
                      use_multiprocessing=True,
                      callbacks=[tensorboard, early_stopping])

代码产生以下错误。它试图训练一个卷积神经网络。

Traceback (most recent call last):
  File "C:\Program Files\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Program Files\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "drunk_detector\__main__.py", line 808, in <module>
    dd.train()
  File "drunk_detector\__main__.py", line 283, in train
    cnn = self.train_cnn_hyperparameters()
  File "drunk_detector\__main__.py", line 653, in train_cnn_hyperparameters
    model.fit(cnn_data(self.train_X), np.array(self.train_y),
  File "drunk_detector\__main__.py", line 776, in cnn_data
    x, y = data.shape[1:]
ValueError: not enough values to unpack (expected 2, got 1)

【问题讨论】:

  • 看起来您的数据只有 2 个维度,而您正试图解开第 2 个和第 3 个维度

标签: python conv-neural-network


【解决方案1】:

在这行代码中,xy 是两个值,而 data.shape 只产生一个值:

x, y = data.shape[1:]

【讨论】:

    【解决方案2】:

    您的数据似乎有 2 个维度,因此 data.shape[1:] 只是一个整数。因此出现错误消息

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-28
      • 2018-04-21
      • 1970-01-01
      • 2016-04-10
      • 2016-07-05
      • 2020-02-20
      • 1970-01-01
      • 2023-03-20
      相关资源
      最近更新 更多