keras - 当我给它 2 时,Keras LSTM 期望 3 维,但当我给它 3 时,它期望 4 维
问题描述
这给了我一个错误,告诉我它预期 3 个维度但得到了 2 个:
input_layer = 输入(形状=(无,1000000))
lstm_1 = LSTM(500, dropout=.2, recurrent_dropout=.2)(input_layer)
这些中的任何一个都给了我一个错误,告诉我它需要 4 个维度但得到了 3 个:
input_layer = Input(shape=(None, 1000000, None))
input_layer = Input(shape=(None, None, 1000000))
解决方案
输入shape
参数没有考虑批量大小,所以真正给出shape=(None, 1000)
是期望的(batch_size, None, 100)
,它变成了 3 维的。因此,您需要输入形状数据(样本、时间步长、特征),因此需要输入fit
函数的 3D 数据。
推荐阅读
- bioinformatics - 需要命令或脚本使用模式匹配重命名 linux 中的文件列表
- javascript - 无法使用 send_data 或 send_file 将数据下载为文件
- postgresql - Postgres 的 GCC/Clang 中的锁争用很高
- php - SyslogHandler + JSON 日志导致 Google Cloud Logging 中的格式损坏
- http - 在 Apache Nifi 中使用 ListenHTTP 时防止丢失数据
- ubuntu - kubernetes nginx 服务未从浏览器打开
- visual-studio - 添加下一个特殊符号时,如何启用智能感知的自动补全功能?
- dart - Dart 语言中的原始数据类型
- php - 如何运行 do-while 循环,该循环使用 PHP 检查 JSON 中的值?
- grails - 如何在不初始化 Grails 环境的情况下运行 Spock 单元测试