infocusp / tf_cnnvis

CNN visualization tool in TensorFlow
MIT License
780 stars 208 forks source link

visualization of concatenation operation #7

Closed gapbridger closed 6 years ago

gapbridger commented 7 years ago

thank you for the handy visualization tool in my code, i have a concatenation operation (tf.concat) defined in the network, but the tool is unable to visualize any layer after the concatenation layer. would you please help to take a look?

falaktheoptimist commented 7 years ago

Sure. We'd be happy to help. Please share a short snippet demonstrating a model with concatenation layer included and we'll give it a shot. Or just share the pb file of the model you're using if you don't mind sharing that.

gapbridger commented 7 years ago

hi thank you for the response and sorry for the delay here is a snippet of the concatenation part of our model: prior to this is the normal convolutional layers and after this is also some normal convolutional & pooling layers.

Please help to take a look, thank you.

conv_7 = slim.conv2d(conv_6, 64, [5, 5], scope='conv7') conv_7_pool = slim.max_pool2d(conv_7, [3, 3], stride=2, scope='pool2')

branch_fc = slim.fully_connected(branch_input, 64, scope='branch-fc1') conv_shape = conv_7_pool.get_shape().as_list() branch_fc_expand = tf.expand_dims(tf.expand_dims(branch_fc, 1), 1) branch_tile = tf.tile(branch_fc_expand, multiples=[1, conv_shape[1], conv_shape[2], 1]) branch_conv_1 = slim.conv2d(branch_tile, 64, [3, 3], scope='branch-conv1') combined_input = tf.concat([conv_7_pool, branch_conv_1], axis=1)

combined_conv_1 = slim.conv2d(combined_input, 64, [3, 3], scope='combined-conv1')

BhagyeshVikani commented 7 years ago

Hii @gapbridger,

I think your graph contains two branches and each branch takes input from different placeholders. Correct me if I am wrong.

Thank You.

gapbridger commented 7 years ago

That is correct.

On Fri, Sep 1, 2017 at 5:21 PM, Bhagyesh Vikani notifications@github.com wrote:

Hii @gapbridger https://github.com/gapbridger,

I think your graph contains two branches and each branch takes input from different placeholders. Correct me if I am wrong.

Thank You.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/InFoCusp/tf_cnnvis/issues/7#issuecomment-326533456, or mute the thread https://github.com/notifications/unsubscribe-auth/ACfw3VIInkf-7hr0Ci0SXy2t_PglKbJVks5sd8yOgaJpZM4NXl89 .

BhagyeshVikani commented 7 years ago

Hello @gapbridger

Sorry for the delay. Can you please share your error stack?

falaktheoptimist commented 7 years ago

Hi! combined_input = tf.concat([conv_7_pool, branch_conv_1], axis=1) This seems like an unusual operation - you're concatenating in the 1st dimension? Usually, we've seen examples of concatenations in the channels (axis=3) and for those our visualization did work.

BhagyeshVikani commented 6 years ago

Closing this now, for lack of activity.