# 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)