As per your requirements, I would suggest that you start with any simple CNN network.
CNNs take advantage of the hierarchical pattern in data and assemble
more complex patterns using smaller and simpler patterns. Therefore,
on the scale of connectedness and complexity, CNNs are on the lower
Here is a Keras example:
model = models.Sequential()
Since this a classification problem you will use a CNN preferably. Then you need to fix an architecture of the CNN like VGGNet or Resnet or Le-net. You can find details on architectures here- Neural Network Architecures. As a beginner you can use VGG 16. You can read about the architecure here- Medium.com blog on VGG 16.
which tools/tutorials i should look ...
After reading your question I can relate it to the Representation Learning papers such as SimCLR and SwAV. These models use a "Big Task agnostic CNN" to obtain smaller representations of the images and then they train another CNN for classification. I suggest you read Big Self-Supervised Models are Strong Semi-Supervised Learners by Ting Chen, ...