NVIDIA / gpu-rest-engine

A REST API for Caffe using Docker and Go
BSD 3-Clause "New" or "Revised" License
421 stars 94 forks source link

GRE Outputs wrong labels #21

Closed wellarno closed 6 years ago

wellarno commented 6 years ago

Hello, I made my own DIGITS Model with GoogLeNet and implemented it in GRE, adding the files to Docker and changing the Dockerfile.caffe_server so that it should use my Model-files.

After sending one image to GRE via CURL, it outputs always the same label as the highest-confidence-one, exactly that label that has the first position in the "labels.txt". The following confidences are more or less random labels.

I already changed the labels.txt to verify this and GRE told me the new "first" label for the exact same image with the exact same percentage.

Anyone encountered a similar problem and maybe got a solution for this?

The same images were identified correctly on DIGITS itself.

Thanks in advance!

flx42 commented 6 years ago

The image pre-processing steps might be different than DIGITS. GRE is not very generic on this side. Does GoogleNet have multiple output layers also?

wellarno commented 6 years ago

Well it's output is made by one Pooling-Layer followed by one FC-Layer and a Softmax-activation with the Softmax distributing the output in the end.

I could try my model with AlexNet if GRE fits AlexNet better.

flx42 commented 6 years ago

This code is provided as a demo to help people get started, it was not designed to be a general solution.

Sorry for the very long delay in answering.