繁体   English   中英

AveragePooling2D无法识别dtype

[英]AveragePooling2D doesn't recognize a dtype

我对AveragePooling2D有问题:

from keras.models import Sequential, Model
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D, ZeroPadding2D, GlobalAveragePooling2D, AveragePooling2D
import keras.backend as K
import math

K.clear_session()

base_model = InceptionV3(weights='imagenet', include_top=False, input_tensor=Input(shape=(150, 150, 3)))
x = base_model.outputs
x = AveragePooling2D(pool_size=(8, 8))(x)

我收到一个错误:


()中的AttributeError Traceback(最近一次通话最近)

〜/ anaconda3 / LIB / python3.6 /站点包/ keras /发动机/ topology.py在呼叫 (个体,输入,** kwargs)617 618#实际调用层,收集输出(S),掩模(一个或多个)和形状。 -> 619输出= self.call(输入,** kwargs)620 output_mask = self.compute_mask(输入,previous_mask)621

〜/ anaconda3 / lib / python3.6 / site-packages / keras / layers / pooling.py在调用中(self,输入)156 strides = self.strides,157 padding = self.padding,-> 158 data_format = self。 data_format)159返回输出160

_pooling_function中的〜/ anaconda3 / lib / python3.6 / site-packages / keras / layers / pooling.py(自身,输入,pool_size,步幅,填充,数据格式)273填充,数据格式):274输出= K.pool2d(输入,pool_size,stride,-> 275 padding,data_format,pool_mode ='avg')276返回输出277

〜/ anaconda3 / lib / python3.6 / site-packages / keras / backend / tensorflow_backend.py在pool2d中(x,pool_size,步幅,填充,data_format,pool_mode)
第3643章(3643),我来了(一)
3647如果tf_data_format =='NHWC':

_preprocess_conv2d_input(x,data_format)中的〜/ anaconda3 / lib / python3.6 / site-packages / keras / backend / tensorflow_backend.py 3202张量。 3203“”“-> 3204如果dtype(x)=='float64':3205 x = tf.cast(x,'float32')3206 tf_data_format ='NHWC'

〜/ anaconda3 / lib / python3.6 / site-packages / keras / backend / tensorflow_backend.py in dtype(x)640```641“”“-> 642 return x.dtype.base_dtype.name 643 644

AttributeError:“列表”对象没有属性“ dtype”

但是如果我打印(x),这就是我得到的结果:

tf.Tensor'mixed10 / concat:0'shape =(?, 3,3,2048)dtype = float32

所以基本上“ x”具有一个float32的dtype,但据我正确理解,AveragePooling2D无法识别它。 谁能指出我在哪里解决这个问题?

只需删除“ s”:

x = base_model.output

这是因为outputs会为您提供输出列表。 由于在这种情况下只有一个,因此output适合您。 否则,您必须从此列表中进行选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM