第623章 这框架简直是神器! (第3/3页)
自己都不敢相信。
“这几十行代码,放以前用C语言加CUDA手搓,至少得写大半天,还得调试一整天。”
郭长征凑在屏幕前,反反复复检查了三遍代码逻辑。
“没有手动分配显存,没有显式的数据拷贝,完全是业务逻辑的代码。”
郭长征感叹道:“这框架的抽象能力太强了,所有的脏活累活都在底层被TenSOrFlOW干完了。”
两人开始尝试运行这段代码。
虽然只是输入了一些随机生成的测试数据,但终端里立刻打印出了每一层数据维度的变化,以及最终输出的结果。
完全没有报错。
顺滑。
“这开发效率,太可怕了。”楚一航看着顺利跑通的终端界面。
“有了这个,咱们今晚完全可以把吃饭时构思的那个真正的网络架构给搭出来。”郭长征提议。
“干!”楚一航干劲十足。
两人彻底进入了忘我的状态。
楚一航负责敲代码,郭长征负责在旁边提供理论指导和架构设计。
“这里加一层池化层,文档上说这能降低数据维度,防止过拟合。”郭长征指挥着。
“好,步长设为2,卷积核大小设为3。”楚一航手指翻飞。
“这一层的激活函数换一下,别用原来的了,文档里推荐了一个叫ReLU的函数。”
“ReLU?我找找……有了,一行代码搞定。”
在搭建的过程中,他们也不是一帆风顺。
时不时会遇到一些报错。
比如“张量维度不匹配”这种经典的错误。
但得益于框架清晰的报错提示,他们总能迅速定位到是哪一层的矩阵乘法出了问题。
两个人为了算清楚上一层的输出怎么和下一层的输入对齐,甚至找了张A4纸在桌子上画起了矩阵图。
不知不觉中,时间过得飞快。
楚一航敲击回车,最后一行代码编写完毕。
他们把整个神经网络的模型类封装好了,并且配置好了损失函数和优化器。
楚一航伸了个大大的懒腰,只觉得脖子和后背一阵酸痛。
郭长征也揉了揉酸涩的眼睛。
窗外传来了鸟叫声。
楚一航听到后愣了一下,瞥了一眼屏幕右下角的时间,整个人愣住了。
“郭老师……五点半了。”