Python ValueError:对象_数组_方法未生成数组

Python ValueError:对象_数组_方法未生成数组,python,tensorflow,keras,Python,Tensorflow,Keras,正在尝试从以下链接运行代码: 获取错误:ValueError:objectarray方法未生成数组 keras版本:2.3.0-tf 请帮忙。谢谢 mlp的单变量一步问题 从numpy导入数组 从keras.models导入顺序 从keras.layers导入稠密 从keras.preprocessing.sequence导入TimeseriesGenerator #定义数据集 系列=数组([1,2,3,4,5,6,7,8,9,10]) #定义生成器 n_输入=2 生成器=时间序列生成器(系列,

正在尝试从以下链接运行代码: 获取错误:ValueError:objectarray方法未生成数组

keras版本:2.3.0-tf

请帮忙。谢谢

mlp的单变量一步问题 从numpy导入数组 从keras.models导入顺序 从keras.layers导入稠密 从keras.preprocessing.sequence导入TimeseriesGenerator #定义数据集 系列=数组([1,2,3,4,5,6,7,8,9,10]) #定义生成器 n_输入=2 生成器=时间序列生成器(系列,系列,长度=n\u输入,批次大小=8) #定义模型 模型=顺序() 添加模型(密集型(100,激活='relu',输入尺寸=n输入)) 模型.添加(密度(1)) compile(优化器='adam',loss='mse') #拟合模型 model.fit_生成器(生成器,每_epoch的步数=1,epoch=200,verbose=0) #用样本做一步预测 x_输入=数组([9,10])。重塑((1,n_输入)) yhat=model.predict(x_输入,verbose=0) 印刷品(yhat) 错误

ValueError                                Traceback (most recent call last)
    <ipython-input-8-550aa8802f57> in <module>()
         11 # define model
         12 model = Sequential()
    ---> 13 model.add(Dense(100, activation='relu', input_dim=n_input))
         14 model.add(Dense(1))
         15 model.compile(optimizer='adam', loss='mse')
-----------------
   ~\AppData\Roaming\Python\Python36\site-packages\tensorflow\python\framework\constant_op.py in convert_to_eager_tensor(value, ctx, dtype)
         94       dtype = dtypes.as_dtype(dtype).as_datatype_enum
         95   ctx.ensure_initialized()
    ---> 96   return ops.EagerTensor(value, ctx.device_name, dtype)
         97 
         98 

    ValueError: object __array__ method not producing an array
ValueError回溯(最近一次调用)
在()
11#定义模型
12模型=顺序()
--->13模型添加(密集型(100,激活=relu',输入尺寸=n输入))
14型号。添加(密度(1))
15 model.compile(优化器='adam',loss='mse')
-----------------
~\AppData\Roaming\Python\Python36\site packages\tensorflow\Python\framework\constant\u op.py in convert\u to\u eager\u tensor(值、ctx、数据类型)
94 dtype=dtypes.as\u dtype(dtype).as\u datatype\u enum
95 ctx.确保_已初始化()
--->96返回运算符(值,ctx.device\u名称,数据类型)
97
98
ValueError:对象_数组_方法未生成数组

我能够使用
TF2.2.0
Keras 2.3.0
在Jupyter和Google Colab中执行您的代码

为了社区的利益,请参考下面的完整代码和输出

import tensorflow as tf
import keras
print(keras.__version__)
print (tf.__version__)
from numpy import array
from keras.models import Sequential
from keras.layers import Dense
from keras.preprocessing.sequence import TimeseriesGenerator
# define dataset
series = array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
# define generator
n_input = 2
generator = TimeseriesGenerator(series, series, length=n_input, batch_size=8)
# define model
model = Sequential()
model.add(Dense(100, activation='relu', input_dim=n_input))
model.add(Dense(1))
model.compile(optimizer='adam', loss='mse')
# fit model
model.fit_generator(generator, steps_per_epoch=1, epochs=200, verbose=0)
# make a one step prediction out of sample
x_input = array([9, 10]).reshape((1, n_input))
yhat = model.predict(x_input, verbose=0)
print(yhat)
输出:

2.3.1
2.2.0
[[11.588003]]

如果您的问题仍然存在,请让我知道我很乐意帮助您。

代码工作正常。您尝试过更改tensorflow的版本吗?谢谢@Yoskutik的回复!我试过tensorflow 1.8.0,但没用。你用的是哪个版本?我用的是版本:2.2.0我也用的是2.2.0实际上,现在我没有任何想法。你试过在Google Colab中运行你的代码吗?如果仍在调用错误,则问题出在代码的其他地方