2023 年 3 月 25 - 27 日,作者乘坐美铁加州西风号从旧金山一路到芝加哥,在 56 小时旅程中挑战将神经网络移植到图形计算器上。
- TI 图形计算器背景:TI - 84 Plus CE 有悠久历史,早期使用 Zilog z80 CPU,2013 年升级为 ez80 CPU 等,作者针对此型号开展项目,因其内存足够存储所用神经网络状态。
- 项目前提:多年来想在图形计算器上运行神经网络,过去有多个类似雄心勃勃项目,此项目知道能运行某种神经网络,关键在于能运行多强大的网络,过程中采用现有数据集、网络架构、机器学习框架和“简单”编程语言等,且为测试在计算机上运行效果,将代码编译为可在 Ubuntu 或 TI - 84 Plus CE 上运行。
- 构建工具步骤:大致为创建 Python 类读取 MNIST 数据集文件并写入 TI - 84 Plus CE AppVar 文件,使 PC 端代码能按需从 AppVars 读取训练数据,编译代码使其能在 TI - 84 Plus CE 上运行,解决计算器内存不足导致的段错误,编写自定义内存分配器,切换使用 8bpp 图形和 GRAPHX 文本输出,构建 C++类写入 AppVars 以实现网络状态检查点等。
- 三天的工作内容:第一天专注于 PC 端工具,将 MNIST 数据集转化为可在 TI - 84 Plus CE 上使用的 AppVars,成功运行 PC 端程序并在测试集上达到 94% - 98%准确率;第二天重点使网络在计算器上运行,解决网络状态适配问题,成功在计算器上训练网络;第三天使项目更有用,实现检查点和在计算器上视觉测试模型,网络在测试中准确率达 95%以上,未来工作包括提高速度和允许用户在计算器上直接绘制数字进行识别等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。