Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何获得SimpleRN的多重预测_Python_Tensorflow_Keras - Fatal编程技术网

Python 如何获得SimpleRN的多重预测

Python 如何获得SimpleRN的多重预测,python,tensorflow,keras,Python,Tensorflow,Keras,基本上我的系统是这样的 4个数组输入,返回1个数组输出 每个数组由12个数字组成 我的模型在下面 n_hidden = 512 input_shape = 12 input_len = 4 model = Sequential() model.add(SimpleRNN(n_hidden, input_shape=(input_len, input_shape), return_sequences=False)) model.add(Dense(n_hidden, activation=

基本上我的系统是这样的

  • 4个数组输入,返回1个数组输出
  • 每个数组由12个数字组成
我的模型在下面

n_hidden = 512
input_shape = 12
input_len = 4 
model = Sequential()

model.add(SimpleRNN(n_hidden, input_shape=(input_len, input_shape), return_sequences=False))
model.add(Dense(n_hidden, activation="linear")) 
model.add(Dense(input_shape, activation="linear"))
opt = Adam(lr=0.001)
model.compile(loss='mse', optimizer=opt)
model.summary()
预测码

in_ = basicdata[0].x[:1]
# in_.shape =  (1,4,12)

predicted = []
NUM_DATA = 100
cnt = 0
for i in range(NUM_DATA):
    out_ = model.predict(in_)  
    #it returns only 1 answer.
    #out_.shape = (1, 12) 

    in_ = np.concatenate((in_.reshape(input_shape, input_len)[1:], out_), axis=0).reshape(1, input_shape,input_len) 
    if cnt == 0:
        predicted = out_
    else:
        predicted = np.concatenate([predicted,out_],axis=0)
    cnt = cnt + 1
在这种情况下,
model.predict
接受
(1,4,12)
并返回一个数组
(1,12)
,但是, 我想从多个候选对象中获取
(10,12)
样本

我猜SimpleRN的
return\u序列
batch\u size
是相关的,但仍然是模糊的

据我理解

  • 返回\u序列

return\u sequences=False

A、 B,C,D=>(E)

return\u sequences=True

A、 B,C,D=>(A,B,C,D,E)

我想要下面这样的

A、 B,C,D=>(E1,E2,E3,E4,E5)

  • 批量大小
batch\u size
会影响输入形状


我想更改输出。

返回\u sequences=False
(序列分类器):

A、 B,C,D=>(E)

return\u sequences=True
(序列元素分类器):

A、 B,C,D=>(A1,B1,C1,D1)

如果您的模型经过训练可以预测下一个符号,则:

A、 B,C,D=>(B,C,D,E)

可以创建此类模型:

A、 B,C,D=>(E1,E2,E3,E4,E5)

它是seq2seq模型(例如,对于翻译,输入的长度不同于输出的长度)。您必须创建两个RNN:编码器和解码器。据我所知,这不是你想要的


batch\u size
是训练参数,用于实现随机梯度下降。

非常感谢您的清晰解释。我可能误解了一些观点。在下一步中,我还需要学习
seq2seq