本人在使用Keras框架编写RNN中LSTM网络时,遇到以下一个棘手问题:
本人上网查了好多资料,发现,大致分为这几种情况:
这里重点讲第一种,也是我遇到的!
这里要求是彻底的转换,不含嵌套,比如arry([[list([12.0, 25.0, 32.0, 47.0, 54.0, 66.0]), list([20.0, 21.0, 36.0, 41.0, 53.0, 69.0])]), 这种情况不彻底,会继续报错。
应该转换成:arry([[12.0, 25.0, 32.0, 47.0, 54.0, 66.0], [20.0, 21.0, 36.0, 41.0, 53.0, 69.0]].
换句话说,arry里面的应该只有一种且只能有一个容器类型,arry([[list([12.0, 25.0, 32.0, 47.0, 54.0, 66.0]), list([20.0, 21.0, 36.0, 41.0, 53.0, 69.0])])虽然内部是一种list容器,是一维的,但有两个,他们相当于独立的; 而arry([[12.0, 25.0, 32.0, 47.0, 54.0, 66.0], [20.0, 21.0, 36.0, 41.0, 53.0, 69.0]]显然内部只有一个list容器,是二维的。