Closed GerrieWell closed 5 years ago
674/8 = 84.25 should be multiplicity of stride_size(ie int(N)*stride), stride is currently 8. Pad it with few extra pixels with color (128,128,128)
@anatolix Thanks for your answer.
Do u mean use (128,128,128) as the value of img_input_shape
? I'm not familiar with pose estimation. And I use the last commit(e05cb7). I just wanna reproduced the demo result( python demo_image.py --image ./sample_images/ski.jpg ). What other arguments do I need to modify to implement it?
Thank you very much in advance.
I got this error message with using (128,128,128)
(tensorflow) wuyong@xy-desktop:~/Share/reidPrj/keras_Realtime_Multi-Person_Pose_Estimation$ python demo_image.py --image ./sample_images/ski.jpg
Using TensorFlow backend.
start processing...
Traceback (most recent call last):
File "demo_image.py", line 247, in <module>
model = get_testing_model()
File "/home/xy/share/reidPrj/keras_Realtime_Multi-Person_Pose_Estimation/model.py", line 192, in get_testing_model
x = Concatenate()([stage1_branch1_out, stage1_branch2_out, stage0_out])
File "/home/wuyong/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/engine/topology.py", line 530, in __call__
self.build(input_shapes)
File "/home/wuyong/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/layers/merge.py", line 160, in build
'Got inputs shapes: %s' % (input_shape))
ValueError: `Concatenate` layer requires inputs with matching shapes except for the concat axis. Got inputs shapes: [(None, 38, 16, 16), (None, 19, 16, 16), (None, 128, 16, 16)]
I try assign Concatenate with axis from 0~3. But none of them make it work.
Do u mean use (128,128,128) as the value of img_input_shape?
no. I mean what input image could be 8x8 or 16x8 or 80x80 but not 81xSomething. if you image is 81x80 just make it 88x80 by padding 7 extra pixels. Pixels should be gray color = (128,128,128)
btw you have working code in notebook and demo.py just look there.
line: img_input_shape = (None, None, 3) in model shouldn't be touched at all - None means "autodetect" network is fully convolutional i.e could take any shapes with 8 pixels step
So what's wrong with the code? I really have no idea. I try to reset hard
to last commit. And it still output like that:
python demo_image.py --image ./sample_images/ski.jpg
Using TensorFlow backend.
start processing...
Traceback (most recent call last):
File "demo_image.py", line 247, in <module>
model = get_testing_model()
File "/home/xy/share/reidPrj/keras_Realtime_Multi-Person_Pose_Estimation/model.py", line 184, in get_testing_model
stage0_out = vgg_block(img_normalized, None)
File "/home/xy/share/reidPrj/keras_Realtime_Multi-Person_Pose_Estimation/model.py", line 29, in vgg_block
x = conv(x, 64, 3, "conv1_1", (weight_decay, 0))
File "/home/xy/share/reidPrj/keras_Realtime_Multi-Person_Pose_Estimation/model.py", line 20, in conv
bias_initializer=constant(0.0))(x)
File "/home/wuyong/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/engine/topology.py", line 528, in __call__
self.build(input_shapes[0])
File "/home/wuyong/anaconda3/envs/tensorflow/lib/python3.5/site-packages/keras/layers/convolutional.py", line 125, in build
raise ValueError('The channel dimension of the inputs '
ValueError: The channel dimension of the inputs should be defined. Found `None`.
I don't think there are something wrong with my tensorflow cause the tensorflow demo run perfectly(python mnist_deep.py
), and so other projects are. BTW, the message showed it's using gpu GTX1080 when I tried other project.
Do u have any suggestions?
In this case it could be some keras compatibility problem, can't reproduce anything like this
Just update keras version to 2.1.2 pip install keras==2.1.2
Seem like something wrong with img_input_shape. So I chance 177 line of model.py to this:
Then new error occur:
What's wrong with that? What shape img_input_shape should be ?