Can I implement the classifier-chains algorithm using TensorFlow?

I'm learning about multi-label classification and want to implement the Classifier Chains algorithm. I have implemented a Binary-Relevance model using TensorFlow using ResNet-50 pretrained on ImageNet.

I'm interested in extending this approach to use Classifier-Chains, which concatenates each feature vector with the outputs of all previous binary classifiers and trains on that.

At the moment, my input feature vector shape is (?,3,224,224). So how would I go about concatenating the outputs of the previous classifiers while maintaining a compatible shape? I'm using a custom tf.estimator.Estimator, so I would need to update my input pipeline to support this as well.

For instance, would I need to maybe flatten the input shape and append a vector representing the previous predictions of classifiers along the chain? Does this have performance implications? I am building on a GPU and to my knowledge, it requires channels_first shape.

I'm sure that it's probably relevant to ask even if classifier chains are suitable for use with high dimensional data like images.


0 Answers Can I implement the classifier-chains algorithm using TensorFlow?