该JavaCnn项目旨在用Java语言构造一个完整的卷积神经网络,实现训练一个手写字符识别模型,并预测。该项目可以帮助我们深入到Cnn的底层原理实现,通过阅读分析该项目代码,既可以提高对Java语言的掌握,也加深了对卷积神经网络的认识。
虽然项目的功能是“识别”,但其本质上,是一个分类的过程。
项目的入口是RunCnn类,Main()函数里开了个定时器,并根据CPU核数分了线程数。// Todo
项目分训练和预测两个模块:
一张图片对应了一个record实例对象,Record类由两个属性组成,数组attrs[]保存一张图片的所有像素值,像素值进行了归一化处理,范围为0~1。
public Record(double[] data)
{
lable = data[data.length-1];
attrs = Arrays.copyOfRange(data, 0, data.length-1);
}
原文:https://www.cnblogs.com/lwp-nicol/p/14823547.html