yu4u / age-gender-estimation

Keras implementation of a CNN network for age and gender estimation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Variable shape and weights shape are not matching

christer1114 opened this issue · comments

Hi,

I am trying to run the codes for Age detection using jupyter notebook but I an getting errors when I try to load the weights.
When the code below is used,

base_model = ResNet50(include_top=False, weights='imagenet', input_shape=(224, 224, 3), pooling="avg")
prediction = Dense(units=101, kernel_initializer="he_normal", use_bias=False, activation="softmax",
name="pred_age")(base_model.output)
model = Model(inputs=base_model.input, outputs=prediction)

it yields,

ValueError: Cannot assign to variable conv3_block1_0_conv/kernel:0 due to variable shape (1, 1, 256, 512) and value shape (512, 128, 1, 1) are incompatible

Please help.

commented

Hi,

I am trying to run the codes for Age detection using jupyter notebook but I an getting errors when I try to load the weights.
When the code below is used,

base_model = ResNet50(include_top=False, weights='imagenet', input_shape=(224, 224, 3), pooling="avg")
prediction = Dense(units=101, kernel_initializer="he_normal", use_bias=False, activation="softmax",
name="pred_age")(base_model.output)
model = Model(inputs=base_model.input, outputs=prediction)

it yields,

ValueError: Cannot assign to variable conv3_block1_0_conv/kernel:0 due to variable shape (1, 1, 256, 512) and value shape (512, 128, 1, 1) are incompatible

Please help.

HI @christer1114
did you found solution for this problem?

is it crucial you run it from jupyter/IDE? demo.py works fine from the command line

same problem

This is pretty old, but maybe it will help others.

I had this problem too. I found this stack overflow answer that helped me. You just need to add by_name=True in the model.load_weights(weight_file) method call. It should be model.load_weights(weight_file,by_name=True). It worked for me, so it might work for you too.

This is pretty old, but maybe it will help others.

I had this problem too. I found this stack overflow answer that helped me. You just need to add by_name=True in the model.load_weights(weight_file) method call. It should be model.load_weights(weight_file,by_name=True). It worked for me, so it might work for you too.

thank you! I will try & check it!