《PyTorch vs TensorFlow:一个考公程序员的深夜实战血泪史》
作者注:本文写于2024年3月17日凌晨2点,窗外下着小雨,老婆在隔壁房间打呼噜。我刚刷完一套行测题,脑子还热乎,顺手写下这段经历。如果你也在边上班边备考,希望这篇能给你一点共鸣——或者至少让你笑出声。
去年十月的一个周五晚上,我正蹲在老家县城出租屋的飘窗上啃泡面(其实是我妈家的老房子,远程办公省了房租,每月白捡3500块,真香!),突然收到前同事阿强的微信:
“兄弟,最近在搞深度学习项目不?我们组要接个政府AI平台的外包,急缺人手,简历发来瞅瞅?”
我心头一震。那会儿我月薪15k,刚决定全职备考公务员,但心里其实虚得一批——毕竟“上岸”这事儿,谁也不敢打包票。万一明年省考又没进面,总得有条退路吧?
于是我回他:“搞啊!不过现在主业是刷行测,副业才是写代码。”
他说:“没事,项目周期两个月,你远程就行。技术栈用PyTorch还是TensorFlow?”
我:“……”
那一刻,我的CPU干烧了。
一、从“Hello World”到“救命啊”
说来惭愧,虽然我在大厂干了三年后端开发,也写过不少调包侠代码,但真要让我在 PyTorch 和 TensorFlow 之间做个选择,我脑子里只有两个词:动态图、静态图。至于哪个更适合这个政府项目的图像分类任务?我连数据集长啥样都不知道!
那天晚上我翻遍了书架——不是电子书,是我从北京寄回老家的实体书堆。最上面那本《动手学深度学习》已经卷边了,旁边还压着《Python深度学习》和《Deep Learning with PyTorch》。三本书,两种框架,我像个渣男一样左右摇摆。
我老婆(当时还是女友)看我抓耳挠腮,递来一杯热牛奶:“你不是说考公就不用碰代码了吗?怎么又折腾上了?”
我苦笑:“这不是……给自己留个Plan B嘛。万一申论又写跑题了呢?”
二、实战对比:不是选框架,是选命
1. 项目启动:PyTorch 的“自由” vs TensorFlow 的“规范”
项目需求很简单:用公开数据集训练一个垃圾分类模型,部署成API供政务APP调用。听起来人畜无害,对吧?
我先试了 PyTorch。
只用了两天,我就把 ResNet50 跑起来了,数据加载、模型定义、训练循环,一气呵成。torchvision.transforms 简直是懒人福音,连数据增强都给你配好了。最关键的是——调试太爽了!断点一打,tensor 随时 print,跟写普通 Python 一样自然。
但问题来了:部署。
客户要求模型必须用 TensorFlow Serving 部署,因为他们的运维团队只熟悉 TF 生态。我当场裂开。
于是我又硬着头皮切到 TensorFlow 2.x。
好消息是,Keras API 现在真的很友好,.fit() 一行搞定训练;坏消息是,一旦你想自定义训练逻辑(比如加个 Focal Loss),就得深入 @tf.function 的坑里。而且那个 eager mode 和 graph mode 切换的逻辑,至今让我头大。
程序员吐槽时间:
PyTorch 像个自由散漫的摇滚青年,想怎么玩就怎么玩;
TensorFlow 则像个穿西装的项目经理,一切按流程走——但流程是你看不懂的 PPT。
2. 书籍救我狗命
那两周,我白天刷行测数量关系,晚上啃《Deep Learning with PyTorch》第6章“Production Deployment”。书里教你怎么用 TorchScript 导出模型,再转成 ONNX,最后塞进 TensorFlow Serving —— 是的,我走了条最绕的路,但居然跑通了!
更绝的是,《动手学深度学习》中文版里有个对比表格,直接列出了两个框架在调试体验、社区支持、部署难度、移动端支持四个维度的打分。我截图发给阿强,他回了个“666”,然后默默把项目文档里的“建议使用TF”改成了“支持多框架”。
3. 算法不是重点,工程能力才是
说实话,这个项目用的算法一点都不 fancy——就是标准的 CNN + Softmax。真正卡住我的,是环境配置、模型版本管理、API 接口兼容性这些脏活。
有一次,我在本地训练好的模型,放到客户的 Docker 容器里精度掉了 5%。排查三天才发现是 OpenCV 版本差异导致图像预处理 RGB/BGR 混乱。那一刻我真想放弃,跑去背申论范文算了。
但转念一想:公务员考试考的是解决问题的能力,写代码不也是?
三、简历上的“小心机”
项目做完后,阿强问我:“要不要更新下简历?这次经历可以包装得很亮眼。”
我犹豫了。毕竟我主业是考公,简历上写太多技术细节,会不会让招录单位觉得“这人不稳定”?
后来我灵机一动,在简历“项目经验”栏这样写:
政务智能分类平台(远程协作)
- 基于深度学习框架(PyTorch/TensorFlow)实现高精度图像识别模型
- 设计可扩展API接口,支持日均10万+请求
- 优化模型推理速度,响应时间<200ms
- 突出跨团队协作与快速学习能力(暗戳戳暗示我能适应体制内多部门协调)
你看,我没吹“精通”,也没写“自研算法”,而是强调落地能力和沟通协作——这两点,无论是互联网大厂还是机关单位,都吃这套。
果然,今年省考资格审查时,一位老科长看到我简历里这段,笑着问我:“小伙子,还会搞AI啊?我们局正好要建智慧城市试点。”
我表面淡定:“略懂略懂”,心里狂喜:原来技术背景也能成为考公加分项!
四、深夜顿悟:框架不重要,解决问题才重要
上周五晚上,我又一次坐在飘窗上(泡面换成了我妈煮的银耳羹),复盘这段经历。
我发现一个真相:纠结 PyTorch 还是 TensorFlow,本质上是在逃避真正的问题。
- 如果你只是想快速验证 idea → 选 PyTorch
- 如果你要部署到生产环境且团队用 TF → 选 TensorFlow
- 如果你像我一样两边都要 → 学会 ONNX 中间表示,当个“框架翻译官”
但更重要的是:别被工具绑架。
深度学习的核心是数据、算法、工程三者的平衡,而不是某个框架的 API 多酷。
就像考公一样——
有人迷信“晨读30分钟必进面”,有人死磕“申论抄材料就能高分”,但真正上岸的人,往往是那些根据自身情况调整策略的家伙。
五、给同样“骑驴找马”的你几点建议
别把技术当信仰,当工具
框架会过时,但解决问题的能力不会。你现在学的 PyTorch,可能三年后没人用了,但调试思路、工程思维会跟着你一辈子。简历要“可解释”
别堆砌术语。HR 或招考官可能不懂什么是 “Transformer”,但听得懂“提升效率30%”、“节省成本50万”。保留Plan B,但别让它消耗你
我接这个项目,不是为了跳槽,而是为了让自己在备考焦虑时,有个“我还能靠技术吃饭”的底气。这种安全感,比涨薪5k还珍贵。多读实体书,少刷短视频
视频教程适合入门,但系统性知识还得靠书。《动手学深度学习》这本书,我翻烂了,每次重读都有新收获。
最后:关于“上岸”的另一种理解
很多人觉得,考上公务员就叫“上岸”——仿佛之前的人生都是在水里扑腾。
但我想说:真正的岸,是内心的笃定。
无论是写代码还是写申论,无论是用 PyTorch 还是 TensorFlow,只要你清楚自己在解决什么问题、为什么而做,你就已经在岸上了。
我现在每天的生活节奏是:
早上6点背时政,
上午刷行测,
下午研究历年真题,
晚上——如果心情好,就打开 Jupyter Notebook,跑个小小的 LSTM 预测明天天气(顺便练手)。
老婆说我魔怔了,又考公又搞AI。
我说:“这叫两手准备,两手都硬。”
她白了我一眼:“你硬的只有键盘吧。”
……
好吧,我闭嘴了。
祝大家都能找到自己的“岸”——不管它在体制内,还是在GPU集群里。
P.S. 如果这篇文章对你有帮助,欢迎点赞转发。当然,如果你有更好的考公+技术结合经验,评论区聊聊?说不定咱们还能组个“上岸突击队” 😉

评论 0