Machine Learning Intelligent Chip Design
Homework1 Implementation of AlexNet in SystemC
Description
In this task, you are required to implement the AlexNet convolutional neural network
architecture using SystemC. AlexNet is a seminal deep learning model that achieved
significant breakthroughs in image classification tasks. The network consists of multiple
layers, including convolutional layers, max-pooling layers, and fully connected layers.
Implementation Details
Network Architecture:
You are provided with the network architecture details, including the number of layers,
the size of input and output feature maps, filter sizes, and strides.
Input Data:
Input data for the network will be provided to you. Each input image will have the
appropriate dimensions compatible with the network's input layer.
Weights and Biases:
The weights and biases for each layer of the network will be provided. These parameters
are essential for the convolutional and fully connected layers' computations.
Simulation:
Once you have implemented the network in SystemC and integrated the input data,
weights, and biases, you should simulate the network to obtain the predicted output. This
will involve passing the input data through the network layers, applying convolutional
operations, activation functions, and pooling, followed by fully connected layers, until you
get the final output.
Alexnet Training Model
2
The Pre-trained AlexNet Model Information
Provided Data Description
Values in the pre-train model in Pytorch are floating points with 16 digits after the decimal.
We export these values as txt file for you. Values in these txt files are floating point but
rounded to the sixth decimal place.
Model layer parameters
imagenet_classes.txt
https://gist.github.com/ageitgey/4e1342c10a71981d0b491e1b8227328b
Input Data
dog.txt cat.txt
3
Reference Result
Simulation results of AlexNet executed in Python
Dog
Cat
Simulation results of AlexNet executed in SystemC
Dog
Cat
Implement Notes
The purpose of this assignment is just to make students familiar with SystemC, so as long as
the execution results are correct, we will not restrict how students implement it.
Here are some tips for your reference:
You can use one SC_MODULE to implement the entire module, or implement each layer
with different SC_MODULE.
You can use sc_signal to connect different modules.
We strongly recommend building a monitor module to receive output and print out the
execution results.
4
Submission Guidelines
Please compress a folder named HW<ID>_<studend-ID> into a zip file with the
same name and upload it to E3.
The folder should include:
o Report (Name: HW<ID>_<student ID>.pdf)
o Codes
o Makefile
Example:
You don’t need to upload parameters.
Ensure that your code is well-commented and organized for clarity and
understanding.
Plagiarism is forbidden, otherwise you will get 0 point!!!
Deliverables
SystemC Implementation:
Complete implementation of AlexNet architecture using SystemC.
Report:
A brief report containing
o Simulation results demonstrate the predicted output for the provided input data.
o Your implementation approach, challenges faced, and any observations or insights
gained during the implementation and simulation process.
版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。