13年的夏天,燕京电力大学本学期已经将近尾声。
大部分学生的课程都已经结束,除了少数还没有考完的科目,平时基本上已经无所事事。
就在大部分学生颓废地在宿舍哀嚎为什么学校还不装空调的时候,有两个人正干劲十足,在为两个月后开始的竞赛做准备。
两人已经畅聊了不少,孟繁岐大概为其梳理清楚了基本的概念和认识。
他一直认为,新人接触AI和人工智能,切忌执着于某个局部和概念,容易得不偿失,看了半天还没看懂。
先对整体的原理用浅显的方式,结合生活中常见的场景和概念去理解为好。
随后则先接触一个可以顺利运行的代码例子,跑起一个测试版来,会大大增强自己的自信心,有很强的成就感。
有了兴趣,有了成就感,有了信心,又大概理解了整体的流程和意义。人自然会自发地去探索代码,尝试去理解每个零部件,每个参数的意义和它会产生的影响。
说不定就会有一些奇思妙想。
如此从上而下,方为正道。而不是苦苦啃了几个月的公式,结果来到电脑前一句代码都不会写,根本无从下手。
前段时间,孟繁岐已经将基于阿里克斯的cuda-convnet框架,实现了一个简易版三层神经网络做十分类任务的玩具级版本。
唐璜借此基本熟悉了本次竞赛的第一个任务内容。
孟繁岐便指使他去仔细看一看IMAGENET官方给的数据存放方式,开发工具和使用的方法。
自己则尝试将自己这段时间以来所准备的算法基于该框架实现,但是不太顺利。
其实阿里克斯自己在主页上也意识到了这个问题,他称自己主页对代码的描述是非常不充分的。
而此时非常不完善的生态也进一步地加剧了这个问题,英伟达的CUDA起步不算太久,不同版本之间的代码又需要改动。
孟繁岐更换了几个代码库的版本,结果显卡GTX-690的驱动似乎有哪里不兼容,部分代码的编译也不顺利。他相信这份代码本身是阿里克斯发布出来的比较成熟的版本,不会有什么问题。只是环境和调试上确实是一件麻烦事。
此时的AI技术不能说是小众,但也没有到这种细节问题都随处可查的地步。孟繁岐浏览了一下相关的技术网站,查看了一些相关讨论。
虽然解决了大部分问题,但终究还是剩下了一些。