Espresso
Checkpoint Report
Zhihao Li (zhihaol) and Zhenrui Zhang (zhenruiz)
Process Review
By far we have implemented a naive CPU and GPU version for the forward path of the neuro network framework. In the first week, we designed the framework according to the achitecture of Caffe and learned Swift programming language and Metal framework. In the second week, we implemented the forward CPU version and tested a few layers. Currently we are implementing the GPU version.
Goals and Deliverables
We started with the goal of training a small neural network using the framework, however, as we learn more about the constraint we have running the framework on mobile devices and the reality of huge memory consumption of common neural networks, we decided to focus on running a trained model rather than actually training them. We will compare the running time, memory cost and energy consumption of the CPU and GPU version in MNIST.
For the next half of the project, we will explore the possibilities to run a compressed model in our framework. Also, we’ll try to support the caffe format models.
In the parallelism competition, we plan to compare the cost of CPU and GPU implementations and demonstrate the MNIST network running with our framework. If time allows, we also want to try running the compressed AlexNet on our framework.
Revised Schedule
Time | What we plan to do | Status |
---|---|---|
April 1 ~ April 7 | Revise proposal, study the design and architecture of Caffe, learn Swift language and Metal API, implement a simple App for testing, design interfaces for espresso | DONE |
April 8 ~ April 14 | Develop and test the CPU version | Finished development, need more thorough testing |
April 15 ~ April 19 | Develop and test the GPU version | Finished development, need testing |
April 20 ~ April 22 | More testing on CPU version and refactor to a better CPU version using Accelerate framework | |
April 23 ~ April 25 | Test the GPU version | |
April 26 ~ April 28 | Run MNIST network(and test our implementations) |
|
April 29 ~ May 3 | Compare the CPU and GPU implementations | |
May 4 ~ May 6 | Run a compressed model trained by Caffe or other common frameworks |
|
May 7 ~ Parallel Competition Day | Write final report and prepare for presentation |