通过Vulkan的计算着色器编写LeNet5神经网络,并完成训练和推理的过程,根据YANN LECUN的论文《Gradient-based Learning Applied To Document Recognition》设计的LeNet-5神经网络,C语言写成,不依赖任何第三方库。 MNIST手写字符集训练识别率97%
main.c文件为MNIST数据集的识别DEMO,直接编译即可运行,训练集60000张,测试集10000张。打开项目直接编译即可
ctx: 需要初始化的设备上下文 VkResult CreateDeviceContext(DeviceContext* ctx);
ctx: 需要销毁的设备上下文 void DestroyDeviceContext(DeviceContext* ctx);
ctx: 设备上下文 cache: 训练缓存 batchSize: 批量训练数 VkResult CreateTrainCache(DeviceContext* ctx, TrainCache* cache, const uint32_t batchSize);
ctx: 设备上下文 cache: 训练缓存 void DestroyTrainCache(DeviceContext* ctx, TrainCache* cache);
void LoadModel(DeviceContext* lenet, LeNet5* data);
void SaveModel(DeviceContext* lenet, LeNet5* data);
ctx: 设备上下文 feature: 特征数据 uint32_t Predict(DeviceContext* ctx, Feature* feature);
ctx: 设备上下文 cache: 训练缓存 feature: 参与训练的特征数据 label: 训练的标签 void TrainBatch(DeviceContext* ctx, TrainCache* cache, Feature* feature, uint32_t* label);
内推字节跳动抖音/tiktok图形图像方面的人才,主要岗位有图形引擎开发、算法等,有意者请私信gitee.com/fanwenjie
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。