PyTorch代写|DNNS Homework1

这是一个美国的PyTorch图像识别Assignment代写,需要生成报告

Write about the applications, and explain the motive of selecting this application in 5-7 sentences.

Explain the dataset, You should mention the size of the dataset, and the type of images of the datasets, and how many
images for the training and for the testing. For Example,CIFAR-10 is a widely used dataset that contains 50,000 RGB
images of 32 × 32 pixels for training and 10,000 for testing with 10 different classes.

What is the model you are using, and the storage cost of every layers. For example, AlexNet neural network model is a
high-capacity model that consists of five convolutional layers and three fully connected layers.

1. Use Netron https://netron.app/ to show the model architecture.
2. Use PyotrchVis https://github.com/szagoruyko/pytorchviz to plot the model architecture.
3. Use tensorboard with pytorch https://pytorch.org/docs/stable/tensorboard.html

import torch
import torchvision
import torch.nn as nn
from torchvision.models import AlexNet

# the model
model = AlexNet()
# Show me how many layers and how many weights in each layer.
model.features[0].weight.numel()
# Changing the last layer to have 10 classes instead of 1000
# –> This is can be call Transfer learning if you used pretrained model
model.classifier[6] = nn.Linear(in_features=4096,out_features=10,bias=True)

# This is to compute the weights for every layer.
model.features[0].weight.numel()

# Use torchSummary library
# install in google Colab
!pip install torchsummary
import torchsummary
# this is will show the summary of the layers
torchsummary.summary(model,(3,224,224))

1. AlexNet model, Explain the model layer by layer, and change input and the output size, the number of the kernel,
the kernel size for each layer and see how this impact the model in term of storage and computation cost.

2. ResNet model, explain the residual connection, and how removing residual connection impact the model in term of
storage and computation cost.

3. MobilNet-V1 model, explain the depth separable convolution layers and replace it with normal convolution and
differentiate between the results using separable convolution and the normal convolution.

1. Train the model using different activation function with learning rate of 3e-4 and 100 epochs as showing in the table

1. To compute the time you can use this code, or you can use the profile from pytorch. (3-5 activation functions)

2. Select different optimizer and train the models with 10, 50, and 100 epochs with a a learning rate of 1e-4 as showing
in Table 2.(3-5 optimizers)

3. Use the Adam optimizer and train the model with different learning rate, 1e-12, 1e-6, 0.1, 1 for 10,50, and 100 epochs
as showing in Table 3. (3-5 learning rate but should be very small 1e-12, medium 1e-3, and large 10)