如何在tensorflow中生成VGG16多功能
我想在VGG16中获得多个功能,并在如何在tensorflow中生成VGG16多功能,tensorflow,model,Tensorflow,Model,我想在VGG16中获得多个功能,并在build()中编写代码,如: # ... # ch=256 self.front_feature = tf.keras.models.Sequential([ vgg16.get_layer("input_1"), # Original size vgg16.get_layer("block1_conv1"), vgg16.get_layer("block1_conv2"),
build()
中编写代码,如:
# ...
# ch=256
self.front_feature = tf.keras.models.Sequential([
vgg16.get_layer("input_1"),
# Original size
vgg16.get_layer("block1_conv1"), vgg16.get_layer("block1_conv2"), vgg16.get_layer("block1_pool"),
# Original size / 2
vgg16.get_layer("block2_conv1"), vgg16.get_layer("block2_conv2"), vgg16.get_layer("block2_pool"),
# Original size / 4
vgg16.get_layer("block3_conv1"), vgg16.get_layer("block3_conv2"), vgg16.get_layer("block3_conv3"),
# Original size / 4
vgg16.get_layer("block3_pool"),
# Original size / 8
],
name=self.feature_layer_name+'_front'
)
# ch=512
self.l4_feature = tf.keras.models.Sequential([
# Original size / 8
vgg16.get_layer("block4_conv1"), vgg16.get_layer("block4_conv2"), vgg16.get_layer("block4_conv3"),
# Original size / 8
],
name=self.feature_layer_name+'_L4'
)
self.l4_pool = tf.keras.models.Sequential([
# Original size / 8
vgg16.get_layer("block4_pool"),
# Original size / 16
],
name=self.feature_layer_name+'_L4_pooling'
)
# ch=512
self.l5_feature = tf.keras.models.Sequential([
# Original size / 16
vgg16.get_layer("block5_conv1"), vgg16.get_layer("block5_conv2"), vgg16.get_layer("block5_conv3"),
# Original size / 16
],
name=self.feature_layer_name+'_L5'
)
self.l5_pool = tf.keras.models.Sequential([
# Original size / 16
vgg16.get_layer("block5_pool"),
# Original size / 32
],
name=self.feature_layer_name+'_L5_pooling'
)
但这有点愚蠢,所以我尝试将其写入一个模型对象,如:
vgg16=tf.keras.applications.VGG16(weights='imagenet', include_top=False)
self.feature_model_t = tf.keras.Model(
inputs=vgg16.input,
outouts=[
vgg16.get_layer('block3_pool').output,
vgg16.get_layer('block4_conv3').output,
vgg16.get_layer('block4_pool').output,
vgg16.get_layer('block5_conv3').output
],
)
然后我运行代码,但是
TypeError:('Keyword argument not Understanding:','inputs')
如何修复它?请确保已安装最新版本的TensorFlow 如果TensorFlow 2.1出现这种情况,请降级到TensorFlow 2.0。此外,如果您安装了Keras,您可以卸载它,因为您从TensorFlow内部使用Keras 编辑:如果问题仍然存在,请确保将正确的参数传递给参数输入(提示:检查是否正确检索VGG16的输入)
此外,由于“
out
”中的输入错误,您也会遇到问题;请重命名为outputs
我测试了2.0.0和2.1.0,相同的问题类型错误:('Keyword argument not Understanding:','inputs')。您是否将VGG16的正确输入传递给输入?如果答案解决了您的问题,也请向上投票,谢谢。