Tensorflow Assign requires shapes of both tensors to match. lhs shape= [20] rhs shape= [48]
Try deleting any checkpoints that were saved from previous runs. Sometimes when changing the architecture and running again, TF will pick up from the old checkpoint (but with new definition), and you get this error.
I also ran into this problem, the problem was that the labels and class numbers didn't matched so I changed and fix the class number cound and labels everywhere.
In my case it was to change the "num_classes" parameter in the faster_rcnn.config and the "label_map.pbtxt" file to match with the real values.
If deleting checkpoints didn't work, this error is due to dimensions, so chek if the number of classes correspond to the same, as well as the dimensions of the image