python - ValueError:无法重塑数组
问题描述
我正在关注本教程https://www.youtube.com/watch?v=DtBu1u5aBsc&t=1594s进行面部情绪识别,但在尝试重塑数组大小时遇到了麻烦。这是代码:
num_features=64 num_labels=7 batch_size=64 epochs=30 width,height=18,18 X_train=X_train.reshape(X_train.shape[0],width,height,1)
这是回溯:
Traceback (most recent call last):
File "emotion_detection.py", line 60, in <module>
X_train=X_train.reshape(X_train.shape[0],width,height,1)
ValueError: cannot reshape array of size 66145536 into shape (28709,18,18,1)
这是什么意思,我该如何解决?
解决方案
根据您的大小为 66145536 的 X_train 以及您想要 28709 个“行”(在您的第一维中)的事实,宽度和高度需要为 48。
66145536 / 28709 = 2304
平方(2304)= 48
所以 28709 * 48 * 48 * 1 = 66145536,这与您拥有的数据量相同。
编辑:查看您链接的教程后,他们确实使用 48 作为宽度和高度。您将其更改为 18,这不适用于相同的数据。
推荐阅读
- c - 在文本文件中查找特定数字并从该点打印文件的其余部分 C
- r - 将 NA 替换为“”,但仅限于字符列
- csv - 合并具有相同标题的 csv 文件:使用 xargs 将多个文件传递给 awk
- linq-to-xml - 根据子元素条件选择 XML 元素数组
- javascript - NestJs/Mongoose 同一模型的多个模式
- powershell - 应用程序未检测到“Powershell 编码”击键
- swift - 开关/案例中的错误警告消息,`案例已由以前的模式处理;考虑删除它。`
- javascript - 更改日期/时间字符串格式 javascript
- material-ui - 材质 UI RTL
- unix - grep 可以同时搜索换行符和空字符吗?