\n", - " | class_name | \n", - "image_count | \n", - "
---|---|---|
116 | \n", - "n02085936-Maltese_dog | \n", - "252 | \n", - "
53 | \n", - "n02088094-Afghan_hound | \n", - "239 | \n", - "
111 | \n", - "n02092002-Scottish_deerhound | \n", - "232 | \n", - "
103 | \n", - "n02112018-Pomeranian | \n", - "219 | \n", - "
54 | \n", - "n02107683-Bernese_mountain_dog | \n", - "218 | \n", - "
\n", - " | class_name | \n", - "image_count | \n", - "
---|---|---|
116 | \n", - "maltese_dog | \n", - "252 | \n", - "
53 | \n", - "afghan_hound | \n", - "239 | \n", - "
111 | \n", - "scottish_deerhound | \n", - "232 | \n", - "
103 | \n", - "pomeranian | \n", - "219 | \n", - "
54 | \n", - "bernese_mountain_dog | \n", - "218 | \n", - "
\n", - " | image_count | \n", - "
---|---|
count | \n", - "120.000000 | \n", - "
mean | \n", - "171.500000 | \n", - "
std | \n", - "23.220898 | \n", - "
min | \n", - "148.000000 | \n", - "
25% | \n", - "152.750000 | \n", - "
50% | \n", - "159.500000 | \n", - "
75% | \n", - "186.250000 | \n", - "
max | \n", - "252.000000 | \n", - "
\n", - " | class_name | \n", - "image_count | \n", - "
---|---|---|
33 | \n", - "labrador_retriever | \n", - "3 | \n", - "
23 | \n", - "welsh_springer_spaniel | \n", - "4 | \n", - "
61 | \n", - "great_dane | \n", - "4 | \n", - "
64 | \n", - "curly_coated_retriever | \n", - "4 | \n", - "
100 | \n", - "sussex_spaniel | \n", - "5 | \n", - "
Generally with transfer learning you can get pretty good results quite quickly, however, you may want to look into training for longer (more epochs) as an experiment to see whether your model improves or not. What we've performed is a transfer learning technique called feature extraction, however, you may want to look further into fine-tuning (training the whole model to your own dataset) whole model and using callbacks (functions that take place during model training) such as Early Stopping to prevent the model from training so long its performance begins to degrade.
\n", - "As a potential extension, you may want to try practicing putting all of the steps we've been through so far together. As in, loading the data, creating the model, compiling the model, fitting the model and evaluating the model. That's what I've found is one of the best ways to learn ML problems, replicating a system end to end.\n", - "
\n", - "\n", - " | test_pred_label | \n", - "test_pred_prob | \n", - "test_pred_class_name | \n", - "test_truth_label | \n", - "test_truth_class_name | \n", - "correct | \n", - "
---|---|---|---|---|---|---|
0 | \n", - "0 | \n", - "0.974350 | \n", - "affenpinscher | \n", - "0 | \n", - "affenpinscher | \n", - "True | \n", - "
1 | \n", - "0 | \n", - "0.694450 | \n", - "affenpinscher | \n", - "0 | \n", - "affenpinscher | \n", - "True | \n", - "
2 | \n", - "0 | \n", - "0.993829 | \n", - "affenpinscher | \n", - "0 | \n", - "affenpinscher | \n", - "True | \n", - "
3 | \n", - "44 | \n", - "0.691742 | \n", - "flat_coated_retriever | \n", - "0 | \n", - "affenpinscher | \n", - "False | \n", - "
4 | \n", - "0 | \n", - "0.989754 | \n", - "affenpinscher | \n", - "0 | \n", - "affenpinscher | \n", - "True | \n", - "
\n", - " | test_truth_class_name | \n", - "correct | \n", - "
---|---|---|
10 | \n", - "bedlington_terrier | \n", - "1.000000 | \n", - "
62 | \n", - "keeshond | \n", - "1.000000 | \n", - "
30 | \n", - "chow | \n", - "0.989583 | \n", - "
92 | \n", - "saint_bernard | \n", - "0.985714 | \n", - "
2 | \n", - "african_hunting_dog | \n", - "0.985507 | \n", - "
\n", - " | test_truth_class_name | \n", - "correct | \n", - "
---|---|---|
104 | \n", - "staffordshire_bullterrier | \n", - "0.672727 | \n", - "
76 | \n", - "miniature_poodle | \n", - "0.654545 | \n", - "
90 | \n", - "rhodesian_ridgeback | \n", - "0.638889 | \n", - "
71 | \n", - "malamute | \n", - "0.615385 | \n", - "
101 | \n", - "siberian_husky | \n", - "0.271739 | \n", - "
\n", - " | test_pred_label | \n", - "test_pred_prob | \n", - "test_pred_class_name | \n", - "test_truth_label | \n", - "test_truth_class_name | \n", - "correct | \n", - "
---|---|---|---|---|---|---|
2727 | \n", - "75 | \n", - "0.997043 | \n", - "miniature_pinscher | \n", - "38 | \n", - "doberman | \n", - "False | \n", - "
5480 | \n", - "44 | \n", - "0.995325 | \n", - "flat_coated_retriever | \n", - "78 | \n", - "newfoundland | \n", - "False | \n", - "
6884 | \n", - "54 | \n", - "0.994142 | \n", - "groenendael | \n", - "95 | \n", - "schipperke | \n", - "False | \n", - "
4155 | \n", - "55 | \n", - "0.987126 | \n", - "ibizan_hound | \n", - "60 | \n", - "italian_greyhound | \n", - "False | \n", - "
1715 | \n", - "85 | \n", - "0.984834 | \n", - "pekinese | \n", - "22 | \n", - "brabancon_griffon | \n", - "False | \n", - "