uct 是Undergraduate Computing Torch的简写。
欢迎你选择uct作为自己的大实验,在这个大实验中,我们将亲自动手使用C++搭建一个机器学习框架,并完成手写体数据集MNIST的识别。
注意:你不需要获得任何对于神经网络的前置知识,考虑到《大学计算(下)》面向的是本科一年级学生,我们设计了非常详细的实验指导书帮助你完成这个实验。
大型的C++项目显然不止是几个文件,而是成百上千个文件,因此我们需要一个工具来管理这些文件。有很多课程会使用到类似的工具(在《操作系统》课程上,你将会遇见Makefile;在《编译原理》、《并行编译与优化》上,你将会用到CMake),在这里我们选择CMake。
CMake 是一个开源的跨平台构建系统生成工具,广泛用于管理软件构建过程。它通过生成标准的构建文件(如 Makefile、Visual Studio 项目文件等)来简化跨平台项目的构建流程。
对于经验丰富的同学,如果你喜欢使用别的构建工具(例如Bazel)也是可以的~
假如你也正在使用WSL(2),运行下面的命令可以安装好所需要的工具和库
sudo apt update
sudo apt install -y build-essential cmake git gcc g++
首先,你需要在Linux下具备Python环境。相信在《大学计算(上)》中,你已经具备这样的技能。我们以使用WSL+VSCode为例介绍环境配置的具体方案。
在VSCode中连接WSL,打开对应目录。
使用conda创建一个环境(或使用已有环境),然后执行
pip install pybind11
而后,通过pip show pybind11可以找到pybind11的安装路径,将对应的头文件路径添加到.vscode/c_cpp_properties.json的includePath中。