Python ValueError:没有足够的值来解包(预期为2,得到1)?
我们将在下面的代码中介绍此函数Python ValueError:没有足够的值来解包(预期为2,得到1)?,python,cnn,Python,Cnn,我们将在下面的代码中介绍此函数 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, e
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])
回溯(最近一次呼叫最后一次):
文件“C:\Program Files\Python37\lib\runpy.py”,第193行,位于作为主模块的运行模块中
“\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
文件“C:\Program Files\Python37\lib\runpy.py”,第85行,在运行代码中
exec(代码、运行\全局)
文件“醉酒检测器\\uuuu main\uuuuu.py”,第808行,在
dd.列车()
列车283行的文件“醉酒检测器\\uuuu main\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
cnn=self.train\u cnn\u hyperparameters()
列车cnn超参数中第653行文件“醉酒检测器\\uuu main\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
模型拟合(cnn_数据(self.train_X),np.array(self.train_y),
cnn\U数据中第776行的文件“醉酒检测器\\uuuuu main\uuuuu.py”
x、 y=数据。形状[1:]
ValueError:没有足够的值来解包(预期值为2,实际值为1)
在这行代码中x
和y
是两个值,而数据。shape
只产生一个值:
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)
您的数据似乎有两个维度,因此data.shape[1:]仅为一个整数。因此,错误消息看起来您的数据只有两个维度,您正在尝试解包第二个和第三个维度
x, y = data.shape[1:]