Do the labels every have multiple classes in them. For example is there any label that is both grass and polish or are the always only one or the other. If some have multiple classes then yes you should use one hot encoding otherwise you do not have to. Also do not use argmax for the output unless you want to see the prediction.