我正在建立一个cnn_rnn网络进行图像分类。我在jupyter笔记本中运行以下python代码时遇到错误。
# model
model1 = Sequential()
# first convolutional layer
model1.add(Conv2D(32, kernel_size=(3, 3),activation='relu',input_shape(160, 120, 3)))
# second convolutional layer
model1.add(Conv2D(64, kernel_size=(3, 3), activation='relu'))
#Adding a pooling Layer
model1.add(MaxPooling2D(pool_size=(3, 3)))
#Adding dropouts
model1.add(Dropout(0.25))
# flatten and put a fully connected layer
model1.add(Flatten())
model1.add(Dense(32, activation='relu')) # fully connected
#Adding RNN N/W
model1.add(LSTM(32, return_sequences=True))
model1.add(TimeDistributed(Dense(5, activation='softmax')))
我还尝试将input_shape =(160,120,3)添加为LSTM函数的参数,但无济于事。请帮忙!
P.S:我也尝试使用GRU而不是LSTM,但是遇到了同样的错误。
更新:请注意model.summary()结果
enter image description here
参考方案
您的错误是由于在LSTM层之前使用了Flatten和Dense。
LSTM层要求输入的形状为(批量大小x长度x特征深度0)(或某些变形),而展平将Conv2D输出从(B x H x W x F)更改为(B x W * F * H)如果有道理。如果要使用此体系结构,建议您使用Reshape层来展平所需的尺寸,并在LSTM层之前使用内核大小为1的Conv1D(与完全连接的层相同)。
或者,如果您想使用此确切的代码,请将其添加到LSTM层之前,它应该可以工作:
model1.add(Reshape(target_shape =(1,54 * 40,32))
由于pool_size为(3,3),因此分别为54和40。
Python GPU资源利用 - python我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…
Python sqlite3数据库已锁定 - python我在Windows上使用Python 3和sqlite3。我正在开发一个使用数据库存储联系人的小型应用程序。我注意到,如果应用程序被强制关闭(通过错误或通过任务管理器结束),则会收到sqlite3错误(sqlite3.OperationalError:数据库已锁定)。我想这是因为在应用程序关闭之前,我没有正确关闭数据库连接。我已经试过了: connectio…
Python exchangelib在子文件夹中读取邮件 - python我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…
python:ConfigParser对象,然后再阅读一次 - python场景:我有一个配置文件,其中包含要执行的自动化测试的列表。这些测试是长期循环执行的。 配置文件的设计方式使ConfigParser可以读取它。由于有两个三个参数,因此我需要通过每个测试。现在,此配置文件由script(s1)调用,并且按照配置文件中的列表执行测试。Script(s1)第一次读取配置,并且在每次测试完成后都会执行。阅读两次的要求:由于可能会…
训练时的scikit-learn:RandomForestRegressor:ValueError - python我有一个包含我的标签的pandas系列s和一个包含我的数据的pandas DataFrame df。我想使用sklearn RandomForestRegressor生成标签的预测。model = RandomForestRegressor(n_estimators=1000, max_depth= 30 , random_state=31415) mode…