Model pro binární klasifikaci
Jako praktik v oblasti deep learningu patří trénování modelů pro klasifikaci obrázků k tvým hlavním úkolům. Často se setkáš s binární klasifikací, při které je potřeba rozlišit mezi dvěma třídami. Abys zefektivnil/a svůj pracovní postup a zajistil/a znovupoužitelnost, rozhodl/a ses vytvořit šablonu CNN modelu pro binární klasifikaci obrázků, kterou budeš moct využít v budoucích projektech.
Balíčky torch a torch.nn jsou importovány jako nn. Všechny obrázky mají velikost 64×64 pixelů.
Toto cvičení je součástí kurzu
Deep Learning pro obrázky s PyTorchem
Pokyny k cvičení
- Vytvoř konvoluční vrstvu se 3 vstupními kanály, 16 výstupními kanály, velikostí kernelu 3, krokem 1 a paddingem 1.
- Vytvoř plně propojenou vrstvu se vstupní velikostí 16×32×32 a počtem tříd rovným 1; zadej hodnoty pouze v uvedeném pořadí
(16*32*32, 1). - Vytvoř aktivační funkci
sigmoid.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
class BinaryImageClassifier(nn.Module):
def __init__(self):
super(BinaryImageClassifier, self).__init__()
# Create a convolutional layer
self.conv1 = ____(____)
self.relu = nn.ReLU()
self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
self.flatten = nn.Flatten()
# Create a fully connected layer
self.fc = ____(____)
# Create an activation function
self.sigmoid = ____