Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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 Keras输入形状定义-只能将元组(而不是“int”连接到元组_Python_Keras_Input_Shapes - Fatal编程技术网

Python Keras输入形状定义-只能将元组(而不是“int”连接到元组

Python Keras输入形状定义-只能将元组(而不是“int”连接到元组,python,keras,input,shapes,Python,Keras,Input,Shapes,在本教程之后,我将尝试创建我自己的版本。在教程代码本身中,replay函数在这样定义state numpay数组时出现python错误,batch\u size为32,state\u size为4(帧)*160(像素高度)+240(像素宽度): 抛出错误 can only concatenate tuple (not "int") to tuple ValueError: cannot reshape array of size 4915200 into shape (15

在本教程之后,我将尝试创建我自己的版本。在教程代码本身中,
replay
函数在这样定义state numpay数组时出现python错误,
batch\u size
为32,
state\u size
为4(帧)*160(像素高度)+240(像素宽度):

抛出错误

can only concatenate tuple (not "int") to tuple
ValueError: cannot reshape array of size 4915200 into shape (153600,)
然后根据教程填充
状态
变量:

适用于范围内的i(len(minibatch)):
状态[i]=小批量[i][0]

以下是我的困惑: 由于教程中的初始声明
np.zeros
行不正确,此
state
变量的正确形状是什么?我尝试提供一个shape
(32,4160240)
的numpy数组,即32个单独输入的数组。导致此错误的原因:

ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 153600 but received input with shape [32, 4, 160, 240]
然后我想,我需要将它重塑为一维数组,有一个空的零维,使用以下两行:

state=np.重塑(状态,(4*160*240))
状态=np。展开尺寸(状态,轴=0)

然而,这给了我一个错误

can only concatenate tuple (not "int") to tuple
ValueError: cannot reshape array of size 4915200 into shape (153600,)
TLDR:这个np.zeros((shape)+int)调用的目的是什么,为什么对我来说失败了,输入numpy数组的预期形状是什么,它有32个批处理样本,总共有153600个输入节点


谢谢。

np.zeros会根据您定义的大小创建一个NumPy零数组

您正在尝试将批处理大小与状态大小连接起来,但是:

(self.batch_size,) + self.state_size
请尝试删除括号和逗号:

 state = np.zeros(self.batch_size + self.state_size)

np.zeros
根据您定义的大小创建一个由零组成的NumPy数组

您正在尝试将批处理大小与状态大小连接起来,但是:

(self.batch_size,) + self.state_size
请尝试删除括号和逗号:

 state = np.zeros(self.batch_size + self.state_size)

这将创建一个包含32+153600个条目的单个数组,该数组与网络的输入计数不匹配。我想我需要的是一个包含单个批次32个条目的数组,每个批次有153600个条目。这将创建一个包含32+153600个条目的数组,该数组与网络的输入计数不匹配。我想我需要的是一个包含32个单独批次条目的数组,每个批次有153600个条目。更新:根据predict method API,输入可以是“或数组列表(如果模型有多个输入)。”因此我创建了一个空列表,并将批次附加到其中,这导致了这个错误:ValueError:Layer sequential需要1个输入,但它收到了32个输入张量。收到的输入:[,更新:根据predict method API,输入可以是“或数组列表(如果模型有多个输入)”,因此我创建了一个空列表并将批添加到其中,这导致了以下错误:ValueError:Layer sequential需要1个输入,但它收到了32个输入张量。收到的输入:[,