Python 什么';两者的区别是什么?没有张量形状的
这是形状(?)的情况 结果是effnet\u层形状(?,2,2,1280) 这就是形状的情况(无) conv后结果:(无,6,6,32) 展平后:(无,1152)Python 什么';两者的区别是什么?没有张量形状的,python,tensorflow,keras,tensorflow2.0,Python,Tensorflow,Keras,Tensorflow2.0,这是形状(?)的情况 结果是effnet\u层形状(?,2,2,1280) 这就是形状的情况(无) conv后结果:(无,6,6,32) 展平后:(无,1152) 两个输入形状都与(40,40,1)相同这没有意义。在Keras中,应返回一个Keras模型,该模型没有.shape属性。你能澄清一下你把你的efficientnetb0模型称为哪里吗?在第二个例子中,ShapeNone就是批量大小。在Keras中,将batch_size设置为None意味着它可以接受python对象使用的任何值None
两个输入形状都与(40,40,1)相同这没有意义。在Keras中,应返回一个Keras模型,该模型没有
.shape
属性。你能澄清一下你把你的efficientnetb0模型称为哪里吗?在第二个例子中,ShapeNone
就是批量大小。在Keras中,将batch_size
设置为None
意味着它可以接受python对象使用的任何值None
,与TF图断开连接。这意味着None
shapes不能用于图形模式执行(在某些情况下,可以在急切模式下提供空渐变)<代码>?表示tensorflow占位符,该占位符的图形是以未知维度构建的?
不能用于pythonic计算,大部分将被分离并隐式转换为None
。感谢您的回答。顺便说一下,我使用了这个包'efficientnet 1.1.1',并使用代码'import efficientnet.keras as effnet'来导入。
effnet_layers = effnet.EfficientNetB0(input_shape=(row,col, sat_channel), weights=None, include_top=False)(sat_inputs)
print("effnet_layers shape",effnet_layers.shape)
for i in range(sat_in_len_max*sat_in_dim):
sat_inputs = Input(shape=(row,col, sat_channel))
sat_layer = Conv2D(c1, (5, 5))(sat_inputs)
sat_layer = ReLU()(sat_layer)
sat_layer = MaxPool2D(pool_size=(2,2))(sat_layer)
sat_layer = Conv2D(c2, (7, 7))(sat_layer)
sat_layer = ReLU()(sat_layer)
sat_layer = MaxPool2D(pool_size=(2,2))(sat_layer)
print("after conv:", sat_layer.shape)
sat_layer = Flatten()(sat_layer)
print("after flatten:", sat_layer.shape)
sat_layer = Reshape((1, sat_layer.shape[1]))(sat_layer)