- 了解深度学习框架及工作流程(Deep Learning Workload)
- 了解在不同硬件和批大小(batch_size)条件下,张量运算产生的开销
-
PyTorch==1.5.0
-
TensorFlow>=1.15.0
-
【可选环境】 单机Nvidia GPU with CUDA 10.0
通过在深度学习框架上调试和运行样例程序,观察不同配置下的运行结果,了解深度学习系统的工作流程。
-
安装依赖包。PyTorch==1.5, TensorFlow>=1.15.0
-
下载并运行PyTorch仓库中提供的MNIST样例程序。
-
修改样例代码,保存网络信息,并使用TensorBoard画出神经网络数据流图。
-
继续修改样例代码,记录并保存训练时正确率和损失值,使用TensorBoard画出损失和正确率趋势图。
-
添加神经网络分析功能(profiler),并截取使用率前十名的操作。
-
更改批次大小为1,16,64,再执行分析程序,并比较结果。
-
【可选实验】改变硬件配置(e.g.: 使用/ 不使用GPU),重新执行分析程序,并比较结果。
硬件环境 | CPU(vCPU数目) | |
GPU(型号,数目) | ||
软件环境 | OS版本 | |
深度学习框架 python包名称及版本 |
||
CUDA版本 | ||
- 模型可视化结果截图
神经网络数据流图 |
|
损失和正确率趋势图 |
|
网络分析,使用率前十名的操作 |
|
- 网络分析,不同批大小结果比较
批大小 | 结果比较 |
1 |
|
16 |
|
64 |
|
-
MNIST样例程序:
代码位置:Lab1/mnist_basic.py
运行命令:
python mnist_basic.py
-
可视化模型结构、正确率、损失值
代码位置:Lab1/mnist_tensorboard.py
运行命令:
python mnist_tensorboard.py
-
网络性能分析
代码位置:Lab1/mnist_profiler.py