nn_dataflow 项目使用教程
1. 项目的目录结构及介绍
nn_dataflow/
├── nn_dataflow/
│ ├── core/
│ │ └── nn_dataflow.py
│ ├── nns/
│ ├── tests/
│ ├── tools/
│ │ └── nn_dataflow_search.py
│ ├── __init__.py
│ ├── gitignore
│ ├── pylintrc
│ ├── travis.yml
│ ├── CHANGELOG.md
│ ├── LICENSE
│ ├── MANIFEST.in
│ ├── README.rst
│ ├── requirements.txt
│ └── setup.py
├── .gitignore
├── pylintrc
├── travis.yml
├── CHANGELOG.md
├── LICENSE
├── MANIFEST.in
├── README.rst
├── requirements.txt
└── setup.py
目录结构介绍
nn_dataflow/core/
: 包含核心代码文件nn_dataflow.py
,负责神经网络数据流调度的实现。nn_dataflow/nns/
: 定义了多个流行的神经网络结构,如 AlexNet、VGG-16、GoogLeNet、ResNet-152 等。nn_dataflow/tests/
: 包含单元测试代码,用于验证工具的正确性。nn_dataflow/tools/
: 包含可执行工具nn_dataflow_search.py
,用于搜索神经网络的最优数据流。__init__.py
: Python 包的初始化文件。gitignore
: Git 忽略文件配置。pylintrc
: Pylint 代码风格检查配置文件。travis.yml
: Travis CI 持续集成配置文件。CHANGELOG.md
: 项目更新日志。LICENSE
: 项目许可证文件。MANIFEST.in
: 打包配置文件。README.rst
: 项目介绍文档。requirements.txt
: 项目依赖库列表。setup.py
: 项目安装脚本。
2. 项目的启动文件介绍
nn_dataflow/tools/nn_dataflow_search.py
该文件是项目的启动文件,用于搜索神经网络的最优数据流。可以通过以下命令运行:
python nn_dataflow/tools/nn_dataflow_search.py -h
该命令将显示详细的使用选项,包括神经网络批量大小、字长、PE 阵列维度、瓦片节点数量、寄存器文件和全局缓冲区容量以及所有组件的能量成本等。
3. 项目的配置文件介绍
requirements.txt
该文件列出了项目运行所需的 Python 依赖库。可以通过以下命令安装这些依赖:
pip install -r requirements.txt
setup.py
该文件是项目的安装脚本,可以通过以下命令安装项目:
pip install .
或者在本地用户安装目录中安装(无需 sudo 权限):
pip install --user -e .
pylintrc
该文件是 Pylint 代码风格检查的配置文件,用于确保代码风格的一致性。
travis.yml
该文件是 Travis CI 持续集成配置文件,用于自动化测试和部署。
LICENSE
该文件是项目的许可证文件,遵循 BSD 许可证。
README.rst
该文件是项目的介绍文档,包含了项目的概述、安装方法、使用说明等信息。