这是一个专为新手设计的教学项目,用于学习如何将基于NumPy的单环境仿真器改写为基于PyTorch的多环境并行仿真器。
parallel_simulator/
├── README.md # 项目介绍
├── GETTING_STARTED.md # 快速入门指南
├── requirements.txt # 依赖包
├── .gitignore # Git忽略文件
├── numpy_simulator/ # NumPy版本仿真器
│ ├── missile_simulator.py # 单环境导弹仿真器
│ └── example_numpy.py # 使用示例
├── pytorch_simulator/ # PyTorch版本仿真器
│ ├── missile_simulator.py # 多环境并行导弹仿真器
│ └── example_pytorch.py # 使用示例
├── tutorials/ # 教学文档
│ ├── 01_pytorch_basics.md # PyTorch基础知识
│ ├── 01_pytorch_basics.ipynb # PyTorch基础 (Jupyter)
│ ├── 02_tensor_operations.md # 张量操作详解
│ ├── 02_tensor_operations.ipynb # 张量操作 (Jupyter)
│ ├── 03_migration_guide.md # 迁移指南
│ ├── 03_migration_guide.ipynb # 迁移指南 (Jupyter)
│ ├── 04_advanced_examples.md # 高级示例
│ └── 04_advanced_examples.ipynb # 高级示例 (Jupyter)
└── examples/ # 综合示例
├── comparison_demo.py # 性能对比示例
└── visualization.py # 可视化示例
- 基础准备: 先阅读
tutorials/01_pytorch_basics.md了解PyTorch基础 (推荐使用交互式版本.ipynb) - 张量操作: 学习
tutorials/02_tensor_operations.md掌握张量并行化 (推荐使用交互式版本.ipynb) - 单环境仿真器: 理解
numpy_simulator/missile_simulator.py的实现 - 迁移学习: 按照
tutorials/03_migration_guide.md学习迁移过程 (推荐使用交互式版本.ipynb) - 并行仿真器: 学习
pytorch_simulator/missile_simulator.py的实现 - 高级应用: 学习
tutorials/04_advanced_examples.md的高级技术 (推荐使用交互式版本.ipynb) - 实践应用: 运行
examples/中的示例代码
- Markdown文件 (.md): 完整文档,适合阅读和参考
- Jupyter Notebook (.ipynb): 交互式学习,可运行代码和实验
启动Jupyter: jupyter notebook 然后打开 tutorials/ 目录下的 .ipynb 文件
- 安装依赖:
pip install -r requirements.txt- 运行NumPy版本示例:
python numpy_simulator/example_numpy.py- 运行PyTorch版本示例:
python pytorch_simulator/example_pytorch.py- 运行性能对比:
python examples/comparison_demo.py- 理解单环境仿真器与多环境并行仿真器的区别
- 掌握PyTorch张量操作的基本方法
- 学会如何使用张量掩码和条件操作
- 理解向量化计算的优势
- 掌握坐标转换的并行化实现