我想要提供形状(160,320,3)的图像
VGG16(input_tensor=input_tensor, include_top=False)
Run Code Online (Sandbox Code Playgroud)
如何将图像重塑为VGG16模型预期的形状(224,224,3)?
ind*_*you 14
VGG16 模型本身只是固定的层序列和固定卷积内核大小等的一组权重.这并不意味着那些卷积内核不能应用于其他大小的图像.
例如在你的情况下:
from keras.models import Model
from keras.layers import Dense,Flatten
from keras.applications import vgg16
from keras import backend as K
model = vgg16.VGG16(weights='imagenet', include_top=False, input_shape=(160,320,3))
model.summary(line_length=150)
flatten = Flatten()
new_layer2 = Dense(10, activation='softmax', name='my_dense_2')
inp2 = model.input
out2 = new_layer2(flatten(model.output))
model2 = Model(inp2, out2)
model2.summary(line_length=150)
Run Code Online (Sandbox Code Playgroud)
根据这里,最小图像尺寸可以是48x48x3任何高于此值的图像尺寸.
现在真正的原始权重是在224,224,3成形图像上学习的,但过滤器权重对于具有新图像集的新任务来说是非常好的起点.您确实需要重新训练网络,但网络会很快收敛.这是转学的基础.
| 归档时间: |
|
| 查看次数: |
6621 次 |
| 最近记录: |